{"path":"/web-search","service_name":"Web Search","method":"GET","allowed_methods":["GET"],"category":"Web & Domain Intelligence","class":"read-only","summary":"Neural web search for agents (Exa) -- a query returns the most relevant pages with title, URL, date and snippet; pairs with /web-extract.","description":"Web search for AI agents, powered by Exa neural search: pass a query and receive relevant pages with title, URL, published date, author, relevance score and a text snippet as structured JSON. Pair with /web-extract for full-page content. For RAG retrieval, research, fact-finding and monitoring. Keyless, pay-per-call, cached by query. No matches returns an empty result set.","schema":{"params":[{"name":"query","required":true,"description":"Free-text web search query (e.g. \"latest ethereum roadmap updates\", \"who founded Anthropic\"). Normalized (whitespace-collapsed, lowercased) so equivalent phrasings share one cached result.","location":"query"}],"body":null,"note":"Request schema derived from the Otto catalog -- not output-measured."},"sample_output":null,"cost":{"price_usd":0.009,"pricing_mode":"fixed","currency":"USDC","pricing_note":"Indicative. The live 402 PAYMENT-REQUIRED header is the single source of truth -- set maxPayment from it, never from this map.","settlement_note":"Settlement is on success only: a 4xx/5xx response is not settled, so a rejected or failed call does not charge you. (A 200 that returns an error body still settles.)"},"auth":{"type":"x402","note":"Pay per call in USDC via x402 V2 (EIP-3009 or Permit2). The networks THIS route accepts are in its own 402 accepts[] (returned in both the PAYMENT-REQUIRED header and the 402 JSON body): USDC on Base is accepted on every route, Solana only where that route lists it."},"signals":[{"id":"otto-money-back-guarantee","type":"guarantee","summary":"Money-back guarantee on Otto's own services: if a paid result misses, request a refund via /feedback with the payment tx_hash ($0.01 per tx, up to 10×/day system cap). Otto's own services and Full Auto only -- not third-party Bazaar picks.","status":"active","last_verified":"2026-07-01"},{"id":"otto-first-party","type":"characteristic","summary":"Served by an Otto-operated agent backend (first-party), not a re-listed third-party marketplace endpoint.","status":"active","last_verified":"2026-07-01"},{"id":"required-param-400","type":"gotcha","summary":"Requires a specific parameter -- omitting it returns HTTP 400. A 4xx is not settled, so a rejected call is not charged; read the request schema before paying.","status":"derived","last_verified":"2026-07-01"}],"patterns":[],"measured":{"quality_score":null,"uptime_pct":null,"measured_at":null,"note":"Not yet measured by the QA crawler -- quality/uptime stay null, never fabricated."},"catalog_hash":"59cee5639558d239baac94b127e7dda3c34970a67a11839de2a58ebf59203db3","snapshot_generated_at":"2026-09-08T08:43:34.873Z","you_were_not_charged":true}