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

# Find a person's work email

> **Cost:** 10 credits when a work email is found that your account has not accessed before. Other outcomes, and repeated lookups of an email you already accessed, do not consume credits.

Resolves the work email address of a person on a company domain.

When `domain` is omitted, the domains of the person's current companies are tried in seniority order. When `domain` is provided, it must belong to one of the person's companies.

The response has a `status` of `found`, `not-found`, `unavailable`, or `pending`. `email` is included only when `status` is `found`. A `pending` lookup is still running; retry the request later to get its outcome.



## OpenAPI

````yaml openapi/v2.json GET /v2/people/{personId}/email
openapi: 3.0.4
info:
  title: Company Enrich API v2
  description: >-
    The Company Enrich API v2 provides programmatic access to company and person
    data for enrichment, search, and lead generation.


    ## Key Features


    - **Company Enrichment** — Enrich company profiles by domain or identifying
    properties, and retrieve stored companies by ID.

    - **Company Search** — Search and filter companies with cursor pagination,
    counts, and previews.

    - **Semantic and Lookalike Search** — Find companies using natural-language
    queries or similar company domains.

    - **People Enrichment** — Retrieve people by ID, identify people from their
    email address, and find work email addresses.

    - **People Search** — Search people by position, seniority, department,
    location, education, and company with cursor pagination, counts, and
    previews.

    - **Reference Data** — Look up industries, geographic data, keywords,
    technologies, and job titles.


    V2 intentionally excludes saved company lists, list-based exports, and
    filtering searches by saved-list IDs. These features remain available in V1
    and are not planned for V2.


    ## Authentication


    All API requests require a Bearer token passed in the `Authorization`
    header:


    ```

    Authorization: Bearer YOUR_API_TOKEN

    ```


    You can generate API tokens from your
    [dashboard](https://companyenrich.com/dashboard).


    ## Credits


    Most API calls consume credits. The credit cost for each endpoint is
    documented in its description. You can check your remaining credit balance
    using the User endpoint.


    ## Rate Limiting


    The global API limiter allows **500 requests per minute** per IP address.
    Authenticated API routes also use a per-user route limiter based on plan
    capabilities.

    Supplementary lookup endpoints (such as keyword/technology/industry
    autocompletes) use a separate per-user route-level bucket.
  termsOfService: https://companyenrich.com/terms-and-conditions
  contact:
    url: https://companyenrich.com/
    email: support@companyenrich.com
  version: 2.0.0
servers:
  - url: https://api.companyenrich.com
security:
  - Bearer: []
tags:
  - name: Company / Enrichment
    description: >-
      Enrich company data by domain, properties, or in batch. Get company
      details by ID.
  - name: Company / Bulk Enrichment
    description: >-
      Create and manage asynchronous bulk enrichment jobs for large domain
      lists.
  - name: Company / Search
    description: Search companies by filters with pagination and cursor scrolling.
  - name: People / Search
    description: >-
      Search people by various criteria with page-based or cursor-based
      pagination.
  - name: People / Enrichment
    description: >-
      Resolve work email addresses for individual people in realtime or
      background jobs.
  - name: Geo
    description: >-
      Endpoints for looking up geographic data including regions, countries,
      states, and cities.
  - name: Industries
    description: >-
      Endpoints for listing available industry classifications used in company
      search filters.
  - name: Keywords
    description: Endpoints for looking up keywords used in company search filters.
  - name: Technologies
    description: Endpoints for looking up technologies used in company search filters.
  - name: User
    description: >-
      Endpoints for retrieving information about the authenticated user,
      including credit balance and account details.
  - name: Positions
    description: Endpoints for looking up job positions and titles.
paths:
  /v2/people/{personId}/email:
    get:
      tags:
        - People / Enrichment
      summary: Find a person's work email
      description: >-
        **Cost:** 10 credits when a work email is found that your account has
        not accessed before. Other outcomes, and repeated lookups of an email
        you already accessed, do not consume credits.


        Resolves the work email address of a person on a company domain.


        When `domain` is omitted, the domains of the person's current companies
        are tried in seniority order. When `domain` is provided, it must belong
        to one of the person's companies.


        The response has a `status` of `found`, `not-found`, `unavailable`, or
        `pending`. `email` is included only when `status` is `found`. A
        `pending` lookup is still running; retry the request later to get its
        outcome.
      parameters:
        - name: personId
          in: path
          description: The CompanyEnrich ID of the person
          required: true
          schema:
            type: integer
            format: int64
        - name: domain
          in: query
          description: >-
            The company domain to resolve the email address on. When omitted,
            the domains of the person's current companies are tried in seniority
            order.
          schema:
            maxLength: 1024
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PersonEmailV2Response'
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '402':
          description: Payment Required
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    PersonEmailV2Response:
      required:
        - personId
        - domain
        - status
      type: object
      properties:
        personId:
          type: integer
          description: The CompanyEnrich ID of the person
          format: int64
        domain:
          type: string
          description: >-
            The company domain the result belongs to. When `domain` is omitted
            from the request, this is the domain of the selected lookup.
        status:
          $ref: '#/components/schemas/PersonEmailLookupStatus'
        email:
          type: string
          description: The work email address. Included only when `status` is `found`.
          nullable: true
        certainty:
          $ref: '#/components/schemas/NullableOfPersonEmailCertainty'
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
    HttpValidationProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    PersonEmailLookupStatus:
      enum:
        - found
        - not-found
        - unavailable
        - pending
      description: The outcome of the email lookup
    NullableOfPersonEmailCertainty:
      enum:
        - unknown
        - medium
        - high
        - very-high
        - null
      description: >-
        How certain the email address is. Included only when `status` is
        `found`.
      nullable: true
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        API Token used for authentication. Example: "Authorization: Bearer
        {token}"
      name: Authorization
      in: header
      x-bearer-format: bearer

````

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