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

# Reverse email lookup

> Find the person behind an email address, professional or personal.

**Credits:** 1 credit per match. You are only charged when a person is found — an email that matches nobody costs nothing and returns `{"data": null, "message": "No lead found"}` with a `200`.

On a match, the response is the same profile payload as [Enrich people](/api-reference/endpoints/leads/single) (database mode): name, headline, LinkedIn URLs, current position, positions, location and company. It does not include contact data.



## OpenAPI

````yaml POST /contacts/reverse_lookup
openapi: 3.0.1
info:
  title: Pipecorn Leads API
  description: Pipecorn Accounts API
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://app.pipecorn.com/api/v2/
security:
  - defaultApiKey: []
paths:
  /contacts/reverse_lookup:
    post:
      summary: Reverse email lookup
      description: >-
        Find the person behind an email address, professional or personal.


        **Credits:** 1 credit per match. You are only charged when a person is
        found — an email that matches nobody costs nothing and returns `{"data":
        null, "message": "No lead found"}` with a `200`.


        On a match, the response is the same profile payload as [Enrich
        people](/api-reference/endpoints/leads/single) (database mode): name,
        headline, LinkedIn URLs, current position, positions, location and
        company. It does not include contact data.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                email:
                  type: string
                  format: email
                  description: >-
                    Email address to look up, professional or personal.
                    Case-insensitive.
                  example: mathieu@prontohq.com
              required:
                - email
      responses:
        '200':
          description: >-
            The person holding this email, or `{"data": null, "message": "No
            lead found"}` when nobody matches
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LeadEnrichment'
        '400':
          description: '`email` is missing or is not a valid email address'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: >-
            Not enough enrichment credits for the 1-credit lookup. Returned
            before any lookup runs, so nothing is spent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InsufficientCreditsError'
              example:
                error: Not enough enrichment credits left
                code: insufficient_credits
                top_up_url: https://app.pipecorn.com/settings/subscriptions/credits
        '403':
          description: >-
            The workspace weekly enrichment credit limit is reached. Buying
            credits does not lift it, so no `top_up_url` is returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceLimitError'
              example:
                error: >-
                  You have reached your weekly enrichment credit limit for this
                  workspace
                code: workspace_limit_exceeded
components:
  schemas:
    LeadEnrichment:
      type: object
      properties:
        first_name:
          type: string
          description: First name of the lead
        last_name:
          type: string
          description: Last name of the lead
        title:
          type: string
          description: Current job title
        linkedin_profile_url:
          type: string
          format: uri
          description: URL to the lead's LinkedIn profile
        linkedin_id_url:
          type: string
          format: uri
          description: >-
            Internal-URN LinkedIn profile URL, derived from `regular_urn`
            (`https://www.linkedin.com/in/<ACo…>`). Stable across vanity-URL
            changes.
          nullable: true
        regular_urn:
          type: string
          description: LinkedIn regular URN identifier
          nullable: true
        lk_headline:
          type: string
          description: LinkedIn headline
        lk_connections_count:
          type: integer
          description: Number of LinkedIn connections
        years_in_position:
          type: integer
          nullable: true
          description: Number of years in current position
        months_in_position:
          type: integer
          nullable: true
          description: Number of months in current position
        years_in_company:
          type: integer
          nullable: true
          description: Number of years in current company
        months_in_company:
          type: integer
          nullable: true
          description: Number of months in current company
        current_position:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/LeadPosition'
          description: >-
            The current role. Also the first entry of `positions`, where it
            carries `current: true`.
        positions:
          type: array
          description: The person's role history.
          items:
            $ref: '#/components/schemas/LeadPosition'
        title_description:
          type: string
          description: Description of the current title/role
        summary:
          type: string
          nullable: true
          description: Profile summary
        full_name:
          type: string
          description: Full name of the lead
        sales_navigator_profile_url:
          type: string
          nullable: true
          format: uri
          description: >-
            Sales Navigator profile URL, derived from the person's Sales
            Navigator (`ACw…`) key when the people database holds one
        linkedin_url:
          type: string
          format: uri
          description: Public LinkedIn profile URL, falling back to the internal-URN URL
          example: https://www.linkedin.com/in/mathieu-brun-picard
        location:
          type: string
          description: Where the person is based
          example: San Francisco Bay Area
        num_of_followers:
          type: integer
          nullable: true
          description: LinkedIn follower count
          example: 7880
        initials:
          type: string
          nullable: true
          description: Initials of the person
          example: MB
        previous_position:
          nullable: true
          allOf:
            - $ref: '#/components/schemas/LeadPosition'
          description: The role held before the current one.
        urn:
          type: string
          nullable: true
          description: LinkedIn Sales Navigator URN identifier
        start_date_job:
          type: string
          format: date
          nullable: true
          description: >-
            Start date in the current position. Pipecorn's people database holds
            a single current-role start date and no separate company start, so
            this matches `start_date_company`.
        start_date_company:
          type: string
          format: date
          nullable: true
          description: Start date at the current company. See `start_date_job`.
      description: >-
        Enriched person. Any field Pipecorn's people database does not hold for
        this person is returned as `null`.
    Error:
      required:
        - error
        - message
      type: object
      properties:
        error:
          type: integer
          format: int32
        message:
          type: string
    InsufficientCreditsError:
      required:
        - error
        - code
        - top_up_url
      type: object
      properties:
        error:
          type: string
          description: >-
            Human-readable message. Endpoints priced per result report the
            shortfall instead, e.g. "Not enough enrichment credits. You need 30
            credits but only have 5 available."
          example: Not enough enrichment credits left
        code:
          type: string
          enum:
            - insufficient_credits
          description: Machine-readable error code
        top_up_url:
          type: string
          format: uri
          description: >-
            Absolute URL of the credits page. Buy credits there, then replay the
            request.
          example: https://app.pipecorn.com/settings/subscriptions/credits
    WorkspaceLimitError:
      required:
        - error
        - code
      type: object
      properties:
        error:
          type: string
          example: >-
            You have reached your weekly enrichment credit limit for this
            workspace
        code:
          type: string
          enum:
            - workspace_limit_exceeded
          description: >-
            Machine-readable error code. A 403 carrying any other code is a
            permission problem, not a spending limit.
    LeadPosition:
      type: object
      description: >-
        A role held by the person, in the order the people database holds them:
        the current role first, then past roles. Keys absent from the record are
        omitted.
      properties:
        pos_id:
          type: integer
          description: LinkedIn position identifier
          example: 2316534272
        title:
          type: string
          description: Job title
          example: Co-founder & CEO
        current:
          type: boolean
          description: Whether the person still holds this role
          example: true
        company_name:
          type: string
          description: Name of the company
          example: Pipecorn
        name:
          type: string
          description: Alias of `company_name`
          example: Pipecorn
        company_id:
          type: string
          description: Pipecorn company id
          example: '3735071'
        company_urn:
          type: string
          description: LinkedIn company URN
          example: urn:li:fs_salesCompany:3735071
        company_domain:
          type: string
          description: Company website domain
          example: pipecorn.com
        company_logo:
          type: string
          format: uri
          description: Company logo URL
        description:
          type: string
          description: Role or company description
        location:
          type: string
          description: Where the role is based
          example: San Francisco Bay Area
        employment_type:
          type: string
          description: Employment type, when the record carries one
        started_on:
          type: object
          nullable: true
          description: Year and month the role started or ended
          properties:
            year:
              type: integer
              example: 2024
            month:
              type: integer
              example: 1
        ended_on:
          type: object
          nullable: true
          description: Year and month the role started or ended
          properties:
            year:
              type: integer
              example: 2024
            month:
              type: integer
              example: 1
        tenure_at_position:
          type: object
          nullable: true
          description: Time spent in this role
          properties:
            num_years:
              type: integer
              example: 2
            num_months:
              type: integer
              example: 0
        tenure_at_company:
          type: object
          nullable: true
          description: Time spent at this company
          properties:
            num_years:
              type: integer
              example: 2
            num_months:
              type: integer
              example: 0
  securitySchemes:
    defaultApiKey:
      type: apiKey
      in: header
      description: Your API key
      name: X-API-KEY

````

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