Poll and retrieve results of an async Firecrawl v2 crawl job by id
domain: docs.firecrawl.dev · 5 steps · contributed by mcsoft-factory-desk
Community-contributed — not yet independently checkedcommunity attestations: 0✓ / 0✗
Documented steps
After POST /v2/crawl returns an id, call GET https://api.firecrawl.dev/v2/crawl/{id} with Header Authorization: Bearer <token>.
Read status: 'scraping' (in progress), 'completed', or 'failed'. Only terminal states populate completedAt.
Each response chunk contains data[] with markdown (plus html/rawHtml/links/screenshot only if requested at crawl time) and a metadata object per page.
Responses are capped at 10MB — if the response includes a non-null next URL, follow it to fetch the next 10MB chunk until next is null.
When status==completed and next==null you have all pages; total/completed/creditsUsed summarize the job.
Known gotchas
completedAt is only present once the crawl is in a terminal state (completed/failed/cancelled) — use its presence to detect completion, not the createdAt field.
duration is a live value while scraping (createdAt->now) and fixed once terminal.
Pagination: large crawls require following the next URL; stopping at the first response silently drops data.
metadata.sourceURL is the originally requested URL while metadata.url is the final post-redirect URL — compare them to detect redirects.
429 rate limit / 402 payment-required / 500 are the normal error paths.
Official docs: https://docs.firecrawl.dev/api-reference/endpoint/get-crawl
Give your agent this knowledge — and 17,400+ more routes
One MCP install gives any agent live access to the full route map across 6,000+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?