openapi: 3.0.3 info: title: Have I Been Pwned API v3 Breach Stealerlogsbyemail 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: Stealerlogsbyemail paths: /stealerlogsbyemail/{email}: servers: - url: https://haveibeenpwned.com/api/v3 get: summary: Get all stealer log domains for an email address description: Available on Pro subscriptions. Searches stealer-log data by the full email address captured by an info stealer. The email address must be on a domain already added to the domain search dashboard and successfully verified. The current subscription must include stealer-log access. parameters: - $ref: '#/components/parameters/UserAgent' - name: email in: path required: true schema: type: string description: URL-encoded email address to search for stealer logs. Must be on a verified domain in the domain search dashboard. security: - HibpApiKey: [] responses: '200': description: List of website domains sorted alphabetically where this email address appeared in stealer logs content: application/json: schema: type: array items: type: string example: - netflix.com - spotify.com '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 email domain has not been verified for this subscription, or the current subscription product does not include access to stealer logs. content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found — there are no stealer logs for that email address. content: application/json: schema: $ref: '#/components/schemas/Error' '429': description: Too many requests — the rate limit has been exceeded. headers: Retry-After: description: Seconds until retry (rounded up to the next whole second) schema: type: integer content: application/json: schema: $ref: '#/components/schemas/Error' example: statusCode: 429 message: Rate limit is exceeded. Try again in 2 seconds. '503': description: Service unavailable — usually returned by Cloudflare if the underlying service is not available. content: application/json: schema: $ref: '#/components/schemas/Error' x-hibp-subscription-tiers: - Pro tags: - Stealerlogsbyemail 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