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.
openapi: 3.0.3
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:
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
schemas:
Error:
type: object
properties:
statusCode:
type: integer
message:
type: string
required:
- statusCode
- message
description: Standard error response returned by most authenticated HIBP APIs.
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