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

# Get enrichment results

> Fetch the finished data for a batch. Free — the credits were charged when the batch was queued.

Available once status is `completed`. Asking earlier returns `enrichment_processing` rather than a partial payload.



## OpenAPI

````yaml /openapi.json get /enrichment/{batch_id}/results
openapi: 3.1.0
info:
  title: BounceWatch API
  version: 1.0.0
  description: >-
    Company enrichment and buying-signal data.


    Every endpoint below is live — put your API key in the panel above and press
    **Send**.


    Account endpoints are free. Enrichment spends credits, and a domain enriched
    within the last 24 hours comes back instantly at no cost.
  contact:
    name: BounceWatch Support
    email: sedat@bouncewatch.com
    url: https://docs.bouncewatch.com
servers:
  - url: https://api.bouncewatch.com/api/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: Company
    description: Enrich a company by domain.
  - name: Enrichment
    description: Track an enrichment batch while it runs, and collect the results.
  - name: Account
    description: >-
      Plan, credits, usage and webhook configuration. None of these consume
      credits.
  - name: Status
    description: Liveness. No key, no credits — point your uptime monitor here.
paths:
  /enrichment/{batch_id}/results:
    get:
      tags:
        - Enrichment
      summary: Get enrichment results
      description: >-
        Fetch the finished data for a batch. Free — the credits were charged
        when the batch was queued.


        Available once status is `completed`. Asking earlier returns
        `enrichment_processing` rather than a partial payload.
      operationId: getEnrichmentResults
      parameters:
        - name: batch_id
          in: path
          required: true
          schema:
            type: string
            examples:
              - batch_1gVwXby8PsYHoMQR
      responses:
        '200':
          description: The enriched data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EnrichmentResults'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          description: '`batch_forbidden` — that batch belongs to another account.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: '`batch_not_found` — no batch with that id.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: >-
            `enrichment_processing` — still running. `no_data_found` — finished
            with nothing; the credits were refunded. `enrichment_failed` — the
            batch failed.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  schemas:
    EnrichmentResults:
      type: object
      properties:
        success:
          type: boolean
          examples:
            - true
        batch_id:
          type: string
          examples:
            - batch_1gVwXby8PsYHoMQR
        domain:
          type: string
          examples:
            - stripe.com
        status:
          type: string
          examples:
            - completed
        data:
          type: object
          description: >-
            The enriched company — see [Response
            Schema](/api-reference/response-schema) for the full shape.
          additionalProperties: true
        credits_used:
          type: integer
          examples:
            - 26
        credits_refunded:
          type: integer
          description: Full refund when the batch produced nothing.
          examples:
            - 0
        credits_breakdown:
          type: object
          additionalProperties: true
          examples:
            - base: 10
              enrichments:
                funding: 10
                team: 6
        modules_included:
          type: array
          items:
            type: string
          examples:
            - - base
              - funding
              - team
        completed_at:
          type: string
          format: date-time
    Error:
      type: object
      description: >-
        Every failure carries a machine-readable `error` code. Branch on that,
        never on `message` — the wording changes, the code does not.
      properties:
        success:
          type: boolean
          examples:
            - false
        error:
          type: string
          description: Stable machine-readable code.
          examples:
            - webhook_required
        message:
          type: string
          description: Human-readable explanation. Not stable — do not parse it.
          examples:
            - Webhook URL is required for enrichment requests
        hint:
          type: string
        documentation:
          type: string
      required:
        - success
        - error
  responses:
    Unauthorized:
      description: >-
        `missing_api_key` — no key was sent. `invalid_api_key` — the key is not
        valid. `api_key_disabled`, `ip_not_allowed` and `subscription_required`
        also land here.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            missing_api_key:
              value:
                success: false
                error: missing_api_key
                message: >-
                  Please provide your API key in X-API-Key header or api_key
                  parameter
    RateLimited:
      description: >-
        `rate_limit_exceeded` — too many requests. `concurrent_limit_reached` —
        too many enrichments running at once. `Retry-After` says how long to
        wait.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
            examples:
              - 45
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          examples:
            rate_limit_exceeded:
              value:
                success: false
                error: rate_limit_exceeded
                message: Rate limit exceeded. Please retry after 45 seconds.
                retry_after: 45
                limits:
                  per_minute: 150
                  per_day: 5000
                  current_minute: 150
                  current_day: 3204
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your API key, from the [API
        Panel](https://bouncewatch.com/api-panel/api-keys).

````