> ## 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.

# Search Company

> Search for companies based on various filters. Multiple filters within the same field are combined with AND logic.

The Company Search endpoint allows you to search for companies by size, industry, location, founding year, specialties, and more. It is designed to help you build clean company lists for prospecting, enrichment, or market analysis.

**How filters work**

If you filter by company industries<kbd> \["Technology, Information and Internet", "Financial Services"]</kbd> and company locations <kbd>\["France", "United States"]</kbd>, the API returns results where the company industry is either Technology, Information and Internet or Financial Services, AND the company location is either France or United States.

In other words, a result must satisfy at least one value in every filter category you specify.

Within a category, values act as OR: a result matches if it fits any of the values. Across categories, the logic is AND: a result must match all categories to be returned.

**If you want to retrieve one specific company,** you can search directly using its professional network URL or domain for an exact match.

[Search API pricing](/api/v2/general/credit)

For a full list of supported filters and accepted values (industries, company types, seniority levels, etc.)

<Card title="Predefined Filter Values" icon="tags" iconType="duotone" horizontal href="/api/v2/general/enums">
  For a full list of supported filters and accepted values (industries, company types, seniority levels, etc.)
</Card>


## OpenAPI

````yaml api/v2/reference/openapi.yml POST /company/search
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:
  /company/search:
    post:
      summary: Search company
      description: >-
        Search for companies based on various filters. Multiple filters within
        the same field are combined with AND logic.
      operationId: postCompanySearch
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchCompanyRequest'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/SearchCompanyResponse'
                  - $ref: '#/components/schemas/Metadata'
        '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: []
components:
  schemas:
    SearchCompanyRequest:
      type: object
      properties:
        offset:
          type: integer
          description: >-
            Number of companies to skip (use this for pagination). Maximum value
            is 10,000. To paginate beyond 10,000 results, use search_after
            instead.
          example: 20
        limit:
          type: integer
          description: 'Number of companies to return (default: 10, max: 100)'
          example: 20
        search_after:
          type: string
          description: >-
            Cursor-based pagination. Pass the search_after value from the
            previous response to get the next page. Works at any point in the
            result set, but is required to access results beyond the 10,000
            offset limit.
          example: WzE1LjUzNDU2MywiYjQ5MDBiYmQtOTg5MS01Mzk1LWIyODUtOWEyOGNiZThjOTM3Il0=
        names:
          type: array
          description: >-
            Filter by company names. Use exact_match for precise company name
            matching.
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: Microsoft
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: true
          example:
            - value: Microsoft
              exact_match: true
              exclude: false
        domains:
          type: array
          description: >-
            Filter by company domains (e.g., 'google.com', 'microsoft.com').
            Exact match recommended.
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: microsoft.com
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: true
          example:
            - value: microsoft.com
              exact_match: true
              exclude: false
        professional_network_ids:
          type: array
          description: Filter by professional network IDs.
          items:
            type: object
            properties:
              value:
                type: integer
                description: The integer value to filter by
                example: 1234
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the exact term must appear within the value, but
                  can still be part of a longer string. When false (default),
                  matching is flexible and tolerates slight variations such as
                  missing or extra words. Matching is never case-sensitive.
                example: true
          example:
            - value: 1234
              exact_match: true
              exclude: false
        professional_network_urls:
          type: array
          description: Filter by professional network URLs.
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: https://www.linkedin.com/company/fullenrich
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: true
          example:
            - value: https://www.linkedin.com/company/fullenrich
              exact_match: true
              exclude: false
        keywords:
          type: array
          description: Filter by description of company
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: innovative and practical products
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: false
          example:
            - value: innovative and practical products
              exact_match: false
              exclude: false
        specialties:
          type: array
          description: Filter by specialties of company
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: AI safety
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: false
          example:
            - value: AI safety
              exact_match: false
              exclude: false
        industries:
          type: array
          description: >-
            Filter by company industries (e.g., 'Software Development',
            'Computer Hardware Manufacturing', 'Housing and Community
            Development', 'Warehousing', 'Financial Services'). See
            [Industries](/api/v2/general/enums#company-industry) for the full
            list.
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: Software Development
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: false
          example:
            - value: Software Development
              exact_match: false
              exclude: false
            - value: Computer Hardware Manufacturing
              exact_match: false
              exclude: false
        types:
          type: array
          description: >-
            Filter by company types (e.g., 'Public Company', 'Privately Held',
            'Nonprofit', 'Self-Employed', 'Partnership', 'Educational',
            'Government Agency'). See [Company
            Types](/api/v2/general/enums#company-type) for the full list.
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: Public Company
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: true
          example:
            - value: Public Company
              exact_match: true
              exclude: false
        headquarters_locations:
          type: array
          description: Filter by headquarters locations (city names, regions, or countries)
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: San Francisco
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: false
          example:
            - value: San Francisco
              exact_match: false
              exclude: false
        founded_years:
          type: array
          description: >-
            Filter by founding years. Useful for targeting startups (recent
            years) or established companies.
          items:
            type: object
            properties:
              min:
                type: integer
                description: Minimum founding year (inclusive)
                example: 2010
              max:
                type: integer
                description: Maximum founding year (inclusive)
                example: 2024
              exclude:
                type: boolean
                description: If true, excludes companies founded in this range
                example: false
          example:
            - min: 2015
              max: 2024
              exclude: false
        headcounts:
          type: array
          description: >-
            Filter by company headcounts (number of employees). Use ranges to
            target specific company sizes (e.g., startups: 1-50, mid-size:
            50-500, enterprise: 1000+).
          items:
            type: object
            properties:
              min:
                type: integer
                description: Minimum number of employees (inclusive)
                example: 100
              max:
                type: integer
                description: Maximum number of employees (inclusive)
                example: 1000
              exclude:
                type: boolean
                description: If true, excludes companies in this range
                example: false
          example:
            - min: 100
              max: 500
              exclude: false
        company_ids:
          type: array
          description: Filter by specific company IDs
          items:
            type: object
            properties:
              value:
                type: string
                description: The string value to filter by
                example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
              exclude:
                type: boolean
                description: >-
                  If true, excludes results matching this value. If false or
                  omitted (default), includes only matching results.
                example: false
              exact_match:
                type: boolean
                description: >-
                  When true, the value must match exactly as stored
                  (case-insensitive), with no tolerance for variations. When
                  false (default), the API tolerates minor differences such as
                  missing words, extra words, or slight reordering. Matching is
                  never case-sensitive.
                example: true
    SearchCompanyResponse:
      type: object
      properties:
        companies:
          type: array
          description: >-
            Array of companies matching the search criteria. Returns empty array
            if no results found.
          items:
            $ref: '#/components/schemas/Company'
    Metadata:
      type: object
      properties:
        metadata:
          type: object
          properties:
            total:
              type: integer
              description: Total number of results matching the search criteria
              example: 20523
            credits:
              type: number
              format: double
              description: Total number of credits consumed
              example: 22.5
            offset:
              type: integer
              description: Number of results skipped (for pagination)
              example: 0
            search_after:
              type: string
              description: >-
                The cursor value returned by the previous page. Use this to
                paginate through the results.
              example: >-
                WzE1LjUzNDU2MywiYjQ5MDBiYmQtOTg5MS01Mzk1LWIyODUtOWEyOGNiZThjOTM3Il0=
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
      required:
        - code
        - message
    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
        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
    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
    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
    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
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: string

````