Skip to the page

Firecrawl crawl and map compatible

Change the address.

Since November 10, 2026 SpecStream answers Firecrawl's POST /v2/map, POST /v2/crawl and GET and DELETE /v2/crawl/{id} in Firecrawl's own JSON. A crawled page costs $0.0008, and a page that gives no text costs nothing.

The switch is one line: Firecrawl(api_key=KEY, api_url="https://api.specstream.ai/firecrawl") in place of Firecrawl(api_key="fc-..."). The crawl waiter, next and your parser stay.

The SpecStream Extract API scores 0.908 F1 on WCXB. A map costs $0.0008, credit you buy never expires, and a new account gets $10 of credit, no card.

New accounts get $10 of credit, no card. It covers 12,500 pages.

Firecrawl crawl and map to SpecStream, parameter by parameter and field by field

SpecStreamFirecrawl
Addresshttps://api.specstream.ai/firecrawl, then /v2/map, /v2/crawl and /v2/crawl/{id}https://api.firecrawl.dev/v2, then /map, /crawl and /crawl/{id}
The keyA SpecStream key as Authorization: BearerA Firecrawl key as Authorization: Bearer fc-...
Mapurl, limit, search, ignoreQueryParameters, sitemap and includeSubdomains applied. Up to 5,000 links a mapThe same parameters. 1 credit a call
Crawlurl, limit, includePaths, excludePaths, maxDiscoveryDepth, crawlEntireDomain and scrapeOptions.formats applied. Up to 500 pages a jobThe same parameters, limit defaults to 10,000. 1 credit a page
Crawl statusstatus, total, completed, creditsUsed, expiresAt, next and data[] with markdown, html, rawHtml, links and metadataThe same, plus createdAt, completedAt and duration
ErrorsFirecrawl's own: 404 for an unknown crawl id, 401 for a wrong key, 409 for a cancel of a finished job. A busy call gets 429 with Retry-After and is not charged401 for a missing or revoked key, 402 when credits run out, 429 rate limit exceeded
Price$0.80 per 1,000 pages. A map is one page read, $0.0008. $19 reads 23,750 pagesHobby $19 a month for 5,000 credits. Standard $99 a month for 100,000
Failed pageA page that gives no text is not chargedA page that returns a document is billed, including a 404. No document is 0 credits
Free to start$10 of credit, no card, which covers 12,500 pages1,000 free credits a month, no card

The Firecrawl crawl and map reference, on SpecStream

What else Firecrawl users price

How SpecStream scores

The same numbers as the benchmarks page, from the official tasks and scorers.

How to migrate, step by step

1. Create a key under Agents & API in the workspace. A new account gets $10 of credit, no card, which covers 12,500 pages.

2. Set the address to https://api.specstream.ai/firecrawl where your code has https://api.firecrawl.dev, and send the SpecStream key as the Bearer token. In Python:

import time
import requests

BASE = "https://api.specstream.ai/firecrawl"  # was https://api.firecrawl.dev
HEADERS = {"Authorization": f"Bearer {SPECSTREAM_KEY}"}

job = requests.post(f"{BASE}/v2/crawl", headers=HEADERS,
                    json={"url": "https://quotes.toscrape.com/", "limit": 10}, timeout=60).json()
while True:
    state = requests.get(job["url"], headers=HEADERS, timeout=60).json()
    if state["status"] in ("completed", "failed", "cancelled"):
        break
    time.sleep(2)
for page in state["data"]:
    print(page["metadata"]["url"], len(page["markdown"]))

3. A map in JavaScript:

const reply = await fetch("https://api.specstream.ai/firecrawl/v2/map", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`, "Content-Type": "application/json" },
  body: JSON.stringify({ url: "https://quotes.toscrape.com/", search: "einstein", limit: 20 }),
});
const { links } = await reply.json();
console.log(links.map((link) => link.url));

4. Read 429 as a call to send again after Retry-After. It is not charged.

Frequently asked questions

Something we didn't answer? Talk to a human

Is there a Firecrawl crawl and map compatible API?
Yes. Since Nov 10, 2026 SpecStream answers Firecrawl's /v2/map, /v2/crawl and /v2/crawl/{id} at https://api.specstream.ai/firecrawl in Firecrawl's JSON, as measured on production. A crawled page costs $0.0008.
How do I migrate from Firecrawl crawl?
Change one address: https://api.firecrawl.dev becomes https://api.specstream.ai/firecrawl, and a SpecStream key goes in the Bearer token. url, limit, includePaths, excludePaths, maxDiscoveryDepth, crawlEntireDomain and scrapeOptions.formats keep their meaning.
How much does Firecrawl crawl cost?
A crawled page is 1 credit and a map is 1 credit, and Hobby is $19 a month for 5,000 credits. SpecStream costs $0.80 per 1,000 pages with no plan, a map costs $0.0008, and its credit never expires.
Which apps and SDKs take the SpecStream address for Firecrawl crawl and map?
LlamaIndex, llama-index-readers-web 0.7.0: pass api_url="https://api.specstream.ai/firecrawl" to FireCrawlWebReader, with your SpecStream key as api_key. Its crawl and map modes run through this route. LangChain, langchain-firecrawl 0.1.0: pass api_url="https://api.specstream.ai/firecrawl" to FirecrawlLoader. Its crawl and map modes run through this route. Dify: in the Firecrawl data source credential, set the base URL to https://api.specstream.ai/firecrawl. Its website crawl then runs on SpecStream.
Does the Firecrawl Python SDK work with SpecStream?
Yes. firecrawl-py 4.55.0 works with api_url="https://api.specstream.ai/firecrawl", as tested on production on Nov 10, 2026: map, crawl with its waiter, start_crawl, get_crawl_status and cancel_crawl. The JavaScript SDK 4.52.0 passed 6 of 6 checks with apiUrl.
How many pages can one crawl read?
Up to 500 pages a crawl job, and up to 5,000 links a map. A larger limit reads to that ceiling, and the status read pages through next as Firecrawl's does.
Which Firecrawl fields does SpecStream not return?
links[].title and links[].description on a map, createdAt, completedAt and duration on a status read, and screenshot, metadata.description and metadata.language on a page. Every other field a client reads comes back.

Sources

SpecStream wrote this page. Each Firecrawl figure comes from Firecrawl's own pages, and each other provider's figure from that company's own page. The route's behavior comes from its code and the pass table measured on production.

  1. Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
  2. Firecrawl billingdocs.firecrawl.dev/billing.md, read Nov 10, 2026
  3. Firecrawl errorsdocs.firecrawl.dev/api-reference/errors.md, read Nov 10, 2026
  4. Firecrawl crawldocs.firecrawl.dev/features/crawl.md, read Nov 10, 2026
  5. SpecStream Firecrawl map and crawl pass tablespecstream.ai/specstream/dialects/firecrawl_site.md, read Nov 10, 2026
  6. Spider pricingspider.cloud/pricing, read Nov 10, 2026
  7. Firecrawl API referencedocs.firecrawl.dev/api-reference/v2-openapi.json, read Nov 10, 2026
  8. Tavily pricingtavily.com/pricing, read Nov 10, 2026
  9. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
  10. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  11. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026