Skip to the page

Firecrawl deep research ends Dec 10, 2026

Where each field goes.

Firecrawl removes /v1/deep-research on Thursday, December 10, 2026, at 15:00 UTC. After that every request fails with HTTP 410 Gone. Firecrawl's replacement is /v2/agent, where the report and the sources are fields you add to a schema.

SpecStream is the live web data engine for teams and agents. POST /v1/research takes the same question and returns a written report with the page behind each cited sentence, at $0.10, $0.30 or $1.00 a report.

New accounts get $10 of credit, no card. It covers 100 quick reports or 33 standard reports.

Every deep research field, on SpecStream and on /v2/agent

SpecStreamFirecrawl v1 deep researchFirecrawl /v2/agent
After Dec 10, 2026POST /v1/research answers, on the same key as the Search API and the Extract APIRemoved at 15:00 UTC. Every request fails with HTTP 410 GoneThe replacement Firecrawl names. Needs the latest SDK and a rewrite of each call
The callPOST https://api.specstream.ai/v1/research, then GET /v1/research/{id}POST /v1/deep-research, then GET /v1/deep-research/{id}POST /v2/agent, then GET /v2/agent/{id}
The questioninput, up to 15,000 characters. Put your systemPrompt and analysisPrompt text in itquery, with systemPrompt and analysisPrompt beside itprompt. Firecrawl's guide says to merge query, systemPrompt and analysisPrompt into one prompt
How far it readsdepth: quick, standard (the default) or deep. About one minute, four minutes and five minutesmaxDepth 1 to 10 (default 7), timeLimit 30 to 300 seconds (default 270), maxUrls 1 to 1,000 (default 20)maxDepth and timeLimit have no equivalent. maxUrls becomes maxCredits, a spend cap that defaults to 2,500. There is no page limit
The reportreport.content, on every report, with [1] markers. length is short, standard or longdata.finalAnalysisdata.report, after you add a report string to schema
The sourcesreport.sources lists every page read. report.citations gives each cited sentence its page, read time and passagedata.sources: url, title, description and icon for eachdata.sources, after you add a sources array to schema
ProgressGET /v1/research/{id}/events, server-sent events that resume with Last-Event-ID, or a webhookdata.activities and the onActivity callbackGET /v2/agent/{id}/trace, or a webhook
JSON in place of text"output": {"type": "json", "schema": {...}}jsonOptions.schemaschema
Price$0.10 quick, $0.30 standard, $1.00 deep, shown as price_usd in the reply to the POST. Taken once, when the report is delivered. A cancelled report is not charged1 credit for each URL analyzed5 daily runs free, then usage-based pricing. AI credits are billed at 2× in a zero data retention run
When a run stops earlyPOST /v1/research/{id}/cancel stops it at no charge. 402 before the start when the balance does not hold the pricestatus is processing, completed or failedA run that reaches maxCredits reports failed with stopReason credit_limit_reached. data is set on completed runs only

Why deep research users move to SpecStream

Other Firecrawl deep research alternatives

How SpecStream scores

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

How to migrate, step by step

1. Find every deep research call: deepResearch, asyncDeepResearch and checkDeepResearchStatus in Node, deep_research, async_deep_research and check_deep_research_status in Python, and raw calls to /v1/deep-research.

2. Create a key under Agents & API in the workspace. New accounts get $10 of credit, no card.

3. Start the report. query becomes input, and maxDepth, timeLimit and maxUrls become one depth. The reply is 202 with the report's id and its price_usd.

curl -X POST https://api.specstream.ai/v1/research \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"input": "What are the latest developments in quantum computing?", "depth": "standard"}'

4. Read it until status is completed, as you did with GET /v1/deep-research/{id}. report.content takes the place of data.finalAnalysis, and report.sources the place of data.sources.

curl https://api.specstream.ai/v1/research/REPORT_ID \
  -H "Authorization: Bearer $SPECSTREAM_API_KEY"

5. If you used onActivity, follow GET /v1/research/{id}/events or pass "webhook": {"url": "https://..."}. If you used jsonOptions.schema, send the same JSON Schema as "output": {"type": "json", "schema": {...}}.

6. Send an Idempotency-Key header on the POST so a retry returns the same report and is charged once. The research report docs list every field and error.

An agent can run the same report over MCP at https://api.specstream.ai/mcp: research_price shows the price of each depth, start_research starts the report once the person who pays approves that price, and get_research reads it. The MCP guide has the setup for each client.

Frequently asked questions

Something we didn't answer? Talk to a human

When does Firecrawl deep research shut down?
On Thursday, December 10, 2026, at 15:00 UTC. After that every /v1/deep-research request fails with HTTP 410 Gone, including the SDK methods deepResearch and deep_research.
What replaces Firecrawl's /v1/deep-research?
Firecrawl names /v2/agent, or your own research loop on its Search API. On /v2/agent you add a report string and a sources array to schema to get back what finalAnalysis and sources held. SpecStream's POST /v1/research returns both on every report.
What is the best Firecrawl deep research alternative?
SpecStream, for a team that wants the same shape of call: one question in, a written report with its sources out, for $0.10, $0.30 or $1.00. The report takes about one minute at quick, four at standard and five at deep.
How much did Firecrawl deep research cost, and what does SpecStream cost?
Firecrawl billed 1 credit for each URL analyzed, up to the maxUrls you set, 20 by default. SpecStream bills $0.10 for a quick report, $0.30 for a standard report and $1.00 for a deep report, once, when the report is delivered.
Do maxDepth, timeLimit and maxUrls have an equivalent?
On SpecStream the three become one field, depth, with the values quick, standard and deep. On Firecrawl /v2/agent, maxDepth and timeLimit are removed with no equivalent and maxUrls becomes maxCredits.
Can I get JSON in place of a text report?
Yes. Send "output": {"type": "json", "schema": {...}} with a JSON Schema, the same schema you passed as jsonOptions.schema. The price stays $0.10, $0.30 or $1.00 by depth.
Can I limit the sites a report reads?
Yes. include_domains and exclude_domains choose the sites for a report, at the same $0.10, $0.30 or $1.00.

Sources

SpecStream wrote this page. Each rival figure comes from that company's own page.

  1. Firecrawl: Migrating from Deep Researchdocs.firecrawl.dev/migrating-from-deep-research.md, read Nov 13, 2026
  2. Firecrawl: Deep Research (legacy v1)docs.firecrawl.dev/features/alpha/deep-research.md, read Nov 13, 2026
  3. Firecrawl: Agentdocs.firecrawl.dev/features/agent.md, read Nov 13, 2026
  4. Firecrawl: Billingdocs.firecrawl.dev/billing.md, read Nov 13, 2026
  5. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 13, 2026
  6. Parallel pricingdocs.parallel.ai/getting-started/pricing.md, read Nov 13, 2026