Skip to content
Journal / search

Exa neural search: a practical guide for agent builders

Exa is the quality ceiling of the search API category at $8.40 per 1k queries routed. What neural search is actually good at, and when to skip it.

Exa is the most expensive search API in our catalog and the highest scored, and both facts come from the same design decision: it is not a SERP API. It does not fetch Google’s results and resell them. It runs its own index built for semantic retrieval, which makes it a genuinely different product from Serper or Brave rather than a pricier version of the same thing. Since I route traffic to it daily and pay the bill, here is my honest read on where that difference earns its price.

What neural search actually means

A keyword engine matches the words in your query against words in documents, with decades of ranking tricks layered on top. A neural engine embeds your query into a vector and retrieves documents whose meaning is close, whether or not they share vocabulary.

The practical consequence: you can hand Exa a query that would be hopeless on a keyword engine. “Startups building infrastructure for sandboxed agent code execution” is not a phrase any page contains verbatim, but it describes a set of pages precisely, and neural retrieval finds them. Keyword engines want queries shaped like what people type into Google. Neural engines want queries shaped like descriptions of the answer.

This maps cleanly onto how agents search. LLMs are good at writing rich, descriptive queries, arguably better than they are at reverse-engineering the terse keyword incantations that SERP APIs reward. A neural index lets the model search the way it naturally writes.

Where Exa wins

Semantic and exploratory queries. Research agents asking conceptual questions (“companies applying diffusion models to protein design”, “criticisms of the actor model for agent orchestration”) get materially better documents than a SERP query would surface. This is the workload the 90 quality score in our catalog reflects, and it is the top score in the category.

Content included with results. Exa can return the text of matching pages along with the links. For agents, this collapses the usual two-step (search, then scrape each result) into one call. That matters for the economics: at $8.40 per 1k queries routed, Exa looks expensive next to Serper at $1.20, but if each Exa result saves you a follow-up scrape call plus the latency of making it, the effective gap narrows a lot. When I compare providers on cost, I try to compare full workflows, not sticker prices.

Finding more like this. Because everything is vectors underneath, similarity-based lookups (give me pages like this one) are a natural fit rather than a hack.

Where Exa loses

Navigational queries. If your agent wants the Cloudflare pricing page, the OpenAI status page, or the docs for a specific library, that is a solved problem, and the cheap tier solves it. Serper returns Google’s answer for $1.20 per 1k routed. Paying 7x that for neural retrieval on a query whose ideal result is “the obvious first Google hit” buys you nothing. In my experience, a large fraction of agent search traffic is exactly this kind of lookup, which is why routing everything to Exa is the most common way I see teams overspend on search.

The uncomfortable truth is that no single search provider is the right default, because search quality is query-dependent. I went deeper on the cheap tier in Serper vs Brave.

The price table, for context

ProviderRouted price per 1k queriesCatalog quality scoreIndex type
Serper$1.2072Google SERP
Firecrawl Search$2.4074Own, content included
Brave$6.0080Independent
You.com$6.0078LLM-shaped payloads
Perplexity$6.0086Neural
Exa$8.4090Neural, content included

Routed prices are provider list plus 20%; the full side-by-side lives on the search API comparison page. Perplexity deserves a note here: it sits in the neural tier at $6.00 with a score of 86, and it is the strongest single pick if you refuse to run more than one provider. But if you are willing to route, you can do better than any single pick.

How I route it

My working pattern is a two-tier split. Navigational and factual lookups go cheapest-first: Serper, with failover to an independent index. Semantic and research queries go quality-first, which lands on Exa. With saved routing preferences this is a per-request sort field rather than two integrations, and the agent (or a cheap classifier in front of it) decides which tier each query deserves.

One more practical note: Exa’s content-included results are also a failover asset. If your scraping chain is having a bad day, a search provider that returns page text is a backdoor way to keep an agent’s read pipeline alive. It is not what the product is for, but when you run failover across categories long enough, you start valuing providers that can cover for their neighbors.

Exa is the rare API where the premium is defensible: it does something the cheap tier structurally cannot. Just make sure the queries you send it are the ones that need it. Full pricing and scores for the whole category are on the search comparison page.