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

# Download company enrichment results

> Streams one record per eligible input domain, in input order, including errors. Choose the format with `format`. JSON returns one document whose `results` array holds the records; NDJSON returns one record per line. Each record has the input index and domain, the HTTP status, the request state, a success flag, and either the V2 company in `company` or the error in `error`. CSV has one row per record with the columns `index`, `input_domain`, `status_code`, `request_state`, `success` and `error`, followed by the company columns. Each download captures a fixed snapshot; later downloads can include newly settled results. Requires the batch owner's credentials, or the signature from `resultsUrl` in a status response.



## OpenAPI

````yaml openapi/v2.json GET /v2/companies/enrich/bulk/{id}/results
openapi: 3.0.4
info:
  title: Company Enrich API v2
  description: >-
    The Company Enrich API v2 provides programmatic access to company and person
    data for enrichment, search, and lead generation.


    ## Key Features


    - **Company Enrichment** — Enrich company profiles by domain or identifying
    properties, and retrieve stored companies by ID.

    - **Company Search** — Search and filter companies with cursor pagination,
    counts, and previews.

    - **Semantic and Lookalike Search** — Find companies using natural-language
    queries or similar company domains.

    - **People Enrichment** — Retrieve people by ID, identify people from their
    email address, and find work email addresses.

    - **People Search** — Search people by position, seniority, department,
    location, education, and company with cursor pagination, counts, and
    previews.

    - **Reference Data** — Look up industries, geographic data, keywords,
    technologies, and job titles.


    V2 intentionally excludes saved company lists, list-based exports, and
    filtering searches by saved-list IDs. These features remain available in V1
    and are not planned for V2.


    ## Authentication


    All API requests require a Bearer token passed in the `Authorization`
    header:


    ```

    Authorization: Bearer YOUR_API_TOKEN

    ```


    You can generate API tokens from your
    [dashboard](https://companyenrich.com/dashboard).


    ## Credits


    Most API calls consume credits. The credit cost for each endpoint is
    documented in its description. You can check your remaining credit balance
    using the User endpoint.


    ## Rate Limiting


    The global API limiter allows **500 requests per minute** per IP address.
    Authenticated API routes also use a per-user route limiter based on plan
    capabilities.

    Supplementary lookup endpoints (such as keyword/technology/industry
    autocompletes) use a separate per-user route-level bucket.
  termsOfService: https://companyenrich.com/terms-and-conditions
  contact:
    url: https://companyenrich.com/
    email: support@companyenrich.com
  version: 2.0.0
servers:
  - url: https://api.companyenrich.com
security:
  - Bearer: []
tags:
  - name: Company / Enrichment
    description: >-
      Enrich company data by domain, properties, or in batch. Get company
      details by ID.
  - name: Company / Bulk Enrichment
    description: >-
      Create and manage asynchronous bulk enrichment jobs for large domain
      lists.
  - name: Company / Search
    description: Search companies by filters with pagination and cursor scrolling.
  - name: People / Search
    description: >-
      Search people by various criteria with page-based or cursor-based
      pagination.
  - name: People / Enrichment
    description: >-
      Resolve work email addresses for individual people in realtime or
      background jobs.
  - name: Geo
    description: >-
      Endpoints for looking up geographic data including regions, countries,
      states, and cities.
  - name: Industries
    description: >-
      Endpoints for listing available industry classifications used in company
      search filters.
  - name: Keywords
    description: Endpoints for looking up keywords used in company search filters.
  - name: Technologies
    description: Endpoints for looking up technologies used in company search filters.
  - name: User
    description: >-
      Endpoints for retrieving information about the authenticated user,
      including credit balance and account details.
  - name: Positions
    description: Endpoints for looking up job positions and titles.
paths:
  /v2/companies/enrich/bulk/{id}/results:
    get:
      tags:
        - Company / Bulk Enrichment
      summary: Download company enrichment results
      description: >-
        Streams one record per eligible input domain, in input order, including
        errors. Choose the format with `format`. JSON returns one document whose
        `results` array holds the records; NDJSON returns one record per line.
        Each record has the input index and domain, the HTTP status, the request
        state, a success flag, and either the V2 company in `company` or the
        error in `error`. CSV has one row per record with the columns `index`,
        `input_domain`, `status_code`, `request_state`, `success` and `error`,
        followed by the company columns. Each download captures a fixed
        snapshot; later downloads can include newly settled results. Requires
        the batch owner's credentials, or the signature from `resultsUrl` in a
        status response.
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            format: uuid
        - name: format
          in: query
          description: 'Download format: json, ndjson, or csv. Defaults to json.'
          schema:
            type: string
        - name: sig
          in: query
          description: >-
            The signature from a download URL in a status response. Not needed
            with the batch owner's credentials.
          schema:
            maxLength: 1024
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyBulkEnrichmentResultsResponse'
            application/x-ndjson:
              schema:
                $ref: '#/components/schemas/CompanyBulkEnrichmentResult'
            text/csv:
              schema:
                type: string
        '400':
          description: Bad Request
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '401':
          description: Unauthorized
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '404':
          description: Not Found
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
        '422':
          description: Unprocessable Entity
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/HttpValidationProblemDetails'
        '429':
          description: Too Many Requests
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/ProblemDetails'
components:
  schemas:
    CompanyBulkEnrichmentResultsResponse:
      required:
        - batchId
        - kind
        - status
        - creditsCharged
        - resultCount
        - results
      type: object
      properties:
        batchId:
          type: string
          description: The batch ID.
          format: uuid
        kind:
          type: string
          description: The task represented by the batch.
        status:
          $ref: '#/components/schemas/HttpBatchState2'
        creditsCharged:
          type: number
          description: The credits charged so far, in user-visible credits.
          format: double
        resultCount:
          type: integer
          description: The number of records in `results`.
          format: int32
        results:
          type: array
          items:
            $ref: '#/components/schemas/CompanyBulkEnrichmentResult'
          description: >-
            One record per eligible input domain, in input order. Pending and
            unsettled inputs are absent.
    CompanyBulkEnrichmentResult:
      required:
        - index
        - domain
        - state
        - success
      type: object
      properties:
        index:
          type: integer
          description: The zero-based position of this domain in the original request.
          format: int32
        domain:
          type: string
          description: The domain exactly as provided in the original request.
        statusCode:
          type: integer
          description: >-
            The HTTP status returned by the enrichment endpoint, or null when no
            response was recorded.
          format: int32
          nullable: true
        state:
          $ref: '#/components/schemas/HttpBatchItemState'
        success:
          type: boolean
          description: Whether the company was successfully enriched.
        company:
          $ref: '#/components/schemas/NullableOfJsonElement'
        error:
          $ref: '#/components/schemas/NullableOfJsonElement2'
    ProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
    HttpValidationProblemDetails:
      type: object
      properties:
        type:
          type: string
          nullable: true
        title:
          type: string
          nullable: true
        status:
          type: integer
          format: int32
          nullable: true
        detail:
          type: string
          nullable: true
        instance:
          type: string
          nullable: true
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
    HttpBatchState2:
      enum:
        - pending
        - running
        - completed
        - cancelling
        - cancelled
      description: The batch state when the download started.
    HttpBatchItemState:
      enum:
        - pending
        - running
        - succeeded
        - failed
        - unknown
        - cancelled
      description: The recorded request state, including unknown and cancelled outcomes.
    NullableOfJsonElement:
      description: The enriched V2 company, when the request succeeded.
      nullable: true
    NullableOfJsonElement2:
      description: >-
        The complete endpoint error body, or the runner's recorded error when no
        HTTP body is available.
      nullable: true
  securitySchemes:
    Bearer:
      type: apiKey
      description: >-
        API Token used for authentication. Example: "Authorization: Bearer
        {token}"
      name: Authorization
      in: header
      x-bearer-format: bearer

````

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