Have I Been Pwned Breacheddomain API
The Breacheddomain API from Have I Been Pwned — 1 operation(s) for breacheddomain.
The Breacheddomain API from Have I Been Pwned — 1 operation(s) for breacheddomain.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/have-i-been-pwned-breacheddomain-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Have I Been Pwned API v3 Breach Breacheddomain API
description: Version 3 of the Have I Been Pwned API. Authenticated APIs for breaches by account, pastes, domain search, domain verification, stealer logs, and subscription status require both the hibp-api-key and user-agent headers. Availability varies by subscription tier and is noted per operation. The Pwned Passwords range API is free and does not require authentication.
version: 3.0.0
license:
name: Creative Commons Attribution 4.0 International
url: https://creativecommons.org/licenses/by/4.0/
servers:
- url: https://haveibeenpwned.com/api/v3
description: HIBP API v3 server
- url: https://api.pwnedpasswords.com
description: Pwned Passwords k-Anonymity API (no authentication required)
tags:
- name: Breacheddomain
paths:
/breacheddomain/{domain}:
servers:
- url: https://haveibeenpwned.com/api/v3
get:
summary: Get all breached email addresses for a domain
description: Available on Core and Pro subscriptions. Returns all breached email aliases on a verified domain and the breach names they have appeared in. The domain must already have been added to the domain search dashboard and successfully verified. Sensitive breaches are returned because this API is only available after domain control has been demonstrated.
parameters:
- $ref: '#/components/parameters/UserAgent'
- name: domain
in: path
required: true
schema:
type: string
description: The domain to be searched for. Must be a verified domain in the domain search dashboard.
security:
- HibpApiKey: []
responses:
'200':
description: Mapping of email aliases to breach names. For each breached email address on the domain, only the alias is returned along with each breach it has appeared in. Only the name attribute of the breach is returned.
content:
application/json:
schema:
type: object
additionalProperties:
type: array
items:
type: string
example:
alias1:
- Adobe
alias2:
- Adobe
- Gawker
- Stratfor
alias3:
- AshleyMadison
'400':
description: Bad request — invalid domain format
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized — the hibp-api-key header was missing, malformed, or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: Forbidden — no user agent has been specified in the request, the domain has not been verified in the domain search dashboard, or the current subscription is out of scope for the domain size or monitored-domain count.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Not found — the domain does not have any email addresses in any breaches
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'429':
description: Too many requests — the rate limit has been exceeded. Typically, there is no need to query a domain unless a new breach has been added since the last query.
headers:
Retry-After:
description: Seconds until retry
schema:
type: integer
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'503':
description: Service unavailable
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
x-hibp-subscription-tiers:
- Core
- Pro
tags:
- Breacheddomain
components:
schemas:
Error:
type: object
properties:
statusCode:
type: integer
message:
type: string
required:
- statusCode
- message
description: Standard error response returned by most authenticated HIBP APIs.
parameters:
UserAgent:
name: user-agent
in: header
required: true
description: User agent string identifying the consuming application. Required on all documented requests, including unauthenticated endpoints; missing user agents may receive HTTP 403 responses.
schema:
type: string
securitySchemes:
HibpApiKey:
type: apiKey
in: header
name: hibp-api-key
description: HIBP API key passed in the hibp-api-key header. Paid APIs require a 32-character hexadecimal value. On supported test-only endpoints, any 32-character hexadecimal value can be used as a test key for the hibp-integration-tests.com domain.
externalDocs:
description: Full API documentation and acceptable use policy
url: https://haveibeenpwned.com/API/v3