# Firecrawl docs: AI Agent Readiness Score 81.2% (B-)

**81.2% · 65/80 · AI Agent Readiness Score · 25/30 reading points · 40/50 agent surface points**

Firecrawl received 10 PASS votes and passed 4 of five readiness checks. The clearest finding came from the verify a crawl webhook task.

- Tested: 2026-08-19
- Verified: 2026-08-19
- Published: 2026-08-20
- Battery: v1
- Scoring: reading 30 pts · surface 50 pts
- Docs: https://docs.firecrawl.dev

Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read Firecrawl’s public documentation independently and attempted five first-hour developer jobs: scrape a page, find the exact limits, recover from a 429, verify a crawl webhook, use the Python SDK.

No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check.

## Agent surface checks · 40/50

| Check | Verdict | Points |
| --- | --- | --- |
| llms.txt | PASS | 10 |
| llms-full.txt | PASS | 10 |
| Markdown mirror | PASS | 10 |
| MCP server | PASS | 10 |
| Docs AI | FAIL | 0 |

## The Reading Test · 25/30

| Task | GPT 5.6 Sol | Opus 5 | DeepSeek v4F | Consensus |
| --- | --- | --- | --- | --- |
| Scrape a page | PARTIAL | PARTIAL | PASS | PARTIAL |
| Find the exact limits | PASS | PARTIAL | PASS | PASS |
| Recover from a 429 | PASS | PASS | PASS | PASS |
| Verify a crawl webhook | PARTIAL | PASS | PARTIAL | PARTIAL |
| Use the python sdk | PASS | PASS | PASS | PASS |

Docs platform: Mintlify (unscored) · verified 2026-08-19

## What the docs get right

- **Recover from a 429: 3 PASS votes.** The Errors page distinguishes both 429 messages, gives a remedy for each, explains Retry-After, and includes backoff code.
- **Use the python sdk: 3 PASS votes.** The Python quickstart installs `firecrawl-py`, constructs `Firecrawl`, and calls `app.scrape()`, matching the v2 API reference's SDK form.
- **4 of 5 readiness checks.** Present: llms.txt, llms-full.txt, markdown mirrors, an MCP server. Missing: docs AI.

## Scrape a page

**PARTIAL**

PARTIAL consensus from 1 PASS, 2 PARTIAL.

The API introduction requires bearer authentication, while the product introduction and Scrape guide document the same v2 scrape request without a key. The authenticated path is complete and unambiguous (base URL https://api.firecrawl.dev, Bearer fc- key, POST /v2/scrape, formats ["markdown", "html"]), but the API reference states a key is required on every request while the Scrape feature page, the Python SDK page, the Build with AI page, and the Rate Limits page all document a working keyless REST scrape. The main page offers a keyless cURL example immediately; adding an API key for higher limits is clearly explained one sentence later.

## Find the exact limits

**PASS**

PASS consensus from 2 PASS, 1 PARTIAL.

Billing and Rate Limits provide monthly credits, endpoint RPM, concurrent-browser caps, queue caps, and Browser Sandbox RPM with matching plan figures. Per-plan requests per minute, concurrent browsers, max queued jobs, and browser sandbox limits are all exact and the concurrency figures agree between Rate Limits and Billing, but the keyless daily request and credit caps are described without any numbers and the keyless MCP page points back to that same page for the value. A single page lists every plan's per-endpoint RPM, concurrent browsers, and max queued jobs in two readable tables with no contradictions across pages.

## Recover from a 429

**PASS**

PASS consensus from 3 PASS.

The Errors page distinguishes both 429 messages, gives a remedy for each, explains Retry-After, and includes backoff code. The error catalog gives both 429 conditions separate rows with distinct causes and remedies (`Rate limit exceeded` says back off and retry after `Retry-After`; `Concurrency limit reached` says wait for in-flight jobs, lower concurrency, or upgrade), plus a runnable backoff snippet in Python, Node, and cURL. Both 429 conditions (rate-limit exceeded and concurrency limit reached) are documented with distinct error messages and remedies, and the errors page includes a copy-pasteable exponential-backoff snippet.

## Verify a crawl webhook

**PARTIAL**

PARTIAL consensus from 1 PASS, 2 PARTIAL.

The configuration, payload, and HMAC steps are complete, but Overview omits `failed` from Crawl while the Crawl page lists `crawl.failed`. The four webhook pages cover the full loop end to end: the `webhook` object fields with a crawl cURL example, the crawl.started/crawl.page/crawl.completed payloads, the sha256= prefixed X-Firecrawl-Signature with raw-body HMAC verification in Node and Python using timing-safe comparison, where the secret lives, the 10-second timeout with a 1/5/15 minute retry ladder, and a troubleshooting page naming the parsed-body mistake. Webhook configuration and lifecycle events are fully documented on the main webhooks page, but that page contains no link to the security page, no mention of X-Firecrawl-Signature, and no mention of HMAC verification, forcing an agent to discover the security page through search or prior knowledge.

## Use the python sdk

**PASS**

PASS consensus from 3 PASS.

The Python quickstart installs `firecrawl-py`, constructs `Firecrawl`, and calls `app.scrape()`, matching the v2 API reference's SDK form. The quickstart, the SDK reference, and the API reference Python tab agree on `pip install firecrawl-py`, `from firecrawl import Firecrawl`, and `firecrawl.scrape(url)` against the current v2 API, so the minimum scrape example matches the current API form. The official Python SDK (firecrawl-py) and a minimal scrape example are documented on both the dedicated SDK page and the advanced scraping guide, using the current v2/scrape endpoint.

## The receipt

> Every webhook request from Firecrawl includes an `X-Firecrawl-Signature` header containing an HMAC-SHA256 signature.

The configuration, payload, and HMAC steps are complete, but Overview omits `failed` from Crawl while the Crawl page lists `crawl.failed`.

- [docs.firecrawl.dev/features/crawl](https://docs.firecrawl.dev/features/crawl)

## Readiness notes

Initialize returned JSON-RPC protocol 2025-06-18 and server name Firecrawl Docs.

The live docs expose no Ask AI or assistant control.

## Method note

This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five readiness checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 3 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-19.

Methodology: https://docsforagents.com/methodology/

Canonical URL: https://docsforagents.com/reports/firecrawl-docs-ai-agent-readiness/
