The Companies API companies API

The companies API from The Companies API — 13 operation(s) for companies.

OpenAPI Specification

thecompaniesapi-companies-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  contact:
    email: support@thecompaniesapi.com
    name: The Companies API
    url: https://www.thecompaniesapi.com
  description: An enrichment platform to search and retrieve information about companies
  termsOfService: https://www.thecompaniesapi.com/product/terms
  title: The actions companies API
  version: 2.0.0
servers:
- description: Production server
  url: https://api.thecompaniesapi.com
tags:
- name: companies
paths:
  /v2/companies:
    get:
      description: Search companies using a segmentation query.
      operationId: searchCompanies
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: number
        required: false
        name: actionId
        in: query
      - schema:
          type: string
        required: false
        name: domainsToExclude
        in: query
      - schema:
          type: string
        required: false
        name: linkedinToExclude
        in: query
      - schema:
          type: number
        required: false
        name: page
        in: query
      - schema:
          type: array
          items:
            $ref: '#/components/schemas/SegmentationCondition'
        required: false
        name: query
        in: query
      - schema:
          type: string
        required: false
        name: search
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - about.name
            - domain.domain
        required: false
        name: searchFields
        in: query
      - schema:
          type: boolean
        required: false
        name: simplified
        in: query
      - schema:
          type: number
          minimum: 1
          maximum: 100
        required: false
        name: size
        in: query
      - schema:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                enum:
                - about.businessType
                - about.industries
                - about.industry
                - about.name
                - about.totalEmployees
                - about.yearFounded
                - analytics.monthlyVisitors
                - apps
                - codes.naics
                - codes.sic
                - contacts
                - domain.domain
                - domain.tld
                - finances.revenue
                - locations.headquarters.city.code
                - locations.headquarters.country.code
                - locations.headquarters.county.code
                - locations.headquarters.state.code
                - meta.score
                - meta.syncedAt
                - socials
                - technologies.active
                - urls
              missing:
                type: string
                enum:
                - _first
                - _last
              order:
                type: string
                enum:
                - asc
                - desc
            required:
            - key
            - order
        required: false
        name: sortFields
        in: query
      - schema:
          type: string
          enum:
          - about.businessType
          - about.industries
          - about.industry
          - about.name
          - about.totalEmployees
          - about.yearFounded
          - analytics.monthlyVisitors
          - apps
          - codes.naics
          - codes.sic
          - contacts
          - domain.domain
          - domain.tld
          - finances.revenue
          - locations.headquarters.city.code
          - locations.headquarters.country.code
          - locations.headquarters.county.code
          - locations.headquarters.state.code
          - meta.score
          - meta.syncedAt
          - socials
          - technologies.active
          - urls
        required: false
        name: sortKey
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
        required: false
        name: sortOrder
        in: query
      responses:
        '200':
          description: Search companies using a segmentation query.
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyV2'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  query:
                    type: array
                    items:
                      $ref: '#/components/schemas/SegmentationCondition'
                required:
                - companies
                - meta
                - query
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
    post:
      description: Search companies using a segmentation query.
      operationId: searchCompaniesPost
      tags:
      - companies
      security:
      - apiKey: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                actionId:
                  type: number
                domainsToExclude:
                  type: string
                linkedinToExclude:
                  type: string
                page:
                  type: number
                query:
                  type: array
                  items:
                    $ref: '#/components/schemas/SegmentationCondition'
                search:
                  type: string
                searchFields:
                  type: array
                  items:
                    type: string
                    enum:
                    - about.name
                    - domain.domain
                simplified:
                  type: boolean
                size:
                  type: number
                  minimum: 1
                  maximum: 100
                sortFields:
                  type: array
                  items:
                    type: object
                    properties:
                      key:
                        type: string
                        enum:
                        - about.businessType
                        - about.industries
                        - about.industry
                        - about.name
                        - about.totalEmployees
                        - about.yearFounded
                        - analytics.monthlyVisitors
                        - apps
                        - codes.naics
                        - codes.sic
                        - contacts
                        - domain.domain
                        - domain.tld
                        - finances.revenue
                        - locations.headquarters.city.code
                        - locations.headquarters.country.code
                        - locations.headquarters.county.code
                        - locations.headquarters.state.code
                        - meta.score
                        - meta.syncedAt
                        - socials
                        - technologies.active
                        - urls
                      missing:
                        type: string
                        enum:
                        - _first
                        - _last
                      order:
                        type: string
                        enum:
                        - asc
                        - desc
                    required:
                    - key
                    - order
                sortKey:
                  type: string
                  enum:
                  - about.businessType
                  - about.industries
                  - about.industry
                  - about.name
                  - about.totalEmployees
                  - about.yearFounded
                  - analytics.monthlyVisitors
                  - apps
                  - codes.naics
                  - codes.sic
                  - contacts
                  - domain.domain
                  - domain.tld
                  - finances.revenue
                  - locations.headquarters.city.code
                  - locations.headquarters.country.code
                  - locations.headquarters.county.code
                  - locations.headquarters.state.code
                  - meta.score
                  - meta.syncedAt
                  - socials
                  - technologies.active
                  - urls
                sortOrder:
                  type: string
                  enum:
                  - asc
                  - desc
      responses:
        '200':
          description: Search companies using a segmentation query.
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyV2'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                  query:
                    type: array
                    items:
                      $ref: '#/components/schemas/SegmentationCondition'
                required:
                - companies
                - meta
                - query
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
  /v2/companies/{domain}:
    get:
      description: Get a single company data by its domain.
      operationId: fetchCompany
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: string
        required: true
        name: domain
        in: path
      - schema:
          type: boolean
        required: false
        name: refresh
        in: query
      - schema:
          type: boolean
        required: false
        name: simplified
        in: query
      responses:
        '200':
          description: Get a single company data by its domain.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyV2'
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '404':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - companyNotFound
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
  /v2/companies/by-name:
    get:
      description: Search companies by name.
      operationId: searchCompaniesByName
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: string
        required: false
        name: countries
        in: query
      - schema:
          type: boolean
        required: false
        name: exactWordsMatch
        in: query
      - schema:
          type: string
        required: false
        name: listsToExclude
        in: query
      - schema:
          type: string
        required: true
        name: name
        in: query
      - schema:
          type: number
        required: false
        name: page
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - about.name
            - domain.domain
        required: false
        name: searchFields
        in: query
      - schema:
          type: boolean
        required: false
        name: simplified
        in: query
      - schema:
          type: number
          minimum: 1
          maximum: 25
        required: false
        name: size
        in: query
      - schema:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                enum:
                - about.businessType
                - about.industries
                - about.industry
                - about.name
                - about.totalEmployees
                - about.yearFounded
                - analytics.monthlyVisitors
                - apps
                - codes.naics
                - codes.sic
                - contacts
                - domain.domain
                - domain.tld
                - finances.revenue
                - locations.headquarters.city.code
                - locations.headquarters.country.code
                - locations.headquarters.county.code
                - locations.headquarters.state.code
                - meta.score
                - meta.syncedAt
                - socials
                - technologies.active
                - urls
              missing:
                type: string
                enum:
                - _first
                - _last
              order:
                type: string
                enum:
                - asc
                - desc
            required:
            - key
            - order
        required: false
        name: sortFields
        in: query
      - schema:
          type: string
          enum:
          - about.businessType
          - about.industries
          - about.industry
          - about.name
          - about.totalEmployees
          - about.yearFounded
          - analytics.monthlyVisitors
          - apps
          - codes.naics
          - codes.sic
          - contacts
          - domain.domain
          - domain.tld
          - finances.revenue
          - locations.headquarters.city.code
          - locations.headquarters.country.code
          - locations.headquarters.county.code
          - locations.headquarters.state.code
          - meta.score
          - meta.syncedAt
          - socials
          - technologies.active
          - urls
        required: false
        name: sortKey
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
        required: false
        name: sortOrder
        in: query
      responses:
        '200':
          description: Search companies by name.
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyV2'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                required:
                - companies
                - meta
        '400':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - companyNameEmpty
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
  /v2/companies/by-prompt:
    get:
      description: Search companies by prompt.
      operationId: searchCompaniesByPrompt
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: string
        required: false
        name: listsToExclude
        in: query
      - schema:
          type: number
        required: false
        name: page
        in: query
      - schema:
          type: string
        required: true
        name: prompt
        in: query
      - schema:
          type: number
          minimum: 0
          maximum: 2
        required: false
        name: similarity
        in: query
      - schema:
          type: boolean
        required: false
        name: simplified
        in: query
      - schema:
          type: number
          minimum: 1
          maximum: 50
        required: false
        name: size
        in: query
      - schema:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                enum:
                - about.businessType
                - about.industries
                - about.industry
                - about.name
                - about.totalEmployees
                - about.yearFounded
                - analytics.monthlyVisitors
                - apps
                - codes.naics
                - codes.sic
                - contacts
                - domain.domain
                - domain.tld
                - finances.revenue
                - locations.headquarters.city.code
                - locations.headquarters.country.code
                - locations.headquarters.county.code
                - locations.headquarters.state.code
                - meta.score
                - meta.syncedAt
                - socials
                - technologies.active
                - urls
              missing:
                type: string
                enum:
                - _first
                - _last
              order:
                type: string
                enum:
                - asc
                - desc
            required:
            - key
            - order
        required: false
        name: sortFields
        in: query
      - schema:
          type: string
          enum:
          - about.businessType
          - about.industries
          - about.industry
          - about.name
          - about.totalEmployees
          - about.yearFounded
          - analytics.monthlyVisitors
          - apps
          - codes.naics
          - codes.sic
          - contacts
          - domain.domain
          - domain.tld
          - finances.revenue
          - locations.headquarters.city.code
          - locations.headquarters.country.code
          - locations.headquarters.county.code
          - locations.headquarters.state.code
          - meta.score
          - meta.syncedAt
          - socials
          - technologies.active
          - urls
        required: false
        name: sortKey
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
        required: false
        name: sortOrder
        in: query
      responses:
        '200':
          description: Search companies by prompt.
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyV2'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                required:
                - companies
                - meta
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
  /v2/companies/similar:
    get:
      description: Get similar companies from one or many domains.
      operationId: searchSimilarCompanies
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: array
          items:
            type: string
          maxItems: 100
        required: true
        name: domains
        in: query
      - schema:
          type: number
        required: false
        name: page
        in: query
      - schema:
          type: number
        required: false
        name: proximityExact
        in: query
      - schema:
          type: string
          enum:
          - close
          - far
          - near
        required: false
        name: proximityTerm
        in: query
      - schema:
          type: boolean
        required: false
        name: simplified
        in: query
      - schema:
          type: number
          minimum: 1
          maximum: 100
        required: false
        name: size
        in: query
      - schema:
          type: array
          items:
            type: object
            properties:
              key:
                type: string
                enum:
                - about.businessType
                - about.industries
                - about.industry
                - about.name
                - about.totalEmployees
                - about.yearFounded
                - analytics.monthlyVisitors
                - apps
                - codes.naics
                - codes.sic
                - contacts
                - domain.domain
                - domain.tld
                - finances.revenue
                - locations.headquarters.city.code
                - locations.headquarters.country.code
                - locations.headquarters.county.code
                - locations.headquarters.state.code
                - meta.score
                - meta.syncedAt
                - socials
                - technologies.active
                - urls
              missing:
                type: string
                enum:
                - _first
                - _last
              order:
                type: string
                enum:
                - asc
                - desc
            required:
            - key
            - order
        required: false
        name: sortFields
        in: query
      - schema:
          type: string
          enum:
          - about.businessType
          - about.industries
          - about.industry
          - about.name
          - about.totalEmployees
          - about.yearFounded
          - analytics.monthlyVisitors
          - apps
          - codes.naics
          - codes.sic
          - contacts
          - domain.domain
          - domain.tld
          - finances.revenue
          - locations.headquarters.city.code
          - locations.headquarters.country.code
          - locations.headquarters.county.code
          - locations.headquarters.state.code
          - meta.score
          - meta.syncedAt
          - socials
          - technologies.active
          - urls
        required: false
        name: sortKey
        in: query
      - schema:
          type: string
          enum:
          - asc
          - desc
        required: false
        name: sortOrder
        in: query
      responses:
        '200':
          description: Get similar companies from one or many domains.
          content:
            application/json:
              schema:
                type: object
                properties:
                  companies:
                    type: array
                    items:
                      $ref: '#/components/schemas/CompanyV2'
                  meta:
                    $ref: '#/components/schemas/PaginationMeta'
                required:
                - companies
                - meta
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
  /v2/companies/count:
    get:
      description: Get the count of companies using a segmentation query.
      operationId: countCompanies
      tags:
      - companies
      security:
      - apiKey: []
      parameters:
      - schema:
          type: number
        required: false
        name: actionId
        in: query
      - schema:
          type: array
          items:
            $ref: '#/components/schemas/SegmentationCondition'
        required: false
        name: query
        in: query
      - schema:
          type: string
        required: false
        name: search
        in: query
      - schema:
          type: array
          items:
            type: string
            enum:
            - about.name
            - domain.domain
        required: false
        name: searchFields
        in: query
      responses:
        '200':
          description: Get the count of companies using a segmentation query.
          content:
            application/json:
              schema:
                type: object
                properties:
                  count:
                    type: number
                required:
                - count
        '401':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - tokenNotFound
                    - invalidApiSecret
                    - missingApiSecret
                    - userNotAuthenticated
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
        '403':
          description: The error message
          content:
            application/json:
              schema:
                type: object
                properties:
                  details: {}
                  messages:
                    type: string
                    enum:
                    - noCreditsRemaining
                  status:
                    type: number
                    minimum: 400
                    maximum: 511
                required:
                - messages
                - status
    post:
      description: Get the count of companies using a segmentation body.
      operationId: countCompaniesPost
      tags:
      - companies
      security:
      - apiKey: []
      requestBody

# --- truncated at 32 KB (169 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/thecompaniesapi/refs/heads/main/openapi/thecompaniesapi-companies-api-openapi.yml