> ## Documentation Index
> Fetch the complete documentation index at: https://docs.finowl.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Check an email

> Returns every known public breach that included this email address, from Finowl
intelligence.

Costs **1 credit**.




## OpenAPI

````yaml /api-reference/openapi.yaml post /v1/breaches/email
openapi: 3.1.0
info:
  title: Finowl API
  version: '1.0'
  description: >
    Check emails and passwords against known data breaches, and predict gender
    from

    names, emails and usernames. Every endpoint is a JSON `POST` authenticated
    with a

    bearer API key.
servers:
  - url: https://api.finowl.co
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Breaches
    description: Check whether an email or password appears in known data breaches.
  - name: Gender
    description: >-
      Predict gender from a name, email or username, one at a time or in
      batches.
paths:
  /v1/breaches/email:
    post:
      tags:
        - Breaches
      summary: Check an email
      description: >
        Returns every known public breach that included this email address, from
        Finowl

        intelligence.


        Costs **1 credit**.
      operationId: checkEmailBreaches
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              required:
                - email
              properties:
                email:
                  type: string
                  format: email
                  maxLength: 254
                  description: >-
                    The email address to check. Leading and trailing spaces are
                    removed.
                  example: alex.morgan@example.com
      responses:
        '200':
          description: >-
            The check completed. `breached` is `false` and `breaches` is empty
            when nothing was found.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailBreachResult'
              examples:
                breached:
                  summary: Email found in breaches
                  value:
                    email: alex.morgan@example.com
                    breached: true
                    breaches:
                      - Name: Adobe
                        Title: Adobe
                        Domain: adobe.com
                        BreachDate: '2013-10-04'
                        AddedDate: '2013-12-04T00:00:00Z'
                        ModifiedDate: '2022-05-15T23:52:49Z'
                        PwnCount: 152445165
                        Description: >-
                          In October 2013, 153 million Adobe accounts were
                          breached...
                        DataClasses:
                          - Email addresses
                          - Password hints
                          - Passwords
                          - Usernames
                        IsVerified: true
                        IsFabricated: false
                        IsSensitive: false
                        IsRetired: false
                        IsSpamList: false
                        IsMalware: false
                clean:
                  summary: No breaches found
                  value:
                    email: someone@example.com
                    breached: false
                    breaches: []
        '400':
          $ref: '#/components/responses/InvalidInput'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '502':
          $ref: '#/components/responses/ProviderFailed'
        '503':
          $ref: '#/components/responses/Unavailable'
        '504':
          $ref: '#/components/responses/Unconfirmed'
components:
  schemas:
    EmailBreachResult:
      type: object
      required:
        - email
        - breached
        - breaches
      properties:
        email:
          type: string
          description: The email address that was checked.
        breached:
          type: boolean
          description: '`true` when at least one breach was found.'
        breaches:
          type: array
          description: Every breach that included this email. Empty when nothing was found.
          items:
            $ref: '#/components/schemas/Breach'
    Breach:
      type: object
      description: >
        A breach record from Finowl intelligence. New fields may be added at any
        time, so ignore

        fields you do not recognize.
      additionalProperties: true
      properties:
        Name:
          type: string
          description: Stable identifier for the breach.
        Title:
          type: string
          description: Human-readable breach title.
        Domain:
          type: string
          description: Domain of the breached service. May be empty.
        BreachDate:
          type: string
          format: date
          description: When the breach happened.
        AddedDate:
          type: string
          format: date-time
          description: When the breach was added to the dataset.
        ModifiedDate:
          type: string
          format: date-time
        PwnCount:
          type: integer
          description: Number of accounts in the breach.
        Description:
          type: string
          description: >-
            HTML description of the breach. Treat it as untrusted and sanitize
            it before rendering.
        DataClasses:
          type: array
          items:
            type: string
          description: The kinds of data exposed, such as `Passwords` or `Phone numbers`.
        IsVerified:
          type: boolean
        IsFabricated:
          type: boolean
        IsSensitive:
          type: boolean
        IsRetired:
          type: boolean
        IsSpamList:
          type: boolean
        IsMalware:
          type: boolean
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - code
          properties:
            code:
              type: string
              description: >-
                A stable, machine-readable error code. See the Errors page for
                the full list.
              example: invalid_input
  responses:
    InvalidInput:
      description: The request body is not valid. Fix the request before trying again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: invalid_input
    Unauthorized:
      description: The API key is missing, malformed or revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: unauthorized
    TooManyRequests:
      description: >
        `rate_limited` (too many requests this minute), `quota_exceeded` (not
        enough credits) or

        `provider_rate_limited` (Finowl intelligence is busy). Check the
        `Retry-After` header.
      headers:
        Retry-After:
          description: Seconds to wait before trying again.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: rate_limited
    ProviderFailed:
      description: >-
        Finowl intelligence could not complete the lookup. The request was
        charged.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: provider_unavailable
    Unavailable:
      description: Finowl intelligence is temporarily unavailable.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: provider_unavailable
    Unconfirmed:
      description: >-
        Finowl intelligence did not answer in time. The lookup may or may not
        have run, and the request was charged.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error:
              code: provider_response_unconfirmed
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        Your Finowl API key, for example `finowl_3f9a...`. Create keys in the
        dashboard under **API Keys**.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.