Skip to content

Firecrawl Crawl

POST/v1/api/firecrawl/crawl

Crawl an entire website starting from a URL. Discovers and scrapes all reachable pages, returning clean markdown for each. Runs asynchronously — submit the job, then poll for results.

Request body

Call this async operation at its vendor-qualified URL. The model identity is encoded in the path; only operation-specific input fields belong in the request body.

stringurlrequired

The starting URL to crawl.

Optional<integer>limit

Maximum number of pages to crawl.

Range: 1 to 10000

Optional<object>scrapeOptions

Options passed to the scraper for each page.

Optional<array<string>>scrapeOptions.formats

Request parameter supported by this operation.

Response Schema

The 202 submit response is pending or running and contains only id, status, and model. Poll GET /v1/run/{id} for the same public status envelope.

stringidrequired

Opaque SandBase run identifier. Use it exactly as returned; no prefix is guaranteed.

stringstatusrequired

Current public run status.

Allowed values: pending, running, completed, failed, timeout

stringmodelrequired

Public SandBase model name used for this run.

Optional<array<object>>outputs

Present only for completed runs. Contains exactly one item whose only field is data.

Optional<object | array>outputs[0].data

Operation-specific business payload. This reference uses an empty object when no safe example can be confirmed.

Optional<object>error

Present only for failed or timeout runs. Contains a public error type and sanitized message.

Optional<string>error.type

Stable public error category.

Optional<string>error.message

Sanitized error message safe to show to clients.

Optional<object>usage

Usage details when available.

API capabilities

array<string>capability_tagsrequired

Capabilities declared by the API registry.

Default: web-crawling, site-scraping, async

stringexecution_moderequired

Execution mode declared by the API registry.

Default: async

pending response

{"id":"f3d2e8a1-7c4b-4a12-9d2e-123456789abc","status":"pending","model":"firecrawl/crawl"}

running response

{"id":"f3d2e8a1-7c4b-4a12-9d2e-123456789abc","status":"running","model":"firecrawl/crawl"}

completed response

{"id":"f3d2e8a1-7c4b-4a12-9d2e-123456789abc","status":"completed","model":"firecrawl/crawl","outputs":[{"data":{}}]}

failed response

{"id":"f3d2e8a1-7c4b-4a12-9d2e-123456789abc","status":"failed","model":"firecrawl/crawl","error":{"type":"upstream_error","message":"upstream request failed"}}

timeout response

{"id":"f3d2e8a1-7c4b-4a12-9d2e-123456789abc","status":"timeout","model":"firecrawl/crawl","error":{"type":"upstream_error","message":"upstream request failed"}}