Exa Search
ExaToolkit gives an agent four related tools powered by the Exa neural search engine: web search, find-similar, content retrieval, and AI-powered answers — all sharing a single client.
Note
Requires the exa-py package and an API key: pip install "exa-py>=2.12.1,<3"
If api_key is omitted, the Exa SDK reads EXA_API_KEY from the environment automatically.
Tools#
| Tool | Description |
|---|---|
exa_search | Neural web search with filters (domains, dates, type, category) |
exa_find_similar | Find pages similar to a given URL |
exa_get_contents | Fetch full text content for specific URLs |
exa_answer | Get an AI-generated answer with citations |
Shared defaults#
num_results and max_characters on the constructor are applied to the default exa_search and exa_find_similar tools:
Picking a subset of tools#
Each tool is exposed as a factory method on the toolkit (toolkit.search(), toolkit.find_similar(), toolkit.get_contents(), toolkit.answer()). Call the method to get a ready-to-use tool, then pass only the ones you need to the agent:
Per-tool configuration#
Per-call parameters (filters, domains, dates, num_results, max_characters, etc.) live on the factory methods, not on the toolkit itself:
When max_characters is set, exa_search calls Exa's search_and_contents endpoint so each result carries text. When max_characters is None, only metadata is returned (cheaper and faster).
All runtime parameters accept Variable for deferred context resolution.