# Levirge Search vs Tavily

[Tavily](https://docs.tavily.com) is a search and extraction API for AI
agents, with a remote MCP server at `https://mcp.tavily.com/mcp/`. On 7 Nov
2026 we sent the same 5 queries and 6 URLs we used for the
[DeepSeek comparison](/search/vs-deepseek) to Tavily and Levirge Search.

## Fetch

| URL | Tavily extract | Levirge fetch | Levirge route |
| --- | --- | --- | --- |
| `api-docs.deepseek.com/guides/search/` | 10.7 KB of markdown | 11.2 KB of markdown | direct |
| `api.github.com/repos/denoland/deno` | 6.3 KB, but markdown-escaped (`node\_id`) and doesn't parse as JSON | Raw JSON; `select` returned just `full_name` and `stargazers_count` | direct |
| `reddit.com/r/rust/top/` | "Failed to fetch url" | Failed: "blocked content … Prove your humanity", `[reason=blocked retryable=false]`, both routes named | stealth |
| `realestate.com.au/rent/in-sydney,+nsw+2000/list-1` | "Failed to fetch url" | Listings page: "Showing 1 – 25 of 1624 properties" | stealth |
| `medium.com/tag/programming` | 29.7 KB of markdown | 12.2 KB of markdown | direct |
| `feeds.bbci.co.uk/news/rss.xml` | 10.4 KB with the XML tags stripped; doesn't parse as XML | Feed parsed; `select` returned the channel title as JSON | direct |

Tavily returned content for 4 of 6 URLs; two of those were API bodies that no
longer parsed. Levirge returned 5 of 6, with JSON and XML unchanged. Reddit
served both a challenge page: Tavily reported "Failed to fetch url", Levirge
reported the challenge as the cause. Tavily's `extract_depth: advanced` also
failed on Reddit and realestate.com.au.

## Search

All 5 queries returned 10 results on both sides. Top result for each:

| Query | Tavily #1 | Levirge #1 |
| --- | --- | --- |
| DeepSeek V4 release | `ng.investing.com/news/…/deepseek-set-to-launch-nextgen-v4-model…` (pre-launch news) | `deepseek.com/en/news/deepseek-v4-1-flash/` |
| deno compile cross-platform static binary | `github.com/denoland/deno/issues/8567` | `docs.deno.com/runtime/reference/cli/compile/` |
| NATS JetStream KV watch example | `oneuptime.com/blog/post/2026-02-02-nats-kv-store/view` (`docs.nats.io/learn/key-value/watching` at #3) | `docs.nats.io/tutorials/key-value` |
| Sydney apartment rent prices 2026 | `landedau.com/article/rent-prices-in-australia-2026-city-guide` | `urbanrenters.com.au/blog/average-rent-in-sydney-2026/` |
| tokio vs smol async runtime | `medium.com/@bhesaniyavatsal/tokio-vs-smol-…` | `rustify.rs/articles/rust-async-runtimes-tokio-vs-async-std-2026` (async-std, not smol: off-target) |

Tavily answered in 2.0–3.1 s per query round trip (1.1–2.0 s by its own
`response_time`) and returns a relevance `score` per result. No duplicates or
tracking parameters on either side. On tokio vs smol, Tavily's #1 was the
better match.

## Where Tavily is ahead

From [Tavily's docs](https://docs.tavily.com/documentation/api-credits):

| Capability | Tavily | Levirge Search |
| --- | --- | --- |
| Free tier | 1,000 credits a month, no card; keyless Search and Extract, rate-limited | Paid plans from $29 a month |
| Search filters | `topic`, `time_range`, date range, include/exclude domains, `country`, `language` | Query only |
| Generated answer | `include_answer` | Not offered: the agent reads the sources |
| More endpoints | Map, Crawl and Research | Search, fetch and queued reads |
| Failed extractions | Not charged | Recorded with the cause |

## What Levirge Search does differently

| Capability | Tavily | Levirge Search |
| --- | --- | --- |
| APIs and feeds | Bodies escaped or tags stripped | Raw JSON and XML, with `select` and `schema` |
| Refused sites | Failed on realestate.com.au in basic and advanced | Read it in a full browser |
| Failures | "Failed to fetch url" | The cause and each route tried |
| Pricing unit | Credits per request | Unlimited search and open fetch under fair use; full-browser reads metered |

## Where each fits

- **Tavily** fits agents that want search with filters, a generated answer
  or a crawl, from a free tier upward, and mostly read pages that answer
  plain requests.
- **Levirge Search** fits agents that need to read the source itself: APIs
  and feeds kept parseable, sites that refuse plain requests, and failures
  that say why.

## Method

- Run on 7 Nov 2026 from one machine. Tavily through its HTTP API:
  `/search` with `max_results: 10`, `/extract` with default settings, one URL
  per request; the `extract_depth: advanced` retry for the two failed URLs ran
  earlier the same day. Levirge through its MCP `search` (`limit: 10`) and
  `fetch` tools.
- Tavily errors quoted from `failed_results[].error`; Levirge errors quoted
  from the tool response.
- Reddit serves its challenge only some of the time, so its result can
  differ between runs.
- Results move day to day. Run the same queries and URLs yourself.
