FullEnrich Lookup API

Look up a single best-matching person or company from deterministic identifiers — professional network URL or ID, company domain, or full name plus a company identifier.

OpenAPI Specification

fullenrich-lookup-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: FullEnrich Lookup API
  description: Look up a single best-matching person or company from identifiers. FullEnrich API enables
    you to enrich B2B contacts with emails and phone numbers using data from 20+ providers.  We are GDPR
    and CCPA compliant.
  version: 2.0.0
  contact:
    name: FullEnrich Support
    url: https://docs.fullenrich.com
  termsOfService: https://fullenrich.com/tos
servers:
- url: https://app.fullenrich.com/api/v2
security:
- BearerAuth: []
tags:
- name: Lookup
  description: Look up a single best-matching person or company from identifiers.
paths:
  /people/lookup:
    post:
      summary: Look up people
      description: Look up a single person using their identifiers (professional network URL/ID, or full
        name combined with a company identifier). Returns the best matching person.
      operationId: postPeopleLookup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookUpPeopleRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LookUpPeopleResponse'
                - $ref: '#/components/schemas/LookUpMetadata'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '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
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                RateLimitExceeded:
                  value:
                    code: error.rate.limit
                    message: Too many requests. Try again in 1m
      security:
      - BearerAuth: []
      tags:
      - Lookup
  /company/lookup:
    post:
      summary: Look up company
      description: Look up a single company using its identifiers (domain, or professional network URL/ID).
        Returns the best matching company.
      operationId: postCompanyLookup
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LookUpCompanyRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/LookUpCompanyResponse'
                - $ref: '#/components/schemas/LookUpMetadata'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '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
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                RateLimitExceeded:
                  value:
                    code: error.rate.limit
                    message: Too many requests. Try again in 1m
      security:
      - BearerAuth: []
      tags:
      - Lookup
components:
  schemas:
    Company:
      type: object
      properties:
        id:
          type: string
          description: Unique company identifier
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        name:
          type: string
          description: Company name
          example: Anthropic
        domain:
          type: string
          description: Company domain
          example: anthropic.com
        website:
          type: string
          description: Company website URL as declared by the company. May differ from `domain` (can include
            a subdomain, a path or tracking parameters). Omitted when not available.
          example: https://www.anthropic.com
        description:
          type: string
          description: Company description
          example: AI safety and research company building reliable, interpretable, and steerable AI systems.
        year_founded:
          type: integer
          description: Year the company was founded. Returns 0 when unknown.
          example: 2021
        headcount:
          type: integer
          description: Exact number of employees. May return 0 even when headcount_range is available.
          example: 2610
        headcount_range:
          type: string
          description: Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000',
            '5001-10000', '10001+')
          example: 1001-5000
        company_type:
          type: string
          description: Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed',
            'Partnership', 'Educational', 'Government Agency')
          example: Privately Held
        locations:
          type: object
          description: Company location information
          properties:
            headquarters:
              type: object
              description: Main headquarters address with structured location fields. Can be an empty
                object when no headquarters data is available.
              allOf:
              - $ref: '#/components/schemas/CompanyAddress'
            offices:
              type: array
              description: Additional office locations. Only contains raw address lines (line1, line2)
                without structured city/region/country fields. Can be null or an empty array.
              nullable: true
              items:
                $ref: '#/components/schemas/OfficeAddress'
        social_profiles:
          type: object
          description: Company's social media profiles
          allOf:
          - $ref: '#/components/schemas/CompanySocialProfile'
        specialties:
          type: array
          description: Specialties associated with the company
          items:
            type: string
          example:
          - artificial intelligence
          - machine learning
          - AI safety
        industry:
          type: object
          description: Company industry information
          properties:
            main_industry:
              type: string
              description: Primary industry category (e.g., 'Software Development', 'Computer Hardware
                Manufacturing', 'Financial Services', 'Healthcare', 'Retail')
              example: Software Development
        logo_url:
          type: string
          description: URL of the company logo hosted by FullEnrich, built from the company's professional
            network handle. Empty when the handle is unknown.
          example: https://app.fullenrich.com/logo/company/handle/anthropic
    CompanyAddress:
      type: object
      description: Structured headquarters address with parsed location fields
      properties:
        line1:
          type: string
          description: Address line 1 (street address)
          example: 548 Market St
        line2:
          type: string
          description: Address line 2 (full location string including city, region, postal code, and country
            code)
          example: San Francisco, CA 94105, US
        city:
          type: string
          description: City name
          example: San Francisco
        region:
          type: string
          description: State or region
          example: California
        country:
          type: string
          description: Country name
          example: United States
        country_code:
          type: string
          description: ISO country code
          example: US
    CompanySocialProfile:
      type: object
      properties:
        professional_network:
          type: object
          description: Professional network profile information
          properties:
            id:
              type: integer
              description: Professional network profile ID
              example: 1234
            url:
              type: string
              description: Full professional network profile URL
              example: https://www.linkedin.com/company/anthropic
            handle:
              type: string
              description: Professional network profile handle/username
              example: anthropic
            connection_count:
              type: integer
              description: Number of professional network followers
              example: 125000
    Employment:
      type: object
      properties:
        title:
          type: string
          description: Job title or position
          example: Senior Software Engineer
        seniority:
          type: string
          description: Seniority level of the person in the company
          example: Senior
        job_functions:
          type: array
          description: Job functions of the person in the company
          items:
            type: object
            properties:
              function:
                type: string
                description: Job function
                example: Not Employed
              sub_function:
                type: string
                description: Sub function of the job function
                example: Freelancer
        description:
          type: string
          description: Description of the role and responsibilities. Not always present.
          example: Leading the backend team and designing microservices architecture.
        company:
          type: object
          description: Company information
          allOf:
          - $ref: '#/components/schemas/EmploymentCompany'
        is_current:
          type: boolean
          description: Whether this is the current employment
          example: true
        start_at:
          type: string
          format: date-time
          description: Employment start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
          example: '2022-03-15T00:00:00Z'
        end_at:
          type: string
          format: date-time
          description: Employment end date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ).
            This field is not returned for current employment (when is_current is true).
          example: '2024-06-30T00:00:00Z'
    EmploymentCompany:
      type: object
      properties:
        id:
          type: string
          description: Unique company identifier
          example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
        name:
          type: string
          description: Company name
          example: Anthropic
        domain:
          type: string
          description: Company domain
          example: anthropic.com
        website:
          type: string
          description: Company website URL as declared by the company. May differ from `domain` (can include
            a subdomain, a path or tracking parameters). Omitted when not available.
          example: https://www.anthropic.com
        description:
          type: string
          description: Company description
          example: AI safety and research company
        year_founded:
          type: integer
          description: Year the company was founded. Returns 0 when unknown.
          example: 2021
        headcount:
          type: integer
          description: Exact number of employees. May return 0 even when headcount_range is available.
          example: 2610
        headcount_range:
          type: string
          description: Employee count range (e.g., '1-10', '11-50', '51-200', '201-500', '501-1000', '1001-5000',
            '5001-10000', '10001+')
          example: 1001-5000
        company_type:
          type: string
          description: Type of company (e.g., 'Public Company', 'Privately Held', 'Nonprofit', 'Self-Employed',
            'Partnership', 'Educational', 'Government Agency')
          example: Privately Held
        specialties:
          type: array
          description: Specialties associated with the company
          items:
            type: string
          example:
          - Data Enrichment
          - B2B Data
        locations:
          type: object
          description: Company location information
          properties:
            headquarters:
              type: object
              description: Main headquarters address with structured location fields. Can be an empty
                object when no headquarters data is available.
              allOf:
              - $ref: '#/components/schemas/CompanyAddress'
            offices:
              type: array
              description: Additional office locations. Only contains raw address lines (line1, line2)
                without structured city/region/country fields. Can be null or an empty array.
              nullable: true
              items:
                $ref: '#/components/schemas/OfficeAddress'
        industry:
          type: object
          description: Company industry information
          properties:
            main_industry:
              type: string
              description: Primary industry category (e.g., 'Software Development', 'Computer Hardware
                Manufacturing', 'Financial Services', 'Healthcare')
              example: Software Development
        social_profiles:
          type: object
          description: Company's social media profiles
          allOf:
          - $ref: '#/components/schemas/CompanySocialProfile'
        logo_url:
          type: string
          description: URL of the company logo hosted by FullEnrich, built from the company's professional
            network handle. Empty when the handle is unknown.
          example: https://app.fullenrich.com/logo/company/handle/anthropic
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
      - code
      - message
    LookUpCompanyRequest:
      type: object
      description: Provide at least one identifier to match a single company. The domain or professional
        network URL/ID give the most reliable match.
      properties:
        domain:
          type: string
          description: Company domain to look up.
          example: anthropic.com
        professional_network_url:
          type: string
          description: Professional network URL of the company.
          example: https://www.linkedin.com/company/anthropic
        professional_network_id:
          type: integer
          description: Professional network ID of the company.
          example: 1883877
    LookUpCompanyResponse:
      type: object
      properties:
        companies:
          type: array
          description: Array containing the matching company. Returns an empty array if no match is found.
          items:
            $ref: '#/components/schemas/Company'
    LookUpMetadata:
      type: object
      properties:
        metadata:
          type: object
          properties:
            credits:
              type: number
              format: double
              description: Total number of credits consumed
              example: 0.25
    LookUpPeopleRequest:
      type: object
      description: Provide at least one identifier to match a single person. The professional network
        URL or ID is the most reliable. A full name can be combined with a company identifier (domain,
        professional network URL, or professional network ID) to disambiguate the match.
      properties:
        person_name:
          type: string
          description: Full name of the person to look up.
          example: Enzo Romera
        person_professional_network_url:
          type: string
          description: Professional network profile URL of the person.
          example: https://www.linkedin.com/in/enzo-romera
        person_professional_network_id:
          type: integer
          description: Professional network profile ID of the person.
          example: 530992355
        company_professional_network_url:
          type: string
          description: Professional network URL of the company the person works for. Used to disambiguate
            when looking up by name.
          example: https://www.linkedin.com/company/anthropic
        company_professional_network_id:
          type: integer
          description: Professional network ID of the company the person works for. Used to disambiguate
            when looking up by name.
          example: 1883877
        company_domain:
          type: string
          description: Domain of the company the person works for. Used to disambiguate when looking up
            by name.
          example: anthropic.com
    LookUpPeopleResponse:
      type: object
      properties:
        people:
          type: array
          description: Array containing the matching person. Returns an empty array if no match is found.
          items:
            $ref: '#/components/schemas/Person'
    OfficeAddress:
      type: object
      description: Office address. Unlike headquarters, office addresses only contain raw address lines
        without parsed location fields.
      properties:
        line1:
          type: string
          description: Street address
          example: 111 8th Ave
        line2:
          type: string
          description: Full location string (city, region, postal code, country code)
          example: New York, NY 10011, US
    Person:
      type: object
      properties:
        id:
          type: string
          description: Unique person identifier
          example: 746e4816-19c8-54d8-b558-65a5a52cc85c
        full_name:
          type: string
          description: Person's full name
          example: Enzo Romera
        first_name:
          type: string
          description: Person's first name
          example: Enzo
        last_name:
          type: string
          description: Person's last name
          example: Romera
        headline:
          type: string
          description: Short professional tagline written by the person on their professional network
            profile
          example: Marketing Strategist | 10+ Years in Strategy, Account Management & Activation | Consulting
            Expert
        description:
          type: string
          description: Free-text summary written by the person in the about section of their professional
            network profile. Omitted when not available.
          example: Marketing strategist with 10+ years helping B2B companies build demand generation engines.
            I work with go-to-market teams on positioning, account-based campaigns and channel activation.
        location:
          type: object
          description: Person's location information
          properties:
            country:
              type: string
              description: Country name
              example: United States
            country_code:
              type: string
              description: ISO country code
              example: US
            city:
              type: string
              description: City name
              example: San Francisco
            region:
              type: string
              description: Region or state
              example: California
        social_profiles:
          type: object
          description: Person's social media profiles
          allOf:
          - $ref: '#/components/schemas/PersonSocialProfile'
        educations:
          type: array
          description: Person's education history
          items:
            $ref: '#/components/schemas/PersonEducation'
        languages:
          type: array
          description: Languages spoken by the person
          items:
            $ref: '#/components/schemas/PersonLanguage'
        skills:
          type: array
          description: Person's professional skills
          items:
            type: string
          example:
          - JavaScript
          - Project Management
          - Python
        employment:
          type: object
          description: Person's employment history
          properties:
            current:
              type: object
              description: Current employment information. If the person is in their current position,
                the end_at field will not be returned.
              allOf:
              - $ref: '#/components/schemas/Employment'
            all:
              type: array
              description: All employment history (current and past)
              items:
                $ref: '#/components/schemas/Employment'
    PersonEducation:
      type: object
      properties:
        school_name:
          type: string
          description: Name of the educational institution
          example: Stanford University
        degree:
          type: string
          description: Degree or qualification obtained
          example: Bachelor of Science in Computer Science
        start_at:
          type: string
          format: date-time
          description: Start date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
          example: '2015-09-01T00:00:00Z'
        end_at:
          type: string
          format: date-time
          description: End date in ISO 8601 format with T separator (YYYY-MM-DDTHH:MM:SSZ)
          example: '2019-06-01T00:00:00Z'
    PersonLanguage:
      type: object
      properties:
        language:
          type: string
          description: Language name
          example: French
        proficiency:
          type: string
          description: Proficiency level in the language (e.g., 'NATIVE_OR_BILINGUAL', 'FULL_PROFESSIONAL',
            'PROFESSIONAL_WORKING', 'LIMITED_WORKING', 'ELEMENTARY')
          example: NATIVE_OR_BILINGUAL
    PersonSocialProfile:
      type: object
      properties:
        professional_network:
          type: object
          description: Professional network profile information
          properties:
            id:
              type: integer
              description: Professional network profile ID
              example: 1234
            url:
              type: string
              description: Full professional network profile URL
              example: https://www.linkedin.com/in/john-doe
            handle:
              type: string
              description: Professional network profile handle/username
              example: john-doe
            connection_count:
              type: integer
              description: Number of professional network connections
              example: 500
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string