Drop in by swapping the base URL. Eight specialty endpoints Firecrawl doesn't ship. Flat $0.001 per credit on every plan and on pay-as-you-go.
Three aliases return the response envelope your existing Firecrawl parser already handles. Change the base URL to https://api.crawlcrawl.com and your API key prefix to crk_; everything else stays.
| Your code today | Endpoint we accept | Response shape returned |
|---|---|---|
| firecrawl.scrape(url) | POST /v1/scrape | { success, data: { markdown, html, metadata } } |
| firecrawl.map(url) | POST /v1/map | { success, links: [...] } |
| firecrawl.crawl(url) | POST /v1/crawl | Async crawl with the same webhook payload format |
/v1/extract (LLM-driven extraction) is not yet shipped on crawlcrawl — the endpoint returns 501 with a breadcrumb pointing at /v1/actors/structured-data for deterministic schema.org extraction.
Specialty actor endpoints that cover the work most teams used to glue together from separate tools. Available on every plan, including Free.
| Endpoint | What it does |
|---|---|
| /v1/actors/audit-onpage | About 30 technical SEO rules per page — missing h1, meta length, robots / canonical conflicts, hreflang mismatches. |
| /v1/actors/extract-article | Clean article body with author and date. Strips navigation, footer, comment threads, ad slots automatically. |
| /v1/actors/check-links | Validate every link on a page. Optional anti-bot retry rescues LinkedIn 999 / Cloudflare false positives. |
| /v1/actors/structured-data | JSON-LD, Microdata, RDFa, OpenGraph, Dublin Core, Microformats — six syntaxes parsed and merged in one JSON. |
| /v1/actors/render-diff | Static fetch vs full browser render. Returns ai_bot_blind_pct — the share of the page invisible to GPT-class crawlers. |
| /v1/actors/internal-link-graph | PageRank, weakly-connected components, orphan detection on any crawled site. Runs on an existing crawl id. |
| /v1/actors/sitemap-audit | Seven-bucket health: ok / redirect / 4xx / 5xx / noindex / canonicalised-away / network error. dry_run is free. |
| /v1/llms-txt-build | Generate a publishable /llms.txt for any site in one call. Single endpoint, no external tool. |
Every crawl you run stays in your account until you call DELETE /v1/crawls/{id}. There is no automatic expiry. A crawl you ran today is readable next month and next year, with the same JSON shape and the same markdown content, via GET /v1/crawls/{id}/export — no credits charged for retrieval.
Full retention policy: retention.html.
One credit = one chargeable call (scan, scrape, crawled page, or actor invocation). Same per-credit price on every monthly plan and on pay-as-you-go — bigger plans never cost less per credit, and PAYG is never penalised. Free tier: 1,000 credits per month, no card.
See the full ladder: pricing.html.
Two strings change. Set the base URL to https://api.crawlcrawl.com and use an API key starting with crk_. The Firecrawl SDK works against our base URL because /v1/scrape, /v1/map, and /v1/crawl return the same { success, data } envelope your existing parser handles.
1,000 credits per month, no card. Eight actor endpoints included. Permanent — not a trial that expires.
Until you delete it with DELETE /v1/crawls/{id}. There is no automatic expiry. Full retention policy lives at retention.html.
Yes, at zero credit cost. GET /v1/crawls/{id}/export returns the whole crawl as newline-delimited JSON with markdown body for every page, optionally including raw HTML.
/v1/extract (LLM-driven natural-language extraction) is not yet on crawlcrawl. The closest equivalent is /v1/actors/structured-data, which extracts schema.org / OpenGraph / JSON-LD / Microdata / RDFa / Dublin Core / Microformats deterministically. The endpoint /v1/extract on crawlcrawl returns 501 with a breadcrumb pointing at the right alternative.
1,000 credits per month, no card. Eight actor endpoints included. Swap the base URL and you're running on crawlcrawl.