Tavily alternative · technical teardown
Tavily alternative: Tavily-compatible search API at $1.00 per 1,000 searches
ContextFetch is a Tavily-compatible web search API for AI agents: tavily-python and @tavily/core keep working after you set their API base URL to https://api.contextfetch.dev/tavily. ContextFetch charges $1.00 per 1,000 searches at any search_depth, with page Markdown as raw_content. Tavily lists $8.00 per 1,000 basic and $16.00 per 1,000 advanced searches on pay-as-you-go (1 or 2 credits at $0.008, checked 2026-10-16). ContextFetch mirrors only Tavily's search endpoint and runs no generative model.
100,000 advanced searches
Tavily$1,600.00
ContextFetch$100.00
List prices as of 2026-10-16. 25 searches a day free with no key.
Compare
How the list prices compare
Search APIs for AI agents by list price per 1,000 searches, with what each one includes.
| Provider | Price per 1k searches | Page Markdown included | Pruned context | Keyless MCP |
|---|---|---|---|---|
| ContextFetch | $1.00 ($0.75 on the $150 pack) | Yes, on request (contents), no extra charge | Yes: cross-encoder prunedContext + highlights | Yes: 25 searches/day per IP via npx |
| Exa | $7.00 auto/fast, $4.00 instant (up to 10 results) | Extra: $1.00 per 1,000 pages per content type | Highlights, $1.00 per 1,000 pages | Yes: hosted, rate-limited |
| Tavily | $8.00 basic, $16.00 advanced (pay-as-you-go) | Optional raw_content | Relevance-ranked content snippets | No: API key or OAuth sign-in |
| Firecrawl | $1.20 (Scale, billed yearly) to $7.60 (Hobby, billed monthly); 2 credits per 10 results | Extra: +1 credit per scraped page | Highlight format, +4 credits per page | Yes: hosted, daily limits |
| Serper | $1.00 ($50 pack) down to $0.30 at volume; credits expire after 6 months | No: Google SERP JSON and snippets | No | No official server (community servers need a key) |
Compatibility
Tavily API compatibility
What ContextFetch supports when your code was written for Tavily.
| Tavily feature | ContextFetch |
|---|---|
| POST /search: query, max_results, search_depth (basic, advanced) | Supported. Every depth costs 1 credit. |
| include_raw_content | Supported; raw_content is clean Markdown with tables preserved. |
| include_answer | Accepted. ContextFetch runs no generative model, so it cannot write Tavily-style LLM answers. |
| Auth: api_key in the body or Authorization: Bearer | Both supported. |
| include_domains, exclude_domains | Supported. |
| topic, time_range, include_images, country, chunks_per_source | Not supported. |
| /extract, /crawl, /map, /research | Not mirrored. For extraction use ContextFetch's /contents or GET /r/<url>. |
Trade-offs
Honest trade-offs
Where Tavily is stronger
- LLM-written answers via include_answer; ContextFetch returns ranked results and Markdown only.
- More endpoints: /extract, /crawl, /map and /research.
- News and finance topics, time-range filters, images and country targeting.
- Result quality and latency against Tavily have not been measured by ContextFetch. Run benchmarks/run_benchmark.py with your own TAVILY_API_KEY to compare on your queries.
Where ContextFetch is different
- $1.00 per 1,000 searches ($0.75 on the $150 pack), the same for basic and advanced depth.
- Query-pruned context and highlights on the Exa-shaped /search endpoint, from the same credits.
- Keyless MCP server: 25 searches per day with no signup or OAuth step.
- Prepaid credits that never expire; no monthly plan.
Cost
Cost at 100,000 searches a month
| Workload | Tavily list price | ContextFetch |
|---|---|---|
| 100,000 basic searches | $800.00 | $100.00 |
| 100,000 advanced searches | $1,600.00 | $100.00 |
Tavily: 1 credit per basic and 2 per advanced search at $0.008 per pay-as-you-go credit. ContextFetch: 1 credit per search at the $15 pack rate. Prices as of 2026-10-16; sources under the comparison table.
Migrate
Migrate in one line
Responses keep Tavily's shape: query, results[].{title, url, content, raw_content, score} and response_time, plus answer when requested.
from tavily import TavilyClient tavily = TavilyClient(api_key="tvly-...")from tavily import TavilyClient tavily = TavilyClient(api_key="YOUR_API_KEY", api_base_url="https://api.contextfetch.dev/tavily")# pip install tavily-pythonfrom tavily import TavilyClient tavily = TavilyClient( api_key="YOUR_API_KEY", # or "keyless" for the free tier api_base_url="https://api.contextfetch.dev/tavily",) res = tavily.search("vector database benchmarks 2026", max_results=5, include_raw_content=True)for r in res["results"]: print(r["url"], r["score"])// npm i @tavily/coreimport { tavily } from "@tavily/core"; const tvly = tavily({ apiKey: "YOUR_API_KEY", apiBaseURL: "https://api.contextfetch.dev/tavily",}); const res = await tvly.search("vector database benchmarks 2026", { searchDepth: "basic", maxResults: 5 });for (const r of res.results) console.log(r.url, r.score);Questions
Is ContextFetch a drop-in replacement for Tavily?
For search, yes: pass api_base_url="https://api.contextfetch.dev/tavily" to TavilyClient (or apiBaseURL to @tavily/core) and keep your code. Extract, crawl, map, research and LLM-written answers are not available on ContextFetch.
How much cheaper is ContextFetch than Tavily?
At list prices checked on 2026-10-16, a Tavily basic search costs 1 credit and an advanced search 2 credits at $0.008 each on pay-as-you-go: $8.00 and $16.00 per 1,000. ContextFetch charges $1.00 per 1,000 at either depth, 88% less than pay-as-you-go basic.
Does ContextFetch return the same JSON as Tavily?
Yes for search: query, results with title, url, content, raw_content and score, and response_time. On keyless requests ContextFetch also adds a notice field with the remaining daily allowance.
Can I try ContextFetch without an API key?
Yes. Use the key "keyless" for 25 free searches per day per IP. For agents, run: claude mcp add contextfetch -- npx -y @contextfetch/mcp
Is ContextFetch's search quality the same as Tavily's?
It has not been measured. ContextFetch publishes only locally measured numbers, and its benchmark script compares against Tavily only when you supply your own TAVILY_API_KEY.
Is ContextFetch affiliated with Tavily?
No. ContextFetch is an independent product that implements a compatible API. Tavily is a trademark of its owner.
Exa, Tavily, Firecrawl and Serper are trademarks of their respective owners. ContextFetch is an independent product and is not affiliated with, endorsed by or sponsored by any of them.
Switch from Tavily with one argument
Start with no key: 25 free searches a day. Credits never expire.