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

# Get Company Insights

> 

Retrieve detailed insights and enrichments for a list of companies.

This endpoint enriches a list of companies with comprehensive data. You provide a list of companies, identified by either their website or LinkedIn URL, and specify the desired enrichments. The results are delivered to the `webhookUrl` you provide.

Get company-level insights, such as:
- Number of employees (by department)
- Names and LinkedIn profiles of employees
- Funding raised
- Revenue
- Strategic initiatives at the company
- Latest news
- Top problems the company is facing right now
- **+42** more datapoints.

You can also make custom queries about the company.

To associate your own internal identifiers with each company, use the customData field. This data will be returned to you in the webhook response, allowing you to easily map the enrichment results back to your system.



## OpenAPI

````yaml /api-reference/combined.json post /v1/companies/insights
openapi: 3.1.0
info:
  title: Precept API
  description: >-
    Precept API provides powerful, programmatic access to our AI-driven B2B
    account research, company enrichment, and verified contact data
    capabilities. Use these endpoints to discover high-intent companies, map
    decision-makers, and run personalized enrichment pipelines directly
    integrating with your CRM, spreadsheets, or automated workflows like Make
    and n8n.
  version: 1.0.0
servers:
  - url: https://api.preceptai.co.uk
security:
  - bearerAuth: []
paths:
  /v1/companies/insights:
    post:
      tags:
        - Companies
      summary: Get Company Insights
      description: >-


        Retrieve detailed insights and enrichments for a list of companies.


        This endpoint enriches a list of companies with comprehensive data. You
        provide a list of companies, identified by either their website or
        LinkedIn URL, and specify the desired enrichments. The results are
        delivered to the `webhookUrl` you provide.


        Get company-level insights, such as:

        - Number of employees (by department)

        - Names and LinkedIn profiles of employees

        - Funding raised

        - Revenue

        - Strategic initiatives at the company

        - Latest news

        - Top problems the company is facing right now

        - **+42** more datapoints.


        You can also make custom queries about the company.


        To associate your own internal identifiers with each company, use the
        customData field. This data will be returned to you in the webhook
        response, allowing you to easily map the enrichment results back to your
        system.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyInsightsRequest'
            examples:
              default:
                summary: A default example for retrieving company insights.
                value:
                  webhookUrl: https://your-site.com/webhook
                  companies:
                    - companyWebsite: https://www.preceptai.co.uk
                      customData:
                        id: '12345'
                    - companyWebsite: mywebsite.com
                      companyLinkedin: https://www.linkedin.com/company/mywebsite
                      customData:
                        id: '12345'
                        crm_id: '01234'
                    - companyLinkedin: https://www.linkedin.com/company/samplecompany
                  queries:
                    - What is their tech stack?
                    - Do they use HubSpot?
                  enrichments:
                    type: decision_makers
                    departments:
                      - engineering
                      - sales
                    jobTitles:
                      - Software Engineer
                    includeContactDetails: true
                    decisionMakersLimit: 10
      responses:
        '202':
          description: >-
            Request accepted. The enrichment is in progress. The response will
            vary based on whether all companies could be processed.
          content:
            application/json:
              schema:
                oneOf:
                  - type: object
                    properties:
                      message:
                        type: string
                        example: >-
                          Company enrichment requests accepted and are being
                          processed.
                      enrichment_id:
                        type: string
                        format: uuid
                  - type: object
                    properties:
                      message:
                        type: string
                        example: >-
                          Not enough credits to enrich all companies. 5
                          companies enrichment in progress. Please upgrade your
                          plan to enrich all companies.
                      enrichment_id:
                        type: string
                        format: uuid
                      skipped_companies:
                        type: array
                        items:
                          $ref: '#/components/schemas/CompanyInput'
        '400':
          description: Invalid input, a required field is missing or invalid.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              examples:
                default:
                  summary: Example of a 400 error response.
                  value:
                    error: Invalid input, 'webhookUrl' is required.
        '402':
          description: Insufficient credits to process any companies.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
              examples:
                default:
                  summary: Example of a 402 error response.
                  value:
                    message: >-
                      Not enough credits to start enrichment. Please upgrade
                      your plan to start enrichment.
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
              examples:
                default:
                  summary: Example of a 500 error response.
                  value:
                    error: Internal server error.
components:
  schemas:
    CompanyInsightsRequest:
      type: object
      required:
        - companies
      properties:
        webhookUrl:
          type: string
          format: uri
          description: >-
            Optional. The URL where the enrichment results will be sent via a
            POST request. If not provided, you can poll the GET /v1/jobs/{jobId}
            endpoint.
        companies:
          type: array
          description: >-
            An array of company objects to enrich. You can process multiple
            companies in a single request. You must provide either the company
            website or LinkedIn URL. If providing a social URL, you must also
            include the company's name.
          items:
            type: object
            required: []
            properties:
              companyName:
                type: string
                description: The name of the company.
              companyWebsite:
                type: string
                format: uri
                description: The official website of the company.
              companyLinkedin:
                type: string
                format: uri
                description: The official LinkedIn URL of the company.
              customData:
                type: object
                description: >-
                  An object for any custom data you want to associate with the
                  company. This data will be returned with the enrichment
                  results. Maximum of 5 properties allowed, and values must be
                  strings with a maximum length of 100 characters.
                additionalProperties:
                  type: string
        queries:
          type: array
          description: A list of natural language questions to ask about the company.
          items:
            type: string
        enrichments:
          type: object
          description: >-
            An optional object to specify the desired enrichments. See the
            [Company Enrichments](/essentials/enrichments) guide for detailed
            descriptions and example responses for each type.
          properties:
            type:
              type: string
              description: >-
                The type of structured enrichment to perform. Enrichment types
                are broken down into three categories:


                | Category | Type | Explanation |

                | --- | --- | --- |

                | **Company-level** | `technology_stack` | Identifies the
                software, tools, and technologies used by the company. |

                | | `revenue` | Retrieves the estimated annual revenue of the
                company. |

                | | `recent_funding` | Provides details about the company's most
                recent funding rounds and investors. |

                | **Department-level** (Requires `departments` and/or
                `jobTitles`) | `employee_count` | Returns the total headcount
                within specified departments or job titles. |

                | | `employee_count_change` | Shows the growth or decline in
                employee headcount over time for specific roles. |

                | | `department_ratio` | Calculates the percentage of the
                company's total workforce that belongs to a specific department.
                |

                | | `job_posting_insights` | Analyzes active job postings and
                hiring trends for specified departments. |

                | **Lead-level** | `decision_makers` | Finds specific people
                based on the provided `departments` and/or `jobTitles`. The
                people are searched in the order of seniority, most senior
                employees are returned first. |

                | | `all_employees` | Fetches the company's entire employee
                directory. |
              enum:
                - decision_makers
                - all_employees
                - employee_count
                - job_posting_insights
                - department_ratio
                - employee_count_change
                - technology_stack
                - revenue
                - recent_funding
            departments:
              type: array
              description: >-
                A list of department names to find employees or insights for.
                The department names are NOT case sensitive.
              items:
                type: string
                enum:
                  - Actuary
                  - Administrative
                  - C-Suite
                  - Claims
                  - Consulting
                  - Customer Service
                  - Data & Analytics
                  - Design
                  - Education
                  - Engineering and Technical
                  - Finance & Accounting
                  - Founder
                  - Governance & Quality
                  - Health & Safety
                  - Human Resources
                  - Innovation
                  - Information Technology
                  - Legal
                  - Logistics
                  - Marketing
                  - Medical
                  - Operations
                  - Pricing
                  - Procurement & Sourcing
                  - Product
                  - Project Management
                  - Quality Control & Assurance
                  - Real Estate
                  - Research
                  - Risk & Compliance
                  - Sales
                  - Security
                  - Sustainability
                  - Trades
                  - Underwriting
            jobTitles:
              type: array
              description: >-
                A list of job titles to find employees for. You can use any job
                title (e.g., "Software Engineer", "Sales Manager").
              items:
                type: string
            country:
              type: array
              items:
                type: string
              description: >-
                An optional array of countries to filter decision makers by
                (e.g., ["United States", "United Kingdom"]). This is only
                applicable for the `DecisionMakerEnrichment` type.
            includeContactDetails:
              type: boolean
              description: >-
                Whether to include contact details of the decision makers in the
                response. This is only applicable for the
                `DecisionMakerEnrichment` type.
            decisionMakersLimit:
              type: integer
              description: >-
                The maximum number of decision makers to return. Defaults to 5
                per department/job title. This is only applicable for the
                `DecisionMakerEnrichment` type.
            limitType:
              type: string
              enum:
                - per_role
                - overall
              description: >-
                Specifies how the limit is applied. If 'per_role' (default), the
                limit applies to each department/title. If 'overall', it applies
                as a total maximum across all specified departments/titles in
                the order they were specified.
    CompanyInput:
      type: object
      properties:
        companyWebsite:
          type: string
          format: uri
        companyLinkedin:
          type: string
          format: uri
        customData:
          type: object
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````