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

# List batches

> Returns your batches, newest first, with the same status and progress as `GET /v2/batches/{id}`. To fetch the next page, pass `nextCursor` as `cursor` with the same `kind`.



## OpenAPI

````yaml openapi/v2.json GET /v2/batches
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/batches:
    get:
      tags:
        - Batches
      summary: List batches
      description: >-
        Returns your batches, newest first, with the same status and progress as
        `GET /v2/batches/{id}`. To fetch the next page, pass `nextCursor` as
        `cursor` with the same `kind`.
      parameters:
        - name: kind
          in: query
          description: Only return batches of this kind, such as `company-enrichment`.
          schema:
            maxLength: 64
            type: string
        - name: cursor
          in: query
          description: >-
            The `nextCursor` from the previous page. Omit for the newest
            batches.
          schema:
            maxLength: 1024
            type: string
        - name: pageSize
          in: query
          description: The maximum number of batches to return. Defaults to 20.
          schema:
            maximum: 100
            minimum: 1
            type: integer
            format: int32
            default: 20
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchListResponse'
        '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'
        '402':
          description: Payment Required
          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:
    BatchListResponse:
      required:
        - items
      type: object
      properties:
        items:
          type: array
          items:
            $ref: '#/components/schemas/BatchStatusResponse'
          description: The batches in this page.
        nextCursor:
          type: string
          description: The cursor for the next page. Omitted when no more batches remain.
          nullable: true
    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
    BatchStatusResponse:
      required:
        - id
        - kind
        - status
        - progress
        - creditsCharged
        - createdAt
        - statusUrl
        - resultsUrl
        - rawResultsUrl
      type: object
      properties:
        id:
          type: string
          description: The batch ID.
          format: uuid
        kind:
          type: string
          description: The task represented by the batch.
        status:
          $ref: '#/components/schemas/HttpBatchState'
        progress:
          $ref: '#/components/schemas/BatchProgressResponse'
        creditsCharged:
          type: number
          description: The credits charged so far, in user-visible credits.
          format: double
        recordCount:
          type: integer
          description: >-
            For a search export, the number of records its settled pages
            returned.
          format: int32
          nullable: true
        recordLimit:
          type: integer
          description: >-
            For a search export, the most search results it requests. Results
            whose record is unavailable are skipped, so `recordCount` can end
            below it.
          format: int32
          nullable: true
        createdAt:
          type: string
          description: When the batch was created.
          format: date-time
        completedAt:
          type: string
          description: When the batch completed or was cancelled, if terminal.
          format: date-time
          nullable: true
        statusUrl:
          type: string
          description: The authenticated URL for checking batch status and progress.
        resultsUrl:
          type: string
          description: >-
            The download URL for the task's projected results. It is signed, so
            it works without credentials for one hour; after that, use the
            owner's credentials or a URL from a new status response.
        rawResultsUrl:
          type: string
          description: >-
            The download URL for raw HTTP outcomes in NDJSON format, signed like
            `resultsUrl`.
    HttpBatchState:
      enum:
        - pending
        - running
        - completed
        - cancelling
        - cancelled
      description: The current batch state.
    BatchProgressResponse:
      required:
        - total
        - pending
        - running
        - succeeded
        - failed
        - unknown
        - cancelled
      type: object
      properties:
        total:
          type: integer
          description: >-
            The number of requests. A search export adds one for each page as
            the previous page settles.
          format: int32
        pending:
          type: integer
          description: Requests awaiting dispatch, including retries.
          format: int32
        running:
          type: integer
          description: >-
            Requests still being processed, including saved results not yet
            settled.
          format: int32
        succeeded:
          type: integer
          description: Requests that returned a successful HTTP response.
          format: int32
        failed:
          type: integer
          description: Requests that returned an HTTP error response.
          format: int32
        unknown:
          type: integer
          description: Requests whose execution outcome could not be confirmed.
          format: int32
        cancelled:
          type: integer
          description: Requests cancelled before their results were published.
          format: int32
      description: The number of requests in each state.
  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.