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

# Crawl Status

> Poll the progress and results of a crawl job

Poll a crawl started via [Start Crawl](/rest-api-reference/web-crawl). While running, the response reports progress (`completed` / `total`); once finished, it includes the scraped data for every page.

## Path Parameters

<ParamField path="id" type="string" required>
  The `crawl_id` returned when the crawl was started.
</ParamField>

## Response

<ResponseField name="status" type="string">
  `crawling`, `completed`, or `failed`.
</ResponseField>

<ResponseField name="completed" type="number">
  Pages scraped so far.
</ResponseField>

<ResponseField name="total" type="number">
  Total pages discovered.
</ResponseField>

<ResponseField name="data" type="array">
  Present once completed: one scrape result per page (same shape as [Scrape
  URL](/rest-api-reference/web-scrape) `data`).
</ResponseField>

<RequestExample>
  ```bash theme={null}
  curl -X GET https://scrape.st/web/crawl/crl_01HZX... \
    -H "x-api-key: YOUR_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json crawling theme={null}
  {
    "crawl_id": "crl_01HZX...",
    "version": "1.0.0",
    "status": "crawling",
    "completed": 12,
    "total": 50
  }
  ```

  ```json completed theme={null}
  {
    "crawl_id": "crl_01HZX...",
    "version": "1.0.0",
    "status": "completed",
    "completed": 50,
    "total": 50,
    "url": "https://example.com",
    "data": [
      {
        "markdown": "# Example Domain...",
        "metadata": { "title": "Example Domain", "status_code": 200 }
      }
    ]
  }
  ```
</ResponseExample>
