Skip to main content
Alternatives/Alternative / Open-source Tavily

Open-Source Tavily Alternatives — What They Actually Do

Tavily is closed-source. Here's an honest comparison of OSS search APIs you can self-host: fastCRW, OrioSearch, agent-search, SearXNG-direct, and Vane (formerly Perplexica).

Published
May 9, 2026
Updated
May 9, 2026
Category
alternatives
Verdict

If you want what Tavily does without Tavily's pricing or vendor lock-in, fastCRW, OrioSearch, and agent-search are the three live OSS APIs worth real evaluation.

Five live OSS projects compared on license, scale, MCP, and Tavily-shape compatUnsearch, SciPhi-AI/agent-search, and Whoogle are explicitly flagged as not viableHonest comparison matrix with architecture, hosting story, and what each project does NOT do

What "open-source Tavily" actually means

Tavily is a closed-source AI-first search API. "Open-source Tavily" is a question without a single answer because Tavily bundles three things:

  1. Web search aggregation — querying Google/Bing/etc. and ranking results.
  2. Content extraction — pulling clean markdown or text from result URLs.
  3. Optional LLM-grounded answer synthesis — turning results into a synthesized answer.

OSS projects mostly cover (1) and (2). Almost none cover (3) as a built-in service — that's where Tavily's commercial moat is. The matrix below is built around that reality.

Live OSS projects, honest comparison

ProjectLicenseStarsArchitectureTavily compatMCPHosting story
fastCRWAGPL-3.0newRust + bundled SearXNGTavily-style, adapter shimYes (search+scrape+crawl+map)docker compose up
OrioSearchMIT~22Python (FastAPI) + SearXNG + RedisYes — explicit drop-inNodocker compose up --build
agent-searchMIT~25Python (FastAPI) + SearXNGPartial (functional, not byte-shape)Yes + Tor stackdocker compose up
SearXNG (raw)AGPL-3.029.7kPython aggregatorNo (own JSON API)Nodocker compose up, no auth/keys/limits
Vane (was Perplexica)MIT34.2kChat UI + SearXNGTavily as backend (consumer, not replacement)NoChat app, not API

The critical reads from this table:

  • OrioSearch is the only project that ships explicit Tavily-shape compatibility today. If your priority is byte-level shim-free migration from a Tavily client, that's the path. Trade-off: small project (~22 stars), no MCP, Python.
  • fastCRW is Tavily-style — same concepts, renamed fields, adapter required. Trade-off: lower resource cost (Rust), broader API surface (crawl, map), AGPL license.
  • agent-search is the MCP-native option — bundles a server for Claude Desktop/Cursor. Trade-off: Python, partial compatibility, optional Tor.
  • SearXNG-direct is what you run if you want zero wrapper. Trade-off: no API keys, no rate limits, no content extraction, no answer — you build the rest.
  • Vane is a chat product, not an API. Listed because it surfaces in search results for this query; if you wanted an OSS Tavily client, this is closer.

Skip list — projects that come up but shouldn't

  • Whoogle (benbusby/whoogle-search): final release April 2026. Google's JS-disabled query blocking killed it. Don't deploy.
  • SciPhi-AI/agent-search: last release January 2024. Over two years stale. Different from brcrusoe72/agent-search (the active one).
  • UnSearch: does not exist. The name floats around in OSS-Tavily discussions but no repo backs it.
  • Farfalle (rashadphz/farfalle): chat product, no published releases since launch May 2024, consumes Tavily/SearXNG/Serper as a backend rather than replacing them.

How to self-host fastCRW (the 2-minute path)

# Clone
git clone https://github.com/us/crw && cd crw

# Configure
cp .env.example .env
# Edit .env to set CRW_API_TOKEN if you want auth (optional for local)

# Boot
docker compose up --build
# fastCRW (:8080) + SearXNG sidecar + Redis

# Smoke test
curl -X POST http://localhost:8080/v1/search \
  -H "Content-Type: application/json" \
  -d '{"query": "agentic search benchmarks", "limit": 5}'

The compose stack ships SearXNG with hardening defaults: read-only rootfs, dropped Linux capabilities, no-new-privileges, memory and PID limits, pinned image tag. Audit trail is in docker-compose.yml and config/searxng/settings.yml.

Migrating from Tavily client code

The full Python adapter shim (CrwTavilyShim) is on the Tavily alternative hub. If you're on the OrioSearch path, no shim is needed — it claims explicit Tavily request/response shape, so swap the base URL and you're done. agent-search uses its own endpoint shape (/search, /search/extract); you'll need a thin wrapper.

License notice

fastCRW is AGPL-3.0 (full text). SearXNG is also AGPL-3.0. OrioSearch and agent-search are MIT. AGPL has specific requirements for network-deployed modifications to the licensed software; calling the API from your application is not a modification. Consult your own counsel if your organization treats AGPL as a hard blocker.

Where each option breaks

Honest failure modes, by project:

  • fastCRW: at high QPS, the bundled SearXNG sidecar gets rate-limited by Google/Bing. Mitigation: wire a Brave Search API key into SearXNG, or move to fastCRW Cloud where upstream rotation is handled.
  • OrioSearch: small project, single maintainer, ~22 stars. Long-term maintenance is a real risk.
  • agent-search: same scale concern as OrioSearch (~25 stars). Tor stack is cool but adds operational surface area.
  • SearXNG-direct: no auth, no rate limit, no content extraction. You're building the wrapper. That's the whole reason these other projects exist.
  • Vane: not an API. Different product.

Three calls to action

Continue exploring

More from Alternatives

View all alternatives

Related hubs

Keep the crawl path moving