AI Answer Generation — Get LLM-generated answers to questions informed by search results
Agent Runs — Create and manage autonomous AI agents that work toward specified goals
Perfect for:
Research and fact-checking tasks that need up-to-date web information
Content aggregation pipelines that extract structured data from URLs
Q&A systems that need grounded answers with source citations
Automated research agents that browse, search, and synthesize information
Tools
Perform an Exa web search and return results. Takes a query and optional filters for domain inclusion/exclusion, date range, and search type. Returns matching web results with titles, URLs, published dates, and text snippets. Use autoprompt from the response to refine or repeat the search.
Inputs:
- `query` (str, required) — The search query text.- `num_results` (int, optional, default: 10) — Number of results to return (1–100).- `include_domains` (list[str], optional) — Only return results from these domains.- `exclude_domains` (list[str], optional) — Exclude results from these domains.- `start_published_date` (str, optional) — ISO 8601 date — only return results published after this date.- `end_published_date` (str, optional) — ISO 8601 date — only return results published before this date.- `type` (str, optional, default: "auto") — Search type: 'keyword', 'neural', or 'auto'.
Extract clean, LLM-ready content from URLs. Returns structured content per URL including text, highlights, and summaries. Supports text, HTML, or markdown output formats.
Inputs:
- `urls` (list[str], required) — List of URLs to retrieve content from.- `text_format` (str, optional, default: "text") — Output format: 'text', 'html', or 'markdown'.- `livecrawl` (str, optional, default: "fallback") — Crawling mode: 'always', 'never', or 'fallback'.- `highlight` (dict, optional) — Highlight settings with sentences_per_highlight and highlights_per_url.
output data schema:
Get an LLM answer to a question informed by Exa search results. Returns a generated answer text with citations from source URLs. Use for Q&A, research, and fact-finding tasks.
Inputs:
- `query` (str, required) — The question to answer.- `text_format` (str, optional, default: "markdown") — Answer format: 'text' or 'markdown'.- `include_domains` (list[str], optional) — Only use sources from these domains.- `exclude_domains` (list[str], optional) — Exclude sources from these domains.- `model` (str, optional, default: "exa-pro") — Model to use for answer generation.
output data schema:
Creates a new Exa agent run. Starts an agent process that works toward a specified goal and returns the run details. Use the returned run ID to check status, list events, or cancel the run.
Inputs:
- `goal` (str, required) — The goal or task for the agent to complete.- `instructions` (str, optional) — Additional instructions for the agent.- `model` (str, optional, default: "exa-pro") — Model to use for the agent.- `max_steps` (int, optional, default: 20) — Maximum number of steps the agent can take (1–100).- `temperature` (float, optional, default: 0.7) — Temperature for the model (0.0–1.0).
output schema:
Retrieves the details of a specific agent run. Returns run status, goal, model, and result if completed. Use to check whether a run has finished or to get its output.
Inputs:
- `id` (str, required) — The ID of the run to retrieve.
Retrieves a list of agent runs. Returns runs with their current status, goal, and creation timestamps. Use to browse all runs and find specific ones by their IDs.
Inputs:
- `limit` (int, optional, default: 20) — Maximum number of runs to return (1–100).- `offset` (int, optional, default: 0) — Pagination offset.
output data schema:
{ runs: { id: string
Cancels an in-progress agent run. Stops the agent's execution and updates the run status. The response includes both the previous and current status.
Inputs:
- `id` (str, required) — The ID of the run to cancel.
DESTRUCTIVE — REQUIRES EXPLICIT USER CONFIRMATION BEFORE CALLING. Permanently deletes an existing agent run. This action is irreversible — the run record and all associated data will be permanently removed. NEVER call this tool autonomously or as part of an automated flow. You MUST stop, tell the user exactly what will be deleted and that it is permanent, and wait for their explicit written confirmation before proceeding.
Inputs:
- `id` (str, required) — The ID of the run to delete.
output data schema:
{ id: string | null; deleted: boolean | null;}
Retrieves a list of events for a specific agent run. Returns chronological events including steps, tool calls, and results. Use to monitor run progress or inspect what the agent did.
Inputs:
- `id` (str, required) — The ID of the run to get events for.- `limit` (int, optional, default: 50) — Maximum events to return (1–200).- `offset` (int, optional, default: 0) — Pagination offset.
output data schema:
{ events
API Parameters Reference
Every tool returns the same top-level envelope. Only data varies per tool.