Web search API for AI agents. Structured results with title, URL, snippet. Current news, docs, research. Up to 10 results per query.
Single tool 'web_search_query' has a well-structured schema with proper types and clear descriptions. The tool description is comprehensive (450+ chars) and includes use-case guidance and anti-patterns (what NOT to use it for). Input schema declares required 'query' parameter with type string and description; 'count' parameter has type number with description. Output schema is documented in the description with field names and types. However, the description is somewhat verbose and could be tightened to 150-200 chars for optimal LLM parsing. Parameter descriptions are adequate but lack explicit constraints (e.g., 'max: 10' is mentioned in description but not in schema constraints). No enum constraints on parameters. Error handling and recovery guidance are absent from the tool definition.
Semantic web search for finding relevant pages, documents, and current information. Alternative to Exa search at 3x lower cost. Returns structured JSON results with ranked matches, titles, URLs, and text snippets. 1. results (array) -- ranked list of search results 2. results[].title (string) -- page title 3. results[].url (string) -- full URL to the page 4. results[].snippet (string) -- relevant text excerpt with query terms highlighted 5. query (string) -- the search query used 6. totalResults (number) -- number of results returned Example output: {"query":"best CRM for startups 2026","results":[{"title":"Top 10 CRMs for Startups in 2026","url":"https://blog.example.com/crm-startups","snippet":"HubSpot leads the pack for early-stage startups with its free tier..."},{"title":"CRM Comparison Guide","url":"https://review.example.com/crm","snippet":"We tested 15 CRM platforms across pricing, features..."}],"totalResults":5} Use this BEFORE answering questions about current events, finding documentation, researching competitors, or gathering data on any topic. Essential for semantic web search when the agent needs up-to-date information beyond its training data. Drop-in replacement for Exa search. Do NOT use for web page content extraction -- use web_scrape_to_markdown instead. Do NOT use for SEO analysis -- use seo_audit_page instead. Do NOT use for screenshot capture -- use capture_screenshot instead. Do NOT use for company data -- use company_enrich_from_domain instead.
Parameter constraints not formalized in schema. 'count' parameter mentions 'max: 10' in description text but lacks maxValue constraint in JSON Schema. LLMs cannot reliably parse text constraints.
No error handling guidance in tool definition. Tool description does not explain what happens on network failure, invalid query, rate limiting, or empty results. LLM has no recovery path.
Output schema documented only in description text, not as a formal JSON Schema response type. LLMs cannot programmatically validate or parse the response structure.
Tool description is 450+ characters, exceeding the 200-char baseline for optimal LLM parsing. Verbose descriptions waste tokens and bury key selection criteria.
Inferred effective spec: 2025-06-18+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 67 | 2025-06-18+ | v2 |
No idempotency or retry guidance. Tool description does not clarify whether repeated calls with identical query return identical results or if results may vary (e.g., due to index updates).