Password Breach Checker API

POST

Check whether a password has leaked in a known data breach.

Password Breach Checker tells you whether a password appears in the Pwned Passwords corpus of passwords exposed in data breaches. Send the password or its SHA-1 hash and get a breached flag. Paid plans add how many times it was seen and a risk level.

Try it — live request, no key required

Request
POSTapi.apiverve.com/v1/passwordbreach
Verification
Format

No key required to try it. Get a key to use it in your app.

Example
{
  "status": "ok",
  "error": null,
  "data": {
    "breached": true,
    "breachCount": 2266543,
    "riskLevel": "critical",
    "inputType": "password",
    "hashPrefix": "CBFDA"
  }
}

About the Password Breach Checker API

The password is hashed with SHA-1 on our side and only the first 5 characters of the hash are sent to the Pwned Passwords range API, with response padding on, so the password itself never leaves the request. It is not logged, stored or returned. You can also send the SHA-1 yourself so the plain password never reaches us.

What people use it for

Sign-Up and Password Change
Reject or warn on passwords that have appeared in breaches when a user creates an account or changes their password, as NIST SP 800-63B recommends.
Login Risk Scoring
Flag accounts whose current password is known to be breached and prompt a reset before credential stuffing finds them.
Password Audits
Check stored SHA-1 hashes from a legacy system against the breach corpus without handling plain passwords.
Password Managers
Mark saved passwords that have leaked so users know which ones to change first.

Ways to call it

One endpoint, many ways in — REST with JSON, XML, YAML and CSV, plus GraphQL and an MCP interface for AI agents.

JSON
Default REST response
XML
Markup format
YAML
Human-readable
CSV
Tabular export
Beta
GraphQL
Query language
New
MCP
For AI agents

Other ways to use Password Breach Checker

Same data, same APIVerve account, same credit balance — one key works on all of them.

Questions.

Common questions about the Password Breach Checker API.

Read the docs →
How many password checks does the Starter plan cover?
Starter covers 40,000 password checks each month. At 5 credits per request, that works out to $0.75 per 1,000 checks, or about $0.00075 per check. The Free plan includes 40 checks per month for testing.
What does the Free plan return?
The Free plan returns whether the password has been breached, the input type and the 5-character hash prefix that was looked up. Paid plans add breachCount, the number of times the password appears in the corpus, and a riskLevel bracket.
Is my password sent to a third party?
No. The password is hashed with SHA-1 and only the first 5 characters of that hash are sent to the Pwned Passwords range API, which returns every hash that shares the prefix. The match is made on our side, and the password is never logged, stored or returned.
Can I check a hash instead of the plain password?
Yes. Send hash with the 40-character hex SHA-1 of the password instead of password, and the plain text never reaches us. Hashes are not case sensitive.
How are the risk levels defined?
riskLevel is none when the password was not found, low for 1 to 9 sightings, medium for 10 to 999, high for 1,000 to 99,999 and critical for 100,000 or more.

Ready to build with Password Breach Checker? Start with 200 free credits — one key unlocks all 300+ APIs.

Explore the catalog

300+ APIs on the same key and the same response shape.

Browse all APIs