Migrate from Tavily
The same POST /search, at $5 per 1,000.
A Tavily search costs $0.008 a credit pay as you go, and an advanced search takes 2 credits. SpecStream answers the same POST /search in Tavily's JSON for $0.005. This guide maps each parameter and each field.
The switch is one line: https://api.specstream.ai/tavily in place of https://api.tavily.com, and a SpecStream key as the Bearer token. Your code reads results[].title, url and content as before.
SpecStream scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks. Every call is $5 per 1,000 searches of up to 10 results, basic or advanced.
New accounts get $10 of credit, no card. It covers 2,000 searches.
Tavily search to SpecStream, parameter by parameter and field by field
| SpecStream | Tavily | |
|---|---|---|
| Address | POST https://api.specstream.ai/tavily/search | POST https://api.tavily.com/search |
| The key | A SpecStream key as Authorization: Bearer, or in api_key in the body | A Tavily key in a Bearer authentication header |
| `max_results` | 0 to 20, and 5 when you send none. A value outside that range gets 400 | 0 to 20, default 10 |
| `search_depth` | advanced runs the default search, basic and the rest the fast search. Both cost the same $0.005 | A basic search costs 1 credit and an advanced search 2 credits |
| `include_raw_content` | true, markdown or text fills raw_content with the text of each page closest to the query, at no extra cost | markdown or true returns each result's page content as markdown |
| Cached or live | Every search is read from the live web at the moment of the call. max_age_hours is accepted and not needed | Serves cached copies and fetches pages live as needed. max_age_hours from 1 to 720 sets the age of the cached copy, 0 fetches live |
| The reply | query, answer (with include_answer), images (always empty), follow_up_questions (null), results[], response_time, request_id, and usage.credits 1 with include_usage | results[] with a title, URL, content and relevance score, an optional answer, and the raw content when asked |
| Each result | title, url, content, score and raw_content, and published_date when the page has a date. score follows the rank, highest first. Not returned: favicon and images | A title, URL, content and relevance score for each result |
| Errors | Tavily's {"detail": {"error": ...}}. An empty balance answers 432, the status Tavily's clients read as a limit. A 429 comes with Retry-After and charges nothing | A failed URL extraction or map is not charged |
| Price per 1,000 searches | $5 for up to 10 results, basic or advanced. 20 results cost $0.011 a call | $8 basic and $16 advanced at $0.008 a credit pay as you go, or $0.0075 to $0.005 a credit on monthly plans |
| When the money runs out | Nothing resets and nothing expires. Credit you buy stays until you use it | Requests stop when the monthly credits run out, until they reset on the first day of the month or you upgrade |
| Free to start | $10 of credit, no card, which covers 2,000 searches | 1,000 free credits a month, no credit card |
The Tavily reference, on SpecStream
The call, before and after
# Before
curl -X POST https://api.tavily.com/search \
-H "Authorization: Bearer $TAVILY_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "Who founded Mistral AI and when?", "max_results": 5}'
# After
curl -X POST https://api.specstream.ai/tavily/search \
-H "Authorization: Bearer $SPECSTREAM_API_KEY" -H "Content-Type: application/json" \
-d '{"query": "Who founded Mistral AI and when?", "max_results": 5}'The body and the parser stay. The base address gains /tavily, and the key changes. A call with no max_results returns 10 results, as Tavily's does.
Apps and SDKs that take the address as a setting
Each line was run on production on November 10, 2026 through that client's own request and reply code. Put your SpecStream key wherever the client takes its key.
LangChain, langchain-tavily 0.2.18: pass api_base_url="https://api.specstream.ai/tavily" to TavilySearch.
Every parameter, and what the route does with it
Read and used in the search: query, max_results (0 to 20), include_domains and exclude_domains (a list, or names apart by commas), time_range (day, d, week, w, month, m, year, y), topic news with days, start_date and end_date.
Read to choose the search: search_depth advanced, include_answer, include_raw_content and a max_results above 10 run the default search; every other call runs the fast search. include_raw_content adds the page text. The price is the same on both.
Read to shape the reply: include_answer (true, basic or advanced), include_raw_content (true, markdown or text) and include_usage. Accepted and not used: country, include_images, max_age_hours and the rest, so a client that sends them is never refused.
Every field that comes back
The reply has query, follow_up_questions (null), answer, images (an empty list), results, response_time in seconds and request_id, plus usage {"credits": 1} when you send include_usage. answer is filled when you ask for it and the search has one, and null otherwise.
Each result has title, url, content, score and raw_content, and published_date when the page has a date. score follows the rank order from the top result down, so code that sorts by it keeps the order. raw_content is the text of the page closest to your query, up to about 3,500 characters, or null when you did not ask for it. The route does not return favicon or images.
One field is added: specstream, with what the Search API returns beyond Tavily's fields, including the call's price_usd. A parser that reads Tavily's fields never sees it.
$5 per 1,000 searches, basic or advanced
On Tavily pay as you go, 1,000 basic searches cost $8 and 1,000 advanced searches $16. On SpecStream every call of up to 10 results costs $0.005, with page text and the answer included, and max_results 20 costs $0.011. A call stopped by a 429 charges nothing, and credit you buy never expires.
The most accurate web search API, in about one second
On SimpleQA Verified the SpecStream Search API scores 97.9 F-score on all 1,000 official questions, 978 of them correct. On WideSearch it scores 64.0 item F1 and 43.4 row F1 on all 200 official tasks. The Extract API scores 0.908 F1 on WCXB. Every score and its method is on the benchmarks page.
A basic Tavily call runs the fast search. Measured on production on November 9, 2026, its median was 0.82 s at 1 search a second and 1.07 s at 20 a second, the 95th percentile stayed between 1.09 and 1.73 s, and it answered 718 of 720. It takes up to 8,800 searches a minute on one account.
You decide what is kept, on each key
Create the key with zero_retention and a search made with it keeps no request text and no answer after the reply: it is not in the history, its answer is not reused for another call, and its log lines carry neither. 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}'Search, pages and rows on one key
The same key reads up to 20 pages or documents a call with the Extract API at $0.80 per 1,000 pages, and a page with no text is not charged. 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 most a run can cost is approved before it starts. The full comparison is on the Tavily alternative page.
What else Tavily users price
Exa
A search API on Exa's own index, at $7 per 1,000 requests on auto and $4 on lite for up to 10 results, with its own request and reply. On SpecStream a Tavily call of up to 10 results costs $0.005 and needs no new code.
Brave Search API
A search API on Brave's own index at $5 per 1,000 requests, with $5 in free credits every month and 50 queries per second, in Brave's own reply shape. SpecStream costs the same per call and answers in Tavily's shape.
Serper
Google results as JSON, sold in credit packs from $1.00 per 1,000 for 50,000 credits, and the credits are valid for 6 months. Credit you buy on SpecStream never expires, and the call your code sends to Tavily keeps working.
Parallel
A Search API that starts at $1 per 1,000 requests, with 600 Search calls a minute on the Developer plan. Its migration guide maps Tavily calls to Parallel's own request. SpecStream answers the Tavily call as it is, and takes up to 8,800 searches a minute on one account.
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 2,000 searches.
2. Set the base 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}/search",
headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
json={"query": "Who founded Mistral AI and when?", "max_results": 10, "include_answer": True},
timeout=30,
)
reply.raise_for_status()
data = reply.json()
print(data["answer"])
for result in data["results"]:
print(result["title"], result["url"], result["score"])3. In JavaScript:
const res = await fetch("https://api.specstream.ai/tavily/search", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.SPECSTREAM_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({ query: "Who founded Mistral AI and when?", max_results: 10 }),
});
const data = await res.json();
for (const result of data.results) console.log(result.title, result.url);4. Read 432 as an empty balance and 429 as a call to send again after Retry-After; neither is charged.
5. When your product needs every match in place of a results page, write the request in plain words. SpecStream reads it back as the conditions every row must meet and the facts to bring back, quotes the most it can cost, and delivers the rows after you approve.
Frequently asked questions
Something we didn't answer? Talk to a human
What is the best Tavily API alternative?
POST /search at https://api.specstream.ai/tavily in Tavily's JSON, and scores 97.9 F-score on all 1,000 SimpleQA Verified questions.Is there a free Tavily alternative?
429 is never charged.Does an advanced search cost more on SpecStream?
search_depth advanced, include_answer or include_raw_content. On Tavily pay as you go an advanced search takes 2 credits at $0.008 each.Which apps and SDKs take the SpecStream address for Tavily?
langchain-tavily 0.2.18: pass api_base_url="https://api.specstream.ai/tavily" to TavilySearch.Which Tavily fields does SpecStream not return?
images is always an empty list, follow_up_questions is null and results carry no favicon. Each result has title, url, content, score and raw_content, and published_date when the page has a date.Does the SpecStream route return raw_content?
include_raw_content set to true, markdown or text. raw_content holds the text of the page closest to your query, up to about 3,500 characters, at no extra cost; the call takes about 3 s in place of 1 s.How many results can one call return?
max_results, as on Tavily, and 5 when you send none. A call of up to 10 results costs $0.005 and a call of 20 costs $0.011.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 is taken from its code.
- Tavily pricingtavily.com/pricing, read Nov 9, 2026
- Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 9, 2026
- Tavily search referencedocs.tavily.com/documentation/api-reference/endpoint/search.md, read Nov 9, 2026
- Exa pricingexa.ai/docs/admin/pricing.md, read Nov 9, 2026
- Brave Search APIbrave.com/search/api/, read Nov 9, 2026
- Serperserper.dev/, read Nov 9, 2026
- Parallel pricingparallel.ai/pricing, read Nov 9, 2026
- Parallel, migrate to Paralleldocs.parallel.ai/search/migrate-to-parallel, read Nov 9, 2026
- SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
- SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
- SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026




