---
title: "Get crawl job status and results"
method: GET
path: "/v1/crawl/{id}"
tags: ["crawl"]
---

# Get crawl job status and results

`GET /v1/crawl/{id}`

## Request

- Base URL: `https://api.fastcrw.com`
- URL: `https://api.fastcrw.com/v1/crawl/{id}`
- Auth: one of:
  - HTTP bearer
  - none

## Path parameters

- `id` string, required

## Response `200`

Job status + collected pages

- CrawlStatus
  - `success` boolean, required
  - `status` 'scraping' | 'completed' | 'failed' | 'cancelled', required
  - `completed` integer, required
  - `total` integer, required
  - `data` ScrapeResponse[], required
    - `success` boolean, required
    - `warning` string: Top-level advisory (e.g. fallback render notice)
    - `data` object, required
      - `markdown` string
      - `html` string
      - `rawHtml` string
      - `links` string[]
      - `json` object
      - `metadata` PageMetadata
        - `title` string
        - `description` string
        - `sourceURL` string, uri
        - `statusCode` integer
      - `warning` string
      - `warnings` string[]
      - `renderDecision` object: How the renderer was chosen. A tagged object: `kind` is one of `userPinned`, `autoDefault`, `autoPromoted`, `breakerSkipped`, `failover`, and the remaining fields depend on it.
        - `kind` string
      - `creditCost` number
      - `basis` Basis[]: Per-field evidence for the 'json' format; present only when the request set basis:true.
        - `basisVersion` integer, required
        - `field` string, required
        - `value` unknown, required
        - `status` 'supported' | 'unverified' | 'unsupported' | 'notFound', required: How well an extracted field is attributed to its source. Honest: a field whose attribution could not be verified is 'unverified'/'unsupported' rather than given a fabricated citation.
        - `confidence` 'low' | 'medium' | 'high'
        - `citations` EvidenceCitation[], required
          - `url` string, required: The document the engine fetched.
          - `title` string
          - `excerpt` string: Verbatim span from the canonical source text. Absent when the span could not be established (status 'unverified').
          - `sourceHash` string, required: 'sha256:<hex>' of the exact text sent to the model.
          - `sourceTextKind` string, required: Which text sourceHash covers. 'llmInput' for extraction basis (the truncated markdown sent to the model).
      - `basisWarnings` BasisWarning[]
        - `field` string, required
        - `code` string, required
      - `llmInputHash` string: 'sha256:'-prefixed hash of the canonical text sent to the extraction LLM. The independent record a consumer checks a citation's sourceHash against, so the check is not circular.
      - `sourceHash` string: Fingerprint of the canonical markdown, for dedup and caching.
      - `plainText` string: Plain-text view; present when `formats` includes `plainText`.
      - `images` object[]: Present when `formats` includes `images`.
        - `url` string, uri, required
        - `alt` string
      - `summary` string: LLM summary; present when `formats` includes `summary`.
      - `llmUsage` object: Token usage for the LLM call, when one ran.
      - `chunks` object[]: Chunked content, when a `chunkStrategy` was requested.
      - `contentType` string: MIME type of the fetched resource.
      - `changeTracking` object: Diff result; present when `formats` includes `changeTracking`.
      - `screenshot` string: PNG capture as a `data:image/png;base64,...` URL; present when `formats` includes `screenshot`.
      - `block` object: Anti-bot verdict. Present only when the page was a block or challenge shell, in which case `success` is false.
      - `debugExtraction` object: Extraction trace; present only when `debug: true`.
  - `error` string

## Other responses

- `404`: Resource not found

---

[API](https://skmtc.dev/fastcrw/apis/crw-rest-api.md) · [All operations](https://skmtc.dev/fastcrw/apis/crw-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fastcrw/apis/crw-rest-api/revisions/9bc1842aa048?raw)
