
Polls a crawl job's progress and returns pages scraped so far as Markdown with metadata. One item in the answer is one page (URL, title, rendered Markdown, status code, language, etc.). The sample held 2 pages; get the next batch by following the `next` URL or incrementing `skip`.
1 live route on Web / SEO, from $0.00 per call. Every route below answered our last live test on 2026-10-08; the gateway re-tests them daily.
The upstream price you are metered at, cheapest first. A route without a published price says so.
| Provider | Endpoint | Price |
|---|---|---|
Get a Firecrawl crawl's status and pagesGET v1/crawl/{id} | $0.00$0.0e+00 / 1k calls |
From a real call to the route: Firecrawl.
data[].markdownPage content as Markdowndata[].metadata.urlPage URLdata[].metadata.titlePage titledata[].metadata.statusCodeHTTP status codedata[].metadata.languageDetected page languagedata[].metadata.cachedAtWhen page was scrapedstatus'scraping' or 'completed'totalTotal pages foundcompletedPages scraped so farnextURL to fetch next batch (pagination)HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| id | string · path | required | The id from POST v1/crawl.e.g. 01a11d94-7ce6-7292-9d28-aae056710681 |
curl "https://fetchapi.co/api/gw/firecrawl/v1/crawl/01a11d94-7ce6-7292-9d28-aae056710681" \ -H "x-api-key: YOUR_KEY"
call_endpoint("firecrawl.crawl_status", {"id": "01a11d94-7ce6-7292-9d28-aae056710681"}){
"data": [
{
"markdown": "This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n\nهذ…",
"metadata": {
"url": "https://example.com/",
"title": "Example Domain",
"favicon": "data:,",
"cachedAt": "2026-10-08T22:10:17.898Z",
"language": "en",
"scrapeId": "01a11d94-7df6-733f-bd30-80d97caef9dd",
"viewport": "width=device-width,initial-scale=1",
"proxyUsed": "basic",
"sourceURL": "https://example.com",
"cacheState": "hit",
"statusCode": 200,
"contentType": "text/html; charset=utf-8",
"creditsUsed": 1
}
},
{
"markdown": "This domain is for use in documentation examples without needing permission. This is not a service; avoid relying on it for testing and monitoring purposes.\n\nهذ…",
"metadata": {
"url": "https://example.com/?n=4-1790791882094",
"title": "Example Domain",
"favicon": "data:,",
"cachedAt": "2026-10-08T07:09:25.117Z",
"language": "en",
"scrapeId": "01a11d94-7e1d-74f6-9084-a0d6fe1e1df2",
"viewport": "width=device-width,initial-scale=1",
"proxyUsed": "basic",
"sourceURL": "https://example.com/?n=4-1790791882094",
"cacheState": "hit",
"statusCode": 200,
"contentType": "text/html; charset=utf-8",
"creditsUsed": 1
}
}
],
"next": "https://api.firecrawl.dev/v1/crawl/01a11d94-7ce6-7292-9d28-aae056710681?skip=2",
"total": 2,
"status": "scraping",
"success": true,
"completed": 2,
"expiresAt": "2026-10-09T22:14:01.000Z",
"creditsUsed": 2
}Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.