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

# Reverse Email Lookup

<Card title="First time? Set up Authentication" icon="key" iconType="duotone" horizontal href="/api/v2/general/authentication">
  Learn how to authenticate your API requests with your API key.
</Card>

Get the full Person and Company profile from an email. This endpoint works with:

* Work emails
* Personal emails

If we find who's behind the email, **1** credit will be used.

<Card title="How Do Webhooks Work? [Recommended Read] " icon="webhook" iconType="duotone" horizontal href="/api/v2/general/webhooks">
  Learn how to receive results in real-time, set up per-contact webhooks, and track requests with custom fields.
</Card>


## OpenAPI

````yaml api/v2/reference/openapi.yml POST /contact/reverse/email/bulk
openapi: 3.1.0
info:
  title: FullEnrich API Documentation
  version: 2.0.0
  description: >
    FullEnrich API enables you to enrich B2B contacts with emails and phone
    numbers using data from 20+ providers.


    We are GDPR and CCPA compliant.
servers:
  - url: https://app.fullenrich.com/api/v2
security: []
paths:
  /contact/reverse/email/bulk:
    post:
      summary: Reverse Contact Lookup In Bulk
      operationId: postContactBulkReverseEmail
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RequestPostContactBulkReverseEmail'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponsePostContactBulkReverseEmail'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                ReverseEmailInvalid:
                  value:
                    code: error.reverse.email.invalid
                    message: Email is invalid
                ReverseEmailNotSet:
                  value:
                    code: error.reverse.email.empty
                    message: Email cannot be empty
                WebhookURLInvalid:
                  value:
                    code: error.enrichment.webhook_url
                    message: Webhook URL must be start with http or https
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                AuthorizationHeaderNotSet:
                  value:
                    code: error.authorization.not_set
                    message: Authorization headers not set
                AuthorizationHeaderNotAnBearer:
                  value:
                    code: error.authorization.not_bearer
                    message: Authorization headers do not have prefix 'bearer'
                UnknownApiKey:
                  value:
                    code: error.api.key
                    message: Unknown api key
      security:
        - BearerAuth: []
components:
  schemas:
    RequestPostContactBulkReverseEmail:
      type: object
      properties:
        name:
          type: string
          description: A readable name for this reverse lookup (visible in your dashboard)
          example: Reverse Lookup Batch 1
        webhook_url:
          type: string
          description: >-
            URL that will receive a POST request when the entire reverse lookup
            is finished (all emails processed).
          example: https://example.com/webhook
        webhook_events:
          type: object
          description: Optional webhook URLs for specific events during reverse lookup
          properties:
            contact_finished:
              type: string
              description: >-
                URL that receives a POST request each time a single email is
                processed, without waiting for the entire batch to complete.
              example: https://example.com/webhook/contact
        data:
          type: array
          items:
            type: object
            properties:
              email:
                type: string
                description: Email address to perform reverse lookup on
                example: john.snow@example.com
              custom:
                type: object
                description: >-
                  Custom fields returned in the result (max 10 keys, 100 chars
                  per value)
                example:
                  user_id: '12584'
            required:
              - email
          example:
            - email: john.snow@example.com
              custom:
                user_id: '12584'
      required:
        - name
        - providers
        - data
    ResponsePostContactBulkReverseEmail:
      type: object
      properties:
        enrichment_id:
          type: string
          format: uuid
          examples:
            - 2db5ea61-1752-42cf-8ea1-ab1da060cd0a
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string

````