Search the web and find similar pages using Exa AI’s semantic search engine. Unlike keyword-based search, Exa understands meaning — so natural language queries like “how to implement OAuth2 with Better Auth in Next.js” work better than keyword strings.
Zero vendor SDK dependencies — all Exa API calls are made via direct fetch. Default timeout: 15 seconds.
Provider: Exa AI (semantic search + content extraction)
Credential resolution:
- Agent vault (service
"exa", key "key")
- Environment variable:
EXA_API_KEY
Enable via allowedTools:
{ "allowedTools": ["search_*"] }
search_web — Web Search
Search the web with a natural language query. Returns relevant pages with titles, URLs, and optionally page content, summaries, and highlights.
Parameters
| Parameter | Type | Required | Description |
|---|
query | string | yes | Natural language search query. Be descriptive — Exa uses semantic search, not keywords. |
numResults | number | no | Number of results to return (default: 5, max: 20) |
includeContent | boolean | no | Include page content/summary in results (default: true). Saves a follow-up http_fetch. |
includeDomains | string[] | no | Only return results from these domains (e.g. ["github.com", "docs.python.org"]) |
excludeDomains | string[] | no | Exclude results from these domains |
startPublishedDate | string | no | Only results published after this date (ISO format, e.g. "2024-01-01") |
category | string | no | Filter by category: company, research_paper, news, pdf, github, tweet, personal_site, linkedin_profile |
Returns
Formatted list of results with title, URL, published date, and optionally content/summary/highlights.
Example
{
query: "how to implement OAuth2 with Better Auth in Next.js",
numResults: 5,
includeContent: true,
includeDomains: ["github.com", "dev.to"]
}
Notes
- Uses Exa’s
auto search type (combines neural + keyword for best results)
- When
includeContent is true, results include page text (truncated to 2000 chars), AI-generated summaries, and 3 highlight sentences
- Content extraction saves a follow-up
http_fetch call but uses more tokens
search_find_similar — Find Similar Pages
Find web pages similar to a given URL. Useful for finding alternatives, competitors, or related resources.
Parameters
| Parameter | Type | Required | Description |
|---|
url | string | yes | URL of a page to find similar content for |
numResults | number | no | Number of results (default: 5, max: 20) |
includeContent | boolean | no | Include page content/summary (default: false) |
excludeDomains | string[] | no | Exclude results from these domains |
Returns
Formatted list of similar pages with title, URL, and optionally content.
Example
{
url: "https://github.com/openai/openai-node",
numResults: 10,
excludeDomains: ["github.com"]
}
Notes
- Give it a GitHub repo URL to find similar projects
- Give it a blog post to find related articles
- Use
excludeDomains to avoid getting results from the same site