---
title: "Start Batched Fetch"
method: POST
path: "/v1/fetch/batched"
tags: ["Fetch"]
---

# Start Batched Fetch

`POST /v1/fetch/batched`

Start a Batched Fetch over multiple URLs using shared Fetch input and Include Options. Search is not supported for Batched Fetch requests.

## Headers

- `x-idempotency-key` string — Optional caller-supplied key that prevents duplicate Batched Fetch runs across separate calls. When omitted, the API generates a unique key. Replaying an identical request with the same key returns the same run ID; reusing the key with a different payload returns a 409 response.

## Request body

- object — FetchInput payload with an array of URLs.
  - `urls` string[], required — List of URLs to fetch using shared options.
  - `include` object — Specifies which content formats to include in the response
    - `html` union
      - boolean — Set to true to include HTML
      - object — Options for customizing HTML content extraction
    - `markdown` union
      - boolean — Set to true to include markdown
      - object — Options for customizing markdown content extraction
    - `screenshot` union
      - boolean — Set to true to include a screenshot
      - object — Options for customizing screenshot capture behavior
        - `fullPage` boolean — Whether to capture the full page including content below the fold
    - `links` union
      - boolean — Set to true to include links
      - object — Options for customizing link extraction
        - `sameDomainOnly` boolean — Only include links from the same domain as the fetched URL
        - `includePatterns` string[] — Regex patterns - only include links matching at least one pattern
        - `excludePatterns` string[] — Regex patterns - exclude links matching any pattern
    - `meta` boolean — Set to true to include page metadata
    - `response` object — Configure response info options (headers inclusion)
      - `includeHeaders` boolean — Whether to include HTTP response headers
    - `json` boolean — Include pruned JSON in the response (opt-in)
    - `appendix` boolean — Set to true to include extracted links and sidebar content
  - `browserConfig` object — Configuration options for browser behavior during the fetch
    - `scrollFullPage` boolean — Whether to scroll the entire page to capture lazy-loaded content

## Response `200`

BatchedRun

- BatchedRun
  - `id` string, required — Batched run ID

## Other responses

- `400` — The request did not match the expected schema
- `401` — AuthFailed
- `403` — AccessBlocked
- `409` — BatchedIdempotencyConflict
- `413` — PayloadTooLarge
- `429` — TooManyRequests
- `500` — InternalError
- `503` — ServiceUnavailable

---

[API](https://skmtc.dev/expand/apis/expand-ai-api.md) · [All operations](https://skmtc.dev/expand/apis/expand-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/expand/expand-ai-api/revisions/dd6849b4a636/schema)
