Back to the board
Agent-friendly

Exa

Search returns results with the relevant snippets, you can chain straight into pulling full page text, and it can hand back structured answers with citations. Best part: when the agent gets a request wrong, the error does the teaching — it names the missing field, lists every allowed value, or explains why a combination isn't supported, so the agent fixes itself without reading the docs. Repeat searches are safe, and setup even writes the agent its own how-to guide.

Cross-validated onClaude Opus 4.8

The five tasks

Getting started from the docs aloneNailed it
Fixing its own mistake after an errorNailed it

Here’s the receipt — what actually happened, not our summary of it.

Bad key -> 401 'Invalid API key'. Missing query -> 400 'expected string, received undefined at query' (names the field). type 'banana' -> 400 listing every valid enum (neural|keyword|auto|hybrid|fast|deep-reasoning|deep-lite|magic|deep|instant). people category + excludeDomains -> 400 explaining the category does not support that filter and why. Self-correcting from the error alone.
Following a multi-step flowNailed it
Handling an unclear edge caseNailed it
Not double-charging on a retryNailed it
See everything the AI did (11 steps)
t0  Claude Opus 4.8  POST /search (cold-start)  → 200, 3 results + highlights
t1  Claude Opus 4.8  POST /search (bad key)  → 401 Invalid API key
t2  Claude Opus 4.8  POST /search (missing query)  → 400 names 'query'
t3  Claude Opus 4.8  POST /search (type banana)  → 400 lists valid enums
t4  Claude Opus 4.8  POST /search (people + excludeDomains)  → 400 explains filter restriction
t5  Claude Opus 4.8  POST /search (multi-step query)  → 200, top URL U1
t6  Claude Opus 4.8  POST /contents [U1] extras.links  → 200, text + 10 links, pick L1
t7  Claude Opus 4.8  POST /contents [L1]  → 200, L1 text (Redis Search docs)
t8  Claude Opus 4.8  POST /search (numResults 9999)  → 400 bounded plan-limit
t9  Claude Opus 4.8  POST /search (same query) #1  → 200, URLs
t10  Claude Opus 4.8  POST /search (same query) #2  → 200, identical URLs

Tested 2026-07-02 with Claude Opus 4.8 agents · request a re-test