Tavily map compatible
Change the address.
Since November 10, 2026 SpecStream answers Tavily's POST /map in Tavily's own JSON. A map costs $0.0008, one page read, for up to 5,000 URLs. Tavily charges 1 API credit per 10 pages mapped.
The switch is one line: TavilyClient(api_key=KEY, api_base_url="https://api.specstream.ai/tavily") in place of TavilyClient(api_key="tvly-..."). client.map() and your parser stay.
Crawls run on the same key at https://api.specstream.ai/firecrawl/v2/crawl, $0.0008 a page. The Extract API scores 0.908 F1 on WCXB, and a new account gets $10 of credit, no card.
New accounts get $10 of credit, no card. It covers 12,500 maps or pages.
Tavily map to SpecStream, parameter by parameter and field by field
| SpecStream | Tavily | |
|---|---|---|
| Address | POST https://api.specstream.ai/tavily/map | POST https://api.tavily.com/map |
| The key | A SpecStream key as Authorization: Bearer, or api_key in the body | A Tavily key as Authorization: Bearer tvly-... |
| Parameters applied | url (a bare host too), limit, max_depth, select_paths, exclude_paths, select_domains and exclude_domains | The same, plus instructions, max_breadth and allow_external |
| URLs a map | 50 by default, up to 5,000 | limit default 50 |
| Reply | base_url, results as URL strings, response_time and request_id | The same, plus usage |
| Errors | Tavily's own: 400 for a bad pattern or max_depth past 5, 401 for a wrong key. A busy call gets 429 with Retry-After and is not charged | 400 invalid request, 401 key wrong or missing, 429 with Retry-After, 432 plan limit exceeded |
| Price | $0.0008 a map, whatever its size | 1 API credit per 10 pages, 2 per 10 with instructions. Pay as you go is $0.008 a credit |
| Crawl | Not at /tavily/crawl. Firecrawl's crawl on the same key at https://api.specstream.ai/firecrawl, $0.0008 a page | POST /crawl, 1 credit per 5 successful extractions |
| Free to start | $10 of credit, no card, which covers 12,500 maps | 1,000 free API credits a month |
The Tavily map reference, on SpecStream
The call, before and after
# Before
curl -X POST https://api.tavily.com/map \
-H "Authorization: Bearer $TAVILY_API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://quotes.toscrape.com/", "select_paths": ["/author/.*"]}'
# After
curl -X POST https://api.specstream.ai/tavily/map \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"url": "https://quotes.toscrape.com/", "select_paths": ["/author/.*"]}'The reply is Tavily's: {"base_url": "https://quotes.toscrape.com/", "results": ["https://quotes.toscrape.com/author/Albert-Einstein", ...], "response_time": ..., "request_id": "..."}.
With tavily-python 0.8.5 the change is one line: TavilyClient(api_key=KEY, api_base_url="https://api.specstream.ai/tavily"). client.map(url) runs as before, and the same client's search and extract answer at that address too.
What the route reads, and what it refuses
Applied: url, also as a bare host such as quotes.toscrape.com, limit, max_depth (depth 1 is the start page's links, a deeper map adds the pages the site's sitemaps publish), and the regular expressions in select_paths, exclude_paths, select_domains and exclude_domains.
Refused, in Tavily's own status and body: a pattern that is not a valid regular expression gets 400 before the map is charged, max_depth past 5 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.
Tavily's POST /crawl answers every page's content in one reply, and it is not served at /tavily/crawl. A crawl on SpecStream is a job you start and then read: Firecrawl's /v2/crawl on the same key, with includePaths, excludePaths, limit and maxDiscoveryDepth.
Every field that comes back
base_url, results as a list of URL strings, response_time in seconds and request_id. The route does not return usage; the price of a map is fixed at $0.0008.
One price a map
On Tavily a map costs 1 API credit per 10 pages, so a map of 500 URLs is 50 credits, $0.40 at $0.008 a credit. On SpecStream every map that gives links costs $0.0008, one page read, up to 5,000 URLs. 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 answers Tavily's /search at $0.005 and /extract at $0.0008 a page, and reads up to 20 pages or documents a call with the Extract API. 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. The full comparison is on the Tavily alternative page.
What else Tavily map users price
Firecrawl map and crawl
Map and crawl in credits: a map is 1 credit a call and Hobby is $19 a month for 5,000 credits. SpecStream answers Firecrawl's /v2/map and /v2/crawl at https://api.specstream.ai/firecrawl, $0.0008 a map or a page.
Spider
A scrape and crawl API billed by bandwidth, from $1 per GB, plus CPU time. SpecStream answers Spider's scrape and search at https://api.specstream.ai/spider, and a page costs $0.0008.
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.
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.
2. Set the address to https://api.specstream.ai/tavily where your code has https://api.tavily.com, and send the SpecStream key as the Bearer token. In Python:
import requests
BASE = "https://api.specstream.ai/tavily" # was https://api.tavily.com
reply = requests.post(
f"{BASE}/map",
headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
json={"url": "https://quotes.toscrape.com/", "limit": 100, "exclude_paths": ["/tag/.*"]},
timeout=60,
)
reply.raise_for_status()
for url in reply.json()["results"]:
print(url)3. In JavaScript:
const reply = await fetch("https://api.specstream.ai/tavily/map", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`, "Content-Type": "application/json" },
body: JSON.stringify({ url: "quotes.toscrape.com", max_depth: 2, limit: 500 }),
});
const { base_url, results } = await reply.json();
console.log(base_url, results.length);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 Tavily map compatible API?
POST /map at https://api.specstream.ai/tavily/map with Tavily's reply, as measured on production. A map costs $0.0008.How do I migrate from Tavily map?
https://api.tavily.com becomes https://api.specstream.ai/tavily, and a SpecStream key goes in the Bearer token. url, limit, max_depth, select_paths, exclude_paths, select_domains and exclude_domains keep their meaning.How much does Tavily map cost?
instructions, and pay as you go is $0.008 a credit. On SpecStream a map of up to 5,000 URLs costs $0.0008.Does the Tavily Python SDK work with SpecStream?
api_base_url="https://api.specstream.ai/tavily", as tested on production on Nov 10, 2026. map, search and extract run on that address.Does SpecStream answer Tavily crawl?
/tavily/crawl. Since Nov 10, 2026 crawls run on the same key at https://api.specstream.ai/firecrawl/v2/crawl, in Firecrawl's form, at $0.0008 a page with text.Which Tavily map fields does SpecStream not return?
usage. base_url, results, response_time and request_id come back on every reply.Sources
SpecStream wrote this page. Each Tavily figure comes from Tavily'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.
- Tavily mapdocs.tavily.com/documentation/api-reference/endpoint/map, read Nov 10, 2026
- Tavily crawldocs.tavily.com/documentation/api-reference/endpoint/crawl, read Nov 10, 2026
- Tavily pricingtavily.com/pricing, read Nov 10, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
- SpecStream Tavily map pass tablespecstream.ai/specstream/dialects/tavily_site.md, read Nov 10, 2026
- Spider pricingspider.cloud/pricing, read Nov 10, 2026
- Firecrawl pricingfirecrawl.dev/pricing, read Nov 10, 2026
- Firecrawl billingdocs.firecrawl.dev/billing.md, read Nov 10, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




