Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Check email/username against HIBP v3 breach database
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | 83% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 152% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -17% | 0% |
| case-14 | ✗→✓ | ▲ Improved | 76% | 0% |
| case-17 | ✗→✓ | ▲ Improved | 17% | 0% |
Look up whether an email address has appeared in any publicly known data breaches. Uses the Have I Been Pwned v3 API.
Requires: HIBP_API_KEY in .env — $3.50/month subscription at haveibeenpwned.com/API/Key
powershell$email = "user@example.com" $key = $env:HIBP_API_KEY $url = "https://haveibeenpwned.com/api/v3/breachedaccount/$([Uri]::EscapeDataString($email))?truncateResponse=false" $result = Invoke-RestMethod -Uri $url -Headers @{ "hibp-api-key" = $key } -ErrorAction SilentlyContinue if ($null -eq $result) { Write-Host "✅ $email was NOT found in any known data breaches." } else { Write-Host "⚠️ $email found in $($result.Count) breach(es):" $result | ForEach-Object { Write-Host " • $($_.Name) ($($_.BreachDate)) — $($_.DataClasses -join ', ')" } }
powershell$email = "user@example.com" $key = $env:HIBP_API_KEY $url = "https://haveibeenpwned.com/api/v3/pasteaccount/$([Uri]::EscapeDataString($email))" $result = Invoke-RestMethod -Uri $url -Headers @{ "hibp-api-key" = $key } -ErrorAction SilentlyContinue if ($null -eq $result) { Write-Host "✅ No paste exposures found for $email" } else { Write-Host "Found in $($result.Count) paste(s):" $result | Select-Object Source, Title, Date | Format-Table }
powershell$key = $env:HIBP_API_KEY $emails = Get-Content "emails.txt" foreach ($email in $emails) { Start-Sleep -Milliseconds 1600 # respect 1 req/1.5s rate limit $url = "https://haveibeenpwned.com/api/v3/breachedaccount/$([Uri]::EscapeDataString($email))" $res = Invoke-RestMethod -Uri $url -Headers @{ "hibp-api-key" = $key } -ErrorAction SilentlyContinue $status = if ($res) { "PWNED ($($res.Count) breaches)" } else { "Clean" } Write-Host "$email — $status" }
"Check if test@example.com has been in any breaches" → Run the single-email check above with that address.
"Was my email leaked in the Adobe breach?" → Run the single check; then filter: $result | Where-Object Name -eq 'Adobe'
"Check all emails in a file for breaches" → Use the bulk check snippet — it respects the 1.5s rate limit automatically.
Start-Sleep -Milliseconds 1600 in loopsInvoke-RestMethod -ErrorAction SilentlyContinue handles this silently/range/{hash5} endpoint — no API key requiredHIBP_API_KEY — subscribe at https://haveibeenpwned.com/API/Key ($3.50/month)Other measured skills in the registry, with their headline benchmark lift.