Spider (spider.cloud) compatible
Change the address.
Since November 10, 2026 SpecStream answers Spider's POST /scrape and POST /search in Spider's own JSON. A page costs $0.0008, $0.80 per 1,000, and a search $0.005. Spider bills bandwidth at $1 per GB plus CPU minutes.
The switch is one line: https://api.specstream.ai/spider in place of https://api.spider.cloud, and a SpecStream key as the Bearer token. The request body and your parser stay.
The SpecStream Extract API scores 0.908 F1 on WCXB. A page that gives no text costs nothing, 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.
Spider to SpecStream, parameter by parameter and field by field
| SpecStream | Spider | |
|---|---|---|
| Address | POST https://api.specstream.ai/spider/scrape and /spider/search, also under /spider/v1/ | POST https://api.spider.cloud/scrape, /crawl and /search |
| The key | A SpecStream key as Authorization: Bearer | A Spider key as Authorization: Bearer sk-... |
| Scrape | url, several by commas, return_format as markdown, text, raw, empty or a list, return_page_links and metadata applied | url, return_format (default raw), return_page_links, metadata and request options |
| Search | search, search_limit or num, page, tbs and operators such as site: applied. Up to 10 results $0.005 | search with result and crawl options |
| Reply | A scrape answers a list, one object a page: url, content, status, error, costs, links, metadata. A search answers content[] with title, description, url | The same list per page, with costs.vendor naming the provider that served it |
| Errors | Spider's own {"error", "code"}: 400 with no url or no search, 401 for a wrong key. A busy call gets 429 with Retry-After and is not charged | Standardized HTTP response codes |
| Price | $0.80 per 1,000 pages, the same for every page, and $5 per 1,000 searches | Pay as you go from $1 per GB of content plus $0.0001 per minute of CPU. Unlimited from $40 a month for 2 concurrent requests |
| Failed page | A page that gives no text is not charged, and its costs is null | Failed requests cost $0 |
| Free to start | $10 of credit, no card, which covers 12,500 pages | Pay as you go top-ups from $5 |
The Spider reference, on SpecStream
The call, before and after
# Before
curl -X POST https://api.spider.cloud/scrape \
-H "Authorization: Bearer $SPIDER_API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://en.wikipedia.org/wiki/Web_scraping", "return_format": "markdown"}'
# After
curl -X POST https://api.specstream.ai/spider/scrape \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://en.wikipedia.org/wiki/Web_scraping", "return_format": "markdown"}'The reply is Spider's: a list with one object a page, [{"url": "...", "content": "# Web scraping ...", "status": 200, "error": null, "costs": {"total_cost": 0.0008}}].
spider-client 0.1.93 writes https://api.spider.cloud into every call and takes no other address, so the switch is in your own HTTP call: the address and the key. The bodies Spider documents run unchanged, and the /v1/ paths answer too.
What the route reads, and what it refuses
Scrape, applied: url, one or several by commas, return_format as markdown, text, raw, empty or a list (the first format wins), return_page_links and metadata. A page the site answers 404 comes back with status 404 and costs null.
Search, applied: search, search_limit or num, page, tbs such as qdr:w, and operators such as site:. A search that names no count gets 10 results.
Refused, in Spider's own {"error", "code"} body: a scrape with no url or a search with no search gets 400, and a wrong key gets 401. Every parameter was measured on production on Nov 10, 2026, and the full pass table lists each one and its result.
Spider's POST /crawl answers every page in one reply, and it is not served at /spider/crawl. A crawl on SpecStream is a job you start and then read: Firecrawl's /v2/crawl on the same key, at $0.0008 a page.
Every field that comes back
A scrape returns, for each page, url, content in the format asked, status with the page's own HTTP status, error, costs, links with return_page_links and metadata with metadata: true. A search returns content[] with title, description and url. The route does not return duration_elapsed_ms.
One price a page, and a failed page is free
On Spider a request is billed by the gigabytes of content it pulls and the CPU minutes it uses. On SpecStream every page that gives text costs $0.0008, which is $0.80 per 1,000, a search of up to 10 results costs $0.005, and a busy call gets 429 with Retry-After and charges nothing. Credit you buy never expires.
Scored on the official benchmarks
The SpecStream Extract API scores 0.908 F1 on WCXB. The Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions, 978 of them correct, and 64.0 item F1 and 43.4 row F1 on all 200 WideSearch tasks. Every score and its method is on the benchmarks page.
You decide what is kept, on each key
Create the key with zero_retention and a call made with it keeps no request text and no answer after the reply. spend_cap_cents is the most the key can spend.
curl -X POST https://api.specstream.ai/v1/account/keys \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"name": "production", "scopes": ["account:read", "finds:spend"], "spend_cap_cents": 500000, "zero_retention": true}'Pages, search and rows on one key
The same key reads up to 20 pages or documents a call with the Extract API, runs crawls and site maps at https://api.specstream.ai/firecrawl, and searches the web at $5 per 1,000 searches. Deep Search returns every match for a request in plain words as structured rows, at 5¢, 15¢ or $1 a row, with a source URL on every value.
What else Spider users price
Firecrawl
Scrape, search, map and crawl in credits: Hobby is $19 a month for 5,000 credits. SpecStream answers Firecrawl's v2 calls at https://api.specstream.ai/firecrawl, and $19 reads 23,750 pages.
Crawl4AI
An open-source crawler you host and run yourself. SpecStream answers the Crawl4AI server's /crawl and /md at https://api.specstream.ai/crawl4ai, with no server to keep up.
ScrapingBee
A page API on monthly plans: Hobby is $19 a month for 75,000 credits, and a call costs 1 to 75 credits. SpecStream answers ScrapingBee's call at https://api.specstream.ai/scrapingbee/api/v1/ at $0.80 per 1,000 pages.
Tavily
Search, extract and map billed in credits at $0.008 a credit on pay as you go. SpecStream answers Tavily's calls at https://api.specstream.ai/tavily at $0.005 a search.
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/spider where your code has https://api.spider.cloud, and send the SpecStream key as the Bearer token. In Python:
import requests
BASE = "https://api.specstream.ai/spider" # was https://api.spider.cloud
reply = requests.post(
f"{BASE}/scrape",
headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
json={"url": "https://en.wikipedia.org/wiki/Web_scraping", "return_format": "markdown", "metadata": True},
timeout=60,
)
reply.raise_for_status()
for page in reply.json():
print(page["url"], page["status"], page["metadata"]["title"], len(page["content"] or ""))3. A search in JavaScript:
const reply = await fetch("https://api.specstream.ai/spider/search", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ search: "web scraping history", search_limit: 5 }),
});
const { content } = await reply.json();
for (const result of content) console.log(result.title, result.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 Spider compatible API?
POST /scrape and POST /search at https://api.specstream.ai/spider with Spider's reply, as measured on production. A page costs $0.0008.How do I migrate from Spider?
https://api.spider.cloud becomes https://api.specstream.ai/spider, and a SpecStream key goes in the Bearer token. url, return_format, return_page_links, metadata, search, search_limit, num, page and tbs keep their meaning.How much does Spider cost?
Does the Spider Python SDK work with SpecStream?
https://api.specstream.ai/spider/scrape and /spider/search with requests or fetch, as in the steps on this page, with the same bodies.Does SpecStream answer Spider's crawl?
/spider/crawl. Since Nov 10, 2026 crawls run on the same key at https://api.specstream.ai/firecrawl/v2/crawl, at $0.0008 a page with text.Which Spider fields does SpecStream not return?
duration_elapsed_ms. Each page keeps url, content, status, error, costs, links and metadata, and each search result title, description and url.Sources
SpecStream wrote this page. Each Spider figure comes from Spider'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.
- Spider pricingspider.cloud/pricing, read Nov 10, 2026
- Spider API referencespider.cloud/docs/api, read Nov 10, 2026
- SpecStream Spider pass tablespecstream.ai/specstream/dialects/spider.md, read Nov 10, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
- ScrapingBee pricingscrapingbee.com/pricing/, read Nov 10, 2026
- ScrapingBee documentationscrapingbee.com/documentation/, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




