Skip to the page

Perplexity Search API vs Tavily in 2026

One key answers both calls.

On Nov 10, 2026, the Perplexity Search API costs $5.00 per 1,000 successful requests and bills a reply with no results. Tavily charges 1 credit for a basic search and 2 for an advanced one, at $0.008 a credit pay as you go.

SpecStream answers both calls with one key. Perplexity code points at https://api.specstream.ai/perplexity, Tavily code at https://api.specstream.ai/tavily, and each gets its own JSON back. Every search of up to 10 results costs $0.005, page text included.

SpecStream is the live web data engine. Its Search API scores 97.9 F-score on all 1,000 SimpleQA Verified questions and 64.0 item F1 on all 200 WideSearch tasks, shown on the benchmarks page.

New accounts get $10 of credit, no card. It covers 2,000 searches.

SpecStream, Perplexity Search API and Tavily side by side

SpecStreamPerplexity Search APITavily
Your codeRuns as written. Perplexity calls go to POST https://api.specstream.ai/perplexity/search and Tavily calls to POST https://api.specstream.ai/tavily/search, each with the key as the Bearer token. One key answers bothPOST https://api.perplexity.ai/search with a Perplexity key as the Bearer tokenPOST https://api.tavily.com/search with a Tavily key as the Bearer token
What comes backEach API's own JSON. Perplexity: id and results[] with title, url, snippet and date when the page has one. Tavily: query, answer with include_answer, and results[] with title, url, content, score and raw_content when askedRanked results as JSON with no generated answerresults[] with a title, URL, content and relevance score for each result, plus an optional answer and the page's raw content
Price per 1,000 searches$5 for up to 10 results on either route, with page text, search_depth advanced or include_answer$5.00 per 1,000 successful requests, and Fast Search $1.00 per 1,000$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
Page textIn the search price on both routes: max_tokens_per_page fills Perplexity's snippet, and include_raw_content fills Tavily's raw_content. The Extract API reads any page at $0.80 per 1,000 pagesmax_tokens and max_tokens_per_page leave the price as it isinclude_raw_content returns each result's page as markdown or text. Extract costs 1 credit for every 5 successful URLs on basic
Results and queries per call1 to 20 results on the Perplexity route and 0 to 20 on the Tavily route. One query per callmax_results from 1 to 20, default 10. Up to 5 queries a requestmax_results from 0 to 20, default 10
What answers the callThe whole live web, read at the moment of the call. 97.9 F-score on all 1,000 SimpleQA Verified questions (978 correct)Perplexity's search, through one endpoint, POST /searchTavily's search, which serves cached copies and fetches pages live as needed. max_age_hours sets the copy's age, from 1 to 720 hours
What is not chargedA busy call, which gets 429 with Retry-AfterInvalid, rate limited and upstream failed requests. A reply with no results is billedA failed URL extraction or map
Rate and balanceNo limit per key and no daily limit. Credit you buy never expires50 query units per second on every usage tier. Prepaid credits with auto top-up, and an empty balance can return 402Requests 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: 2,000 searchesPrepaid credits, with auto top-up when the balance runs low1,000 free credits a month, no credit card
Every match as rowsDeep Search: a request in plain words returns every match on the live web as rows that meet each condition you wrote, at 5¢, 15¢ or $1 a row, plus 5¢ for an email and 15¢ for a phone. The most a run can cost is quoted before it starts, and a saved request reruns hourly to yearly with each row labeled changed, unchanged or no longer matchingThe Agent API has people_search and finance_search tools at $5 per 1,000 invocations each, plus the model's tokensResearch returns a cited report or one object in your schema, for 4 to 110 credits a request on mini or 15 to 250 on pro
MCP and APIMCP server at https://api.specstream.ai/mcp, REST API, Python and TypeScript SDKs, a CLI and A2A. An agent can buy one request with no account, by card or in USDCThe Search API at POST /search, and the Agent APIRemote and local MCP server, API, Python and JavaScript SDKs, and the tvly CLI

Why Perplexity and Tavily users move to SpecStream

Other Perplexity Search API and Tavily alternatives

How SpecStream scores

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

How to move Perplexity and Tavily code to SpecStream

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. Point Perplexity code at https://api.specstream.ai/perplexity and send the SpecStream key as the Bearer token. In the perplexityai Python SDK 0.46.1, pass base_url="https://api.specstream.ai/perplexity". Send one query per call.

import requests

reply = requests.post(
    "https://api.specstream.ai/perplexity/search",  # was https://api.perplexity.ai/search
    headers={"Authorization": f"Bearer {SPECSTREAM_KEY}"},
    json={"query": "Who founded Mistral AI and when?", "max_results": 10},
    timeout=30,
).json()

for result in reply["results"]:
    print(result["title"], result["url"], result["date"])

3. Point Tavily code at https://api.specstream.ai/tavily and send the SpecStream key as the Bearer token. In the Tavily Python SDK, pass api_base_url="https://api.specstream.ai/tavily" to TavilyClient.

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, include_answer: true }),
});
const data = await res.json();
console.log(data.answer);
for (const result of data.results) console.log(result.title, result.url, result.score);

4. On a 429, wait the seconds in Retry-After and send the call again; nothing was charged. Both routes spend from one balance, inside the spending limit you set on the key.

Frequently asked questions

Something we didn't answer? Talk to a human

Is Perplexity Search API better than Tavily?
They differ in how they bill: Perplexity charges $5.00 per 1,000 successful requests and bills empty replies, Tavily 1 or 2 credits a search with a monthly reset. SpecStream charges $0.005 a search on both of their calls, reads the live web at the moment of the call and scores 97.9 F-score on all 1,000 SimpleQA Verified questions.
Perplexity Search API vs Tavily pricing: what does each cost?
Perplexity costs $5.00 per 1,000 successful requests, and Fast Search $1.00. Tavily costs $8 per 1,000 basic searches and $16 per 1,000 advanced at $0.008 a credit pay as you go. SpecStream costs $5 per 1,000 searches on both routes, page text and advanced depth included.
Can I use both Perplexity and Tavily code?
Yes, on one SpecStream key. Perplexity calls go to https://api.specstream.ai/perplexity/search and Tavily calls to https://api.specstream.ai/tavily/search, each answered in its own JSON and billed from one balance at $0.005 a search.
Do the Perplexity and Tavily SDKs work with SpecStream?
Yes. The perplexityai Python SDK 0.46.1 works with base_url="https://api.specstream.ai/perplexity", as measured on production on November 10, 2026, and TavilyClient works with api_base_url="https://api.specstream.ai/tavily".
Which fields does SpecStream not return?
On the Perplexity route, last_updated is always null, and a call takes one query. On the Tavily route, images is always empty, follow_up_questions is null and results carry no favicon.
Does Tavily cache results?
Yes: Tavily serves cached copies and fetches pages live as needed, with max_age_hours from 1 to 720. SpecStream reads every search from the live web at the moment of the call; max_age_hours is accepted and not needed.
How many searches a second can I send?
SpecStream has no limit per key and no daily limit; on November 9, 2026 production answered 718 of 720 searches at up to 20 a second, with a median of 1.07 s. Perplexity allows 50 query units per second on every usage tier.

Sources

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

  1. Perplexity Search API overviewdocs.perplexity.ai/docs/search/overview.md, read Nov 10, 2026
  2. Perplexity Search API quickstartdocs.perplexity.ai/docs/search/quickstart.md, read Nov 10, 2026
  3. Perplexity pricingdocs.perplexity.ai/docs/getting-started/pricing.md, read Nov 10, 2026
  4. Perplexity FAQdocs.perplexity.ai/docs/resources/faq.md, read Nov 10, 2026
  5. Perplexity rate limits and usage tiersdocs.perplexity.ai/docs/admin/rate-limits-usage-tiers.md, read Nov 10, 2026
  6. Tavily API creditsdocs.tavily.com/documentation/api-credits.md, read Nov 10, 2026
  7. Tavily pricingtavily.com/pricing, read Nov 10, 2026
  8. Tavily search referencedocs.tavily.com/documentation/api-reference/endpoint/search.md, read Nov 10, 2026
  9. Tavily MCPdocs.tavily.com/documentation/mcp.md, read Nov 10, 2026
  10. Exa pricingexa.ai/docs/admin/pricing.md, read Nov 10, 2026
  11. Brave Search APIbrave.com/search/api/, read Nov 10, 2026
  12. Serperserper.dev/, read Nov 10, 2026
  13. Parallel pricingparallel.ai/pricing, read Nov 10, 2026
  14. SpecStream benchmarksspecstream.ai/benchmarks, read Nov 10, 2026
  15. SpecStream pricingspecstream.ai/pricing, read Nov 10, 2026
  16. SpecStream for agentsspecstream.ai/agents.md, read Nov 10, 2026