---
title: "Get Batched Status"
method: GET
path: "/v1/fetch/batched/{id}"
tags: ["Fetch"]
---

# Get Batched Status

`GET /v1/fetch/batched/{id}`

Get persisted Batched Fetch status and paginated results with each URL's lifecycle state. CANCELLING means accepted cancellation is still draining.

## Path parameters

- `id` string, required — a non empty string

## Query parameters

- `limit` string — Maximum number of results per page (default 10, max 100)
- `offset` string — Offset from start (default 0)
- `include` string — JSON-encoded Include Options selecting captured content. When omitted, the original POST include is used. A provided include must be a subset of content captured by the POST.

## Response `200`

BatchedStatus

- BatchedStatus
  - `id` string, required — Batched run ID
  - `status` 'QUEUED' | 'RUNNING' | 'CANCELLING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required — Page-level status: whether this page is stable and requested result content extracted successfully. CANCELLING means accepted cancellation is still draining; FAILED can indicate an unreadable persisted result.
  - `batchedStatus` 'QUEUED' | 'RUNNING' | 'CANCELLING' | 'COMPLETED' | 'FAILED' | 'CANCELLED', required — Overall Batched Fetch status. This is the exact persisted status, including CANCELLING while active items drain.
  - `totalUrls` number, required — Total number of URLs in the Batched Fetch
  - `results` BatchedFetchItem[], required — Paginated fetch results
    - `status` 'QUEUED' | 'RUNNING' | 'SUCCEEDED' | 'FAILED' | 'CANCELLED', required — Persisted lifecycle state for this URL in the Batched Fetch
    - `data` object — Fetch data for this URL. Absent when the URL was refused — read `error` instead.
      - `response` ResponseInfo, required — HTTP response information for the searched snapshot.
        - `url` string, required — The final URL after any redirects
        - `requestedUrl` string — a string to be decoded into a URL
        - `originStatusCode` number — HTTP status code returned by the origin website. Absent when the fetch is still pending or the origin response could not be determined.
        - `redirectStatusCode` number — HTTP status code of the redirect response (e.g. 301, 302). Present only when a redirect occurred.
        - `headers` object — Response headers from the fetch operation (keys are lower-cased HTTP header names)
      - `meta` PageMeta — Comprehensive metadata extracted from the page HTML head section
        - `title` string — Page title from <title> tag
        - `description` string — Meta description from <meta name="description">
        - `canonicalUrl` string — Canonical URL from <link rel="canonical">
        - `language` string — Page language from <html lang="...">
        - `charset` string — Character encoding from <meta charset="...">
        - `favicon` string — Primary favicon URL: regular icons before Apple touch icons, then scalable, then the largest declared square size, then document order
        - `icons` IconMeta[] — All icon links (favicons, apple-touch-icons, etc.)
          - `href` string, required — Icon URL or path
          - `rel` string, required — Link relationship type
          - `type` string — MIME type of the icon
          - `sizes` string — Icon dimensions
        - `openGraph` OpenGraphMeta — Open Graph protocol metadata for rich link previews
          - `title` string — Open Graph title (og:title)
          - `description` string — Open Graph description (og:description)
          - `type` string — Open Graph type (og:type) - website, article, product, etc.
          - `url` string — Canonical URL for the content (og:url)
          - `siteName` string — Site name (og:site_name)
          - `locale` string — Locale in language_TERRITORY format (og:locale)
          - `images` OgImage[] — Open Graph images (og:image and related properties)
            - `url` string, required — Image URL
            - `width` number — Image width in pixels
            - `height` number — Image height in pixels
            - `alt` string — Image alt text for accessibility
        - `twitter` TwitterCardMeta — Twitter Card metadata for social sharing previews
          - `card` string — Twitter card type (twitter:card)
          - `site` string — Twitter @username of the website (twitter:site)
          - `creator` string — Twitter @username of content creator (twitter:creator)
          - `title` string — Title for Twitter card (twitter:title)
          - `description` string — Description for Twitter card (twitter:description)
          - `image` string — Image URL for Twitter card (twitter:image)
      - `json` union[] — Pruned structured JSON values extracted from the page (from HTML and network responses). This is recomputed on every fetch and is not persisted.
        - union
          - object
          - unknown[]
            - unknown
      - `snapshotId` string — a non empty string
      - `html` string — The HTML content of the fetched page
      - `markdown` string — The markdown-formatted content extracted from the page
      - `screenshot` object — Screenshot of the fetched page
        - `url` string, required — Presigned URL for the screenshot image
        - `fullPage` boolean, required — Whether the screenshot captures the full scrollable page or just the viewport
      - `search` FetchSearchResult
        - `query` string, required
        - `snippets` object[], required
          - `type` 'text' — Type identifier for TextPart compatibility
          - `source` 'markdown' | 'appendix' | 'statejson', required
          - `text` string, required — Readable snippet content
          - `json` unknown
          - `score` number, required — Normalized fused relevance score (0-1)
          - `location` FetchSearchSnippetLocation
            - `evidenceId` integer — an integer
            - `markdownBlockId` string — Deprecated Source Block identity; use evidenceId
            - `nodeIds` number[] — Deprecated replay element linkage; use evidenceId for public citations
            - `stateJsonSourceId` number — Deprecated State JSON source-object index; use evidenceId for public citations
            - `jsonPath` string — JSON path for State JSON snippets
        - `meta` FetchSearchMeta
          - `durationMs` number, required — Total elapsed search time in milliseconds.
          - `sources` FetchSearchSourceMeta[], required
            - `source` 'markdown' | 'appendix' | 'statejson', required
            - `chunkCount` integer, required — Number of search chunks considered for this source.
            - `batchCount` integer, required — Number of ranking batches evaluated for this source.
            - `ranker` 'zeroentropy' | 'mixedbread' | 'local_lexical', required
            - `fallback` boolean, required
            - `fallbackReason` 'timeout' | 'error'
            - `durationMs` number, required — Elapsed search time for this source in milliseconds.
      - `links` FetchLink[] — Links extracted from the page
        - `url` string, required — The URL of the link
        - `text` string — The anchor text of the link
      - `appendix` string — Extracted links and sidebar content
      - `renderEngines` RenderEnginesInfo — Rendering engines actually used to produce this response
        - `capture` 'rust' — Actual snapshot capture engine used for this response
        - `markdown` 'rust' — Actual markdown renderer used for this response
        - `tree` 'rust' — Actual tree renderer used for this response
      - `assets` FetchAssetReference[] — Non-persisted manifest of assets extracted during fetch capture.
        - `id` string, required — Stable asset identifier. For data-url assets this is the decoded-byte SHA-256 hex digest.
        - `kind` 'data-url', required — Asset source kind.
        - `placeholder` string, required — Markdown/AST placeholder replacing the raw data URL.
        - `archiveKey` string, required — Synthetic WACZ archive key for retrieving the decoded asset bytes.
        - `mimeType` string, required — Decoded asset MIME type.
        - `sha256` string, required — Decoded-byte SHA-256 digest prefixed with sha256:.
        - `bytes` number, required — Decoded byte length.
      - `degraded` FetchDegradedInfo — Reduced-fidelity processing applied because the page crossed a configured processing threshold.
        - `reason` 'pageTooLarge' | 'modelInputTooLarge', required
        - `skipped` string[], required — Processing stages skipped; hfc is the HTML field-classification stage.
        - `limitKind` 'domsnapshot_bytes' | 'ast_bytes' | 'hfc_tokens', required
        - `measuredBytes` integer — Measured page size in bytes at the checkpoint that triggered degradation.
        - `thresholdBytes` integer — Configured degradation threshold in bytes.
        - `measuredTokens` integer — Tokenized HFC model input size in tokens.
        - `thresholdTokens` integer — Configured HFC input-token ceiling.
    - `error` union — Present when this URL ended without a snapshot. Carries the error the synchronous /v1/fetch endpoint would have returned (403 FetchBlocked, 413 FetchPageTooLarge, 502 FetchNavigationFailed, 504 FetchCaptureTimeout, or 529 FetchCapacityTimeout).
      - FetchBlocked
        - `url` string, required — URL whose capture was blocked
        - `blockedType` string — hfc blocked classification (e.g. captcha, botProtection, ipBlock, authWall)
        - `_tag` 'FetchBlocked', required
      - FetchPageTooLarge
        - `url` string, required — URL whose capture was rejected on size
        - `limitKind` 'transfer_bytes' | 'domsnapshot_bytes' | 'ast_bytes' — Which page-weight ceiling was exceeded
        - `limitBytes` number — The configured ceiling in bytes
        - `measuredBytes` number — What the page actually measured, in bytes
        - `_tag` 'FetchPageTooLarge', required
      - FetchNavigationFailed
        - `url` string, required — URL whose navigation did not produce a fetchable document
        - `failureType` 'browserInternalDocument', required — Bounded navigation failure classification
        - `_tag` 'FetchNavigationFailed', required
      - FetchCaptureTimeout
        - `url` string, required — URL whose fetch produced no publishable capture result before the server deadline
        - `timeoutMs` number — Configured server request ceiling that expired, in milliseconds
        - `_tag` 'FetchCaptureTimeout', required
      - FetchCapacityTimeout
        - `url` string, required — URL whose capture never started before the server deadline
        - `timeoutMs` number — Configured server request ceiling that expired, in milliseconds
        - `_tag` 'FetchCapacityTimeout', required
  - `pagination` PaginationMeta, required — Pagination metadata
    - `total` number, required — Total number of results
    - `limit` number, required — Page size
    - `offset` number, required — Offset from start
    - `hasMore` boolean, required — Whether more results are available

## Other responses

- `400` — The request did not match the expected schema
- `401` — AuthFailed
- `404` — BatchedNotFound
- `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)
