---
title: "GET /api/v1/batches/{id}"
method: GET
path: "/api/v1/batches/{id}"
---

# GET /api/v1/batches/{id}

`GET /api/v1/batches/{id}`

## Request

- Base URL: `https://12backlinks.com`
- URL: `https://12backlinks.com/api/v1/batches/{id}`
- Auth: HTTP bearer

Read one of your batches and the summary of each analysis. Free: polling never launches or charges anything. Use wait (up to 45 s) to wait for running analyses.

## Path parameters

- `id` string, required: Identifier returned by a previous call (24 hexadecimal characters).

## Query parameters

- `wait` integer: Seconds to wait for running analyses before answering (0 to 45). Polling is free.

## Response `200`

Success.

- object
  - `batch_id` string
  - `name` string, nullable
  - `source` 'api' | 'ui'
  - `status` 'running' | 'done' | 'partial'
  - `created_at` string, date-time
  - `credits_charged` integer, nullable: Read from the credit ledger; null when it cannot be read (unknown, not zero).
  - `items` object[]
    - `analysis_id` string, nullable
    - `keyword` string
    - `domain` string
    - `lang` string
    - `status` 'pending' | 'running' | 'done' | 'failed'
    - `fail_reason` 'serp_unavailable' | 'backlink_data_unavailable' | 'timeout' | 'invalid_params' | 'launch_failed' | 'analysis_failed' | 'null', nullable
    - `result` object, nullable: null until status is done.
      - `page` object: Towards the ranking page. Referring domains: median and q25 to q75 range of the top 10, median of positions 11 to 30, Mann-Whitney test. null means unknown, never zero.
        - `median_top10` number, nullable
        - `q25_top10` number, nullable
        - `q75_top10` number, nullable
        - `median_rest` number, nullable
        - `significant` boolean, nullable: true when p_value < 0.05: links separate the top 10 from positions 11 to 30.
        - `p_value` number, nullable
      - `domain` object: Towards the root domain of the ranking page. Referring domains: median and q25 to q75 range of the top 10, median of positions 11 to 30, Mann-Whitney test. null means unknown, never zero.
        - `median_top10` number, nullable
        - `q25_top10` number, nullable
        - `q75_top10` number, nullable
        - `median_rest` number, nullable
        - `significant` boolean, nullable: true when p_value < 0.05: links separate the top 10 from positions 11 to 30.
        - `p_value` number, nullable
      - `serp_results` integer, nullable: Number of organic results analysed (positions 1 to 30).
  - `next_step` string: What to do next, e.g. call get_batch with wait=40 while status is running.

## Other responses

- `400`: invalid_request: invalid input.
- `401`: unauthorized: missing, malformed or revoked API key.
- `404`: not_found: missing or not owned by this account.
- `500`: internal_error: unexpected error; retry later, mutations with the same idempotency_key.
- `503`: upstream_unavailable: retry later; mutations with the same idempotency_key.

---

[API](https://skmtc.dev/12backlinks/apis/12backlinks-api.md) · [All operations](https://skmtc.dev/12backlinks/apis/12backlinks-api/llms.txt) · [OpenAPI document](https://skmtc.dev/12backlinks/apis/12backlinks-api/revisions/8936d132d496?raw)
