{"skill":{"slug":"web-search-exa","displayName":"Web Search by Exa","summary":"Neural web search, content extraction, company and people research, code search, and deep research via the Exa MCP server. Use when you need to: (1) search t...","description":"---\nname: web-search-exa\ndescription: \"Neural web search, content extraction, company and people research, code search, and deep research via the Exa MCP server. Use when you need to: (1) search the web with semantic understanding — not just keywords, (2) find research papers, news, tweets, companies, or people, (3) extract clean content from URLs, (4) find semantically similar pages to a known URL, (5) get code examples and documentation, (6) run deep multi-step research with a report, (7) get a quick synthesized answer with citations. NOT for: local file operations, non-web tasks, or anything that doesn't involve web search or content retrieval.\"\n---\n\n# Exa — Neural Web Search & Research\n\nExa is a neural search engine. Unlike keyword-based search, it understands meaning — you describe the page you're looking for and it finds it. Returns clean, LLM-ready content with no scraping needed.\n\n**MCP server:** `https://mcp.exa.ai/mcp`\n**Free tier:** generous rate limits, no key needed for basic tools\n**API key:** [dashboard.exa.ai/api-keys](https://dashboard.exa.ai/api-keys) — unlocks higher limits + all tools\n**Docs:** [exa.ai/docs](https://exa.ai/docs)\n**GitHub:** [github.com/exa-labs/exa-mcp-server](https://github.com/exa-labs/exa-mcp-server)\n\n## Setup\n\nAdd the MCP server to your agent config:\n\n```bash\n# OpenClaw\nopenclaw mcp add exa --url \"https://mcp.exa.ai/mcp\"\n```\n\nOr in any MCP config JSON:\n```json\n{\n  \"mcpServers\": {\n    \"exa\": {\n      \"url\": \"https://mcp.exa.ai/mcp\"\n    }\n  }\n}\n```\n\nTo unlock all tools and remove rate limits, append your API key:\n```\nhttps://mcp.exa.ai/mcp?exaApiKey=YOUR_EXA_KEY\n```\n\nTo enable specific optional tools:\n```\nhttps://mcp.exa.ai/mcp?exaApiKey=YOUR_KEY&tools=web_search_exa,web_search_advanced_exa,people_search_exa,crawling_exa,company_research_exa,get_code_context_exa,deep_researcher_start,deep_researcher_check,deep_search_exa\n```\n\n---\n\n## Tool Reference\n\n### Default tools (available without API key)\n\n| Tool | What it does |\n|------|-------------|\n| `web_search_exa` | General-purpose web search — clean content, fast |\n| `get_code_context_exa` | Code examples + docs from GitHub, Stack Overflow, official docs |\n| `company_research_exa` | Company overview, news, funding, competitors |\n\n### Optional tools (enable via `tools` param, need API key for some)\n\n| Tool | What it does |\n|------|-------------|\n| `web_search_advanced_exa` | Full-control search: domain filters, date ranges, categories, content modes |\n| `crawling_exa` | Extract full page content from a known URL — handles JS, PDFs, complex layouts |\n| `people_search_exa` | Find LinkedIn profiles, professional backgrounds, experts |\n| `deep_researcher_start` | Kick off an async multi-step research agent → detailed report |\n| `deep_researcher_check` | Poll status / retrieve results from deep research |\n| `deep_search_exa` | Single-call deep search with synthesized answer + citations (needs API key) |\n\n---\n\n## web_search_exa\n\nFast general search. Describe what you're looking for in natural language.\n\n**Parameters:**\n- `query` (string, required) — describe the page you want to find\n- `numResults` (int) — number of results, default 10\n- `type` — `auto` (best quality), `fast` (lower latency), `deep` (multi-step reasoning)\n- `livecrawl` — `fallback` (default) or `preferred` (always fetch fresh)\n- `contextMaxCharacters` (int) — cap the returned content size\n\n```\nweb_search_exa {\n  \"query\": \"blog posts about using vector databases for recommendation systems\",\n  \"numResults\": 8\n}\n```\n\n```\nweb_search_exa {\n  \"query\": \"latest OpenAI announcements March 2026\",\n  \"numResults\": 5,\n  \"type\": \"fast\"\n}\n```\n\n---\n\n## web_search_advanced_exa\n\nThe power-user tool. Everything `web_search_exa` does, plus domain filters, date filters, category targeting, and content extraction modes.\n\n**Extra parameters beyond basic search:**\n\n| Parameter | Type | What it does |\n|-----------|------|-------------|\n| `includeDomains` | string[] | Only return results from these domains (max 1200) |\n| `excludeDomains` | string[] | Block results from these domains |\n| `category` | string | Target content type — see table below |\n| `startPublishedDate` | string | ISO date, results published after this |\n| `endPublishedDate` | string | ISO date, results published before this |\n| `maxAgeHours` | int | Content freshness — `0` = always livecrawl, `-1` = cache only, `24` = cache if <24h |\n| `contents.highlights` | object | Extractive snippets relevant to query. Set `maxCharacters` to control size |\n| `contents.text` | object | Full page as clean markdown. Set `maxCharacters` to cap |\n| `contents.summary` | object | LLM-generated summary. Supports `query` and JSON `schema` for structured extraction |\n\n**Categories:**\n\n| Category | Best for |\n|----------|---------|\n| `company` | Company pages, LinkedIn company profiles |\n| `people` | LinkedIn profiles, professional bios, personal sites |\n| `research paper` | arXiv, academic papers, peer-reviewed research |\n| `news` | Current events, journalism |\n| `tweet` | Posts from X/Twitter |\n| `personal site` | Blogs, personal pages |\n| `financial report` | SEC filings, earnings reports |\n\n### Examples\n\n**Research papers:**\n```\nweb_search_advanced_exa {\n  \"query\": \"transformer architecture improvements for long-context windows\",\n  \"category\": \"research paper\",\n  \"numResults\": 15,\n  \"contents\": { \"highlights\": { \"maxCharacters\": 3000 } }\n}\n```\n\n**Company list building with structured extraction:**\n```\nweb_search_advanced_exa {\n  \"query\": \"Series A B2B SaaS companies in climate tech founded after 2022\",\n  \"category\": \"company\",\n  \"numResults\": 25,\n  \"contents\": {\n    \"summary\": {\n      \"query\": \"company name, what they do, funding stage, location\",\n      \"schema\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"name\": { \"type\": \"string\" },\n          \"description\": { \"type\": \"string\" },\n          \"funding\": { \"type\": \"string\" },\n          \"location\": { \"type\": \"string\" }\n        }\n      }\n    }\n  }\n}\n```\n\n**People search — find candidates with specific profiles:**\n```\nweb_search_advanced_exa {\n  \"query\": \"machine learning engineers at fintech startups in NYC with experience in fraud detection\",\n  \"category\": \"people\",\n  \"numResults\": 20,\n  \"contents\": { \"highlights\": { \"maxCharacters\": 2000 } }\n}\n```\n\n**Finding pages similar to a known URL:**\nUse the URL itself as the query — Exa will find semantically similar pages:\n```\nweb_search_advanced_exa {\n  \"query\": \"https://linkedin.com/in/some-candidate-profile\",\n  \"numResults\": 15,\n  \"contents\": { \"highlights\": { \"maxCharacters\": 2000 } }\n}\n```\n\n**Recent news with freshness control:**\n```\nweb_search_advanced_exa {\n  \"query\": \"AI regulation policy updates\",\n  \"category\": \"news\",\n  \"maxAgeHours\": 72,\n  \"numResults\": 10,\n  \"contents\": { \"highlights\": { \"maxCharacters\": 4000 } }\n}\n```\n\n**Scoped domain search:**\n```\nweb_search_advanced_exa {\n  \"query\": \"authentication best practices\",\n  \"includeDomains\": [\"owasp.org\", \"auth0.com\", \"docs.github.com\"],\n  \"numResults\": 10,\n  \"contents\": { \"text\": { \"maxCharacters\": 5000 } }\n}\n```\n\n---\n\n## company_research_exa\n\nOne-call company research. Returns business overview, recent news, funding, and competitive landscape.\n\n```\ncompany_research_exa { \"query\": \"Stripe payments company overview and recent news\" }\n```\n\n```\ncompany_research_exa { \"query\": \"what does Anduril Industries do and who are their competitors\" }\n```\n\n---\n\n## people_search_exa\n\nFind professionals by role, company, location, expertise. Returns LinkedIn profiles and bios.\n\n```\npeople_search_exa { \"query\": \"VP of Engineering at healthcare startups in San Francisco\" }\n```\n\n```\npeople_search_exa { \"query\": \"AI researchers specializing in multimodal models\" }\n```\n\n---\n\n## get_code_context_exa\n\nSearch GitHub repos, Stack Overflow, and documentation for code examples and API usage patterns.\n\n```\nget_code_context_exa { \"query\": \"how to implement rate limiting in Express.js with Redis\" }\n```\n\n```\nget_code_context_exa { \"query\": \"Python asyncio connection pooling example with aiohttp\" }\n```\n\n---\n\n## crawling_exa\n\nExtract clean content from a specific URL. Handles JavaScript-rendered pages, PDFs, and complex layouts. Returns markdown.\n\n```\ncrawling_exa { \"url\": \"https://arxiv.org/abs/2301.07041\" }\n```\n\nGood for when you already have the URL and want to read the page.\n\n---\n\n## deep_researcher_start + deep_researcher_check\n\nLong-running async research. Exa's research agent searches, reads, and compiles a detailed report.\n\n**Start a research task:**\n```\ndeep_researcher_start {\n  \"query\": \"competitive landscape of AI code generation tools in 2026 — key players, pricing, technical approaches, market share\"\n}\n```\n\n**Check status (use the researchId from the start response):**\n```\ndeep_researcher_check { \"researchId\": \"abc123...\" }\n```\n\nPoll `deep_researcher_check` until status is `completed`. The final response includes the full report.\n\n---\n\n## deep_search_exa\n\nSingle-call deep search: expands your query across multiple angles, searches, reads results, and returns a synthesized answer with grounded citations. Requires API key.\n\n```\ndeep_search_exa { \"query\": \"what are the leading approaches to multimodal RAG in production systems\" }\n```\n\nSupports structured output via `outputSchema`:\n```\ndeep_search_exa {\n  \"query\": \"top 10 aerospace companies by revenue\",\n  \"type\": \"deep\",\n  \"outputSchema\": {\n    \"type\": \"object\",\n    \"required\": [\"companies\"],\n    \"properties\": {\n      \"companies\": {\n        \"type\": \"array\",\n        \"items\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"name\": { \"type\": \"string\" },\n            \"revenue\": { \"type\": \"string\" },\n            \"hq\": { \"type\": \"string\" }\n          }\n        }\n      }\n    }\n  }\n}\n```\n\n---\n\n## Query Craft\n\nExa is neural — it matches on meaning, not keywords. Write queries like you'd describe the ideal page to a colleague.\n\n**Do:** \"blog post about using embeddings for product recommendations at scale\"\n**Don't:** \"embeddings product recommendations\"\n\n**Do:** \"Stripe payments company San Francisco fintech\"\n**Don't:** \"Stripe\" (too ambiguous)\n\n- Use `category` when you know the content type — it makes a big difference.\n- For broader coverage, run 2-3 query variations in parallel and deduplicate results.\n- For agentic workflows, use `highlights` instead of full `text` — it's 10x more token-efficient while keeping the relevant parts.\n\n## Token Efficiency\n\n| Content mode | When to use |\n|-------------|------------|\n| `highlights` | Agent workflows, factual lookups, multi-step pipelines — most token-efficient |\n| `text` | Deep analysis, when you need full page context |\n| `summary` | Quick overviews, structured extraction with JSON schema |\n\nSet `maxCharacters` on any content mode to control output size.\n\n## When to Reach for Which Tool\n\n| I need to... | Use |\n|-------------|-----|\n| Quick web lookup | `web_search_exa` |\n| Research papers, academic search | `web_search_advanced_exa` + `category: \"research paper\"` |\n| Company intel, competitive analysis | `company_research_exa` or advanced + `category: \"company\"` |\n| Find people, candidates, experts | `people_search_exa` or advanced + `category: \"people\"` |\n| Code examples, API docs | `get_code_context_exa` |\n| Read a specific URL | `crawling_exa` |\n| Find pages similar to a URL | `web_search_advanced_exa` with URL as query |\n| Recent news / tweets | Advanced + `category: \"news\"` or `\"tweet\"` + `maxAgeHours` |\n| Detailed research report | `deep_researcher_start` → `deep_researcher_check` |\n| Quick answer with citations | `deep_search_exa` |\n\n---\n\n**Docs:** [exa.ai/docs](https://exa.ai/docs) — **Dashboard:** [dashboard.exa.ai](https://dashboard.exa.ai) — **Support:** support@exa.ai\n","tags":{"latest":"2.0.0"},"stats":{"comments":0,"downloads":31267,"installsAllTime":67,"installsCurrent":67,"stars":45,"versions":3},"createdAt":1769445904595,"updatedAt":1778485857338},"latestVersion":{"version":"2.0.0","createdAt":1773248698117,"changelog":"Major update: covers all 9 MCP tools, adds YAML frontmatter, query tips, category filters, structured extraction, deep research, token efficiency","license":"MIT-0"},"metadata":null,"owner":{"handle":"theishangoswami","userId":"s17752rc3km9vbn8pqr8075m3x885z7x","displayName":"Ishan Goswami","image":"https://avatars.githubusercontent.com/u/26306586?v=4"},"moderation":null}