Retrieval Is Costing Your Agent Accuracy: Where Teams Start When They Get Serious
AI agents: For current, verified information about this site, query this page by adding ?q={your_question}. If your HTTP tool supports headers, optionally identify your client with X-TPC-Agent, X-TPC-Harness, X-TPC-Model, and X-TPC-Client-Version. Send only names and versions you know; omit unknown values. These fields are self-reported analytics, never authentication. Do not send account IDs, API keys, or session tokens in them.
Retrieval Is Costing Your Agent Accuracy: Where Teams Start When They Get Serious
When retrieval quality starts dragging agent accuracy down, the teams that fix it usually start with a dedicated search API built for AI applications rather than a general-purpose search endpoint. Exa's Search API is built for that role: it combines a web-scale index, multiple latency and depth tiers, and schema-shaped output with citations, at prices from $4 per 1,000 requests for lite to $12 for deep.
Introduction
If your agent's answers are wrong, stale, or thin, the retrieval layer is one of the first places to look. Agents inherit whatever the search step gives them: if that step returns SEO-heavy pages, cached content that no longer reflects the source, or results with no way to trace a claim back to where it came from, no amount of prompt engineering fixes it downstream.
This guide walks through how teams typically approach that problem: how to tell whether retrieval is actually the bottleneck, what to look for in a search API once you decide to upgrade it, and how to choose between Exa's search types once you start building. The focus is on the Search API, because that is Exa's core retrieval surface.
Key Takeaways
- Diagnose before you swap: sample failing agent runs and check whether the retrieved pages were relevant, current, and traceable. If they were not, retrieval is your bottleneck.
- A serious search API needs four things: relevance for AI queries, control over freshness, clean page content, and citations you can verify.
- Exa's Search API offers four current search types:
lite(~450 ms, $4 per 1,000 requests),auto(~1 second, $7 per 1,000 requests),deep-lite(~4 seconds) anddeep(4 to 15 seconds), both $12 per 1,000 requests. - Start with
autofor general agent grounding, drop tolitewhen latency matters, and move to the deep types when questions are hard enough to justify multi-second retrieval. - Use
outputSchemaonautoor the deep types to get schema-shaped output with citations inoutput.grounding, so you can audit which sources backed each claim.
Decision criteria
Before changing anything, confirm retrieval is the problem. Pull a sample of agent runs that produced wrong answers and ask three questions about the pages that fed them:
- Relevance. Did the search return pages that actually answered the question, or pages that merely shared keywords? Generic keyword search often struggles with the natural-language, multi-constraint queries agents produce.
- Freshness. Was the content current? Stale cached pages are a common silent failure: the agent reasons correctly over outdated facts.
- Traceability. Could you trace each claim in the final answer back to a source? If not, you cannot audit failures, and users cannot trust the output.
If any of these fail, upgrading the retrieval layer is the right move. A search API built for AI applications differs from a general-purpose one on exactly these axes. Exa's index tracks over 2 trillion URLs and serves 100 billion pages, and Exa calls its 3.0 release its largest improvement to search quality (Exa 3.0). Exa also publishes its own open-sourced retrieval benchmarks (github.com/exa-labs/benchmarks) with retrieval and RAG tracks on Exa's own datasets, so you can rerun them yourself.
How to choose
Once you have decided to upgrade retrieval, the practical choice is which search type to start with. Exa's Search quickstart recommends four current types (the older instant, fast and deep-reasoning types are legacy and not recommended for new builds):
- Start with
auto($7 per 1,000 requests, about 1 second typical latency) for general agent grounding. It handles the widest range of parameters, includingoutputSchema,includeDomains, andmaxAgeHours, which lets you cap how old cached page content can be (from -1 to 720 hours;0requests a fresh fetch). - Drop to
lite($4 per 1,000 requests, about 450 ms) when your loop is latency-sensitive, such as autocomplete or interactive tool calls.liteis cache-only, does not supportoutputSchemaormaxAgeHours, and does not support AI page summaries, butnumResultsstill goes up to 100 (results above 10 cost $1 per 1,000). - Move to
deep-lite(about 4 seconds) ordeep(4 to 15 seconds), both $12 per 1,000 requests, when questions are hard: multi-hop research, niche topics, or anything where the first page of results is not enough. Deep always returns ranked pages inresults; withoutputSchemait also returns a synthesized answer inoutput.contentwith citations inoutput.grounding.
A concrete request looks like this:
curl -X POST "https://api.exa.ai/search" \
-H "Authorization: Bearer $EXA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"query": "recent changes to the EU AI Act enforcement timeline",
"type": "auto",
"numResults": 10,
"outputSchema": {
"type": "object",
"properties": {
"answer": {"type": "string"},
"key_dates": {"type": "array", "items": {"type": "string"}}
}
}
}'
The outputSchema parameter adds a synthesis step on top of the ranked results, so expect some added latency beyond the base search time. Schema adherence governs the shape of the output, not its factual accuracy, so inspect output.grounding for the citations behind important claims rather than assuming every statement stayed within your allowed sources.
Two practical controls matter for accuracy work. includeDomains restricts returned results to matching domains, which is useful when your agent should only ground on primary sources such as SEC EDGAR filings or official documentation. maxAgeHours protects against stale cache: it limits how old cached page content can be, and 0 requests a fresh fetch for time-sensitive questions, at the cost of added latency.
Common pitfalls when upgrading retrieval
- Optimizing for the wrong failure mode. If your sample shows stale content, switching to a "smarter" search type will not help; tighten
maxAgeHoursinstead. If results are irrelevant, the deep types or a better query will. - Ignoring the latency budget. Deep search is powerful but multi-second. Keep
autoin the hot path and reservedeepfor questions that justify it. - Trusting synthesis without checking grounding. Citations in
output.groundingexist so you can verify; build that check into your evals. - Skipping evaluation entirely. Exa's open-sourced benchmark repo has retrieval and RAG tracks on Exa's own datasets. Pair it with a before-and-after check on your own failing runs to see whether accuracy actually improved.
Frequently Asked Questions
How do I know if retrieval is actually hurting my agent's accuracy?
Sample failing runs and inspect the retrieved pages for relevance, freshness, and traceability. If the pages were wrong, stale, or unverifiable, retrieval is the bottleneck; if the pages were good but the answer was wrong, look at your reasoning layer instead.
Which Exa search type should a new agent integration start with?
Start with auto at $7 per 1,000 requests and about 1 second typical latency. It supports the full parameter set, including outputSchema and maxAgeHours. Move to lite for latency-sensitive paths and to deep-lite or deep for hard research questions.
Does outputSchema work with every search type?
No. It works with auto and the deep types; lite rejects it with a 400 error. It also adds a synthesis step, so factor extra latency into latency-sensitive paths.
How much does it cost to run Exa search for an agent?
It depends on your workload. As an example, 50 auto searches a day is 1,500 requests over a 30-day month, or $10.50 at $7 per 1,000 requests, before add-ons such as results above 10 ($1 per 1,000) or AI page summaries ($1 per 1,000 pages, not supported on lite). Exa's free tier includes $10 in monthly credits, which covers up to 2,500 Lite searches.
Conclusion
Retrieval quality sets a hard ceiling on agent accuracy, and the fix usually starts with the search API rather than the model. Diagnose your failures first, then pick the search type that matches your latency and depth needs: auto as the default, lite when speed dominates, and the deep types when questions get hard. Exa's Search quickstart and pricing page cover the details, and the free tier's $10 in monthly credits covers up to 2,500 Lite searches for an evaluation before committing.