> ## Documentation Index
> Fetch the complete documentation index at: https://exa.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> The Research API runs asynchronous, multi-step research tasks that search the web, gather sources, synthesize findings, and return structured results with citations.

<Warning>
  The Research API (`/research/v1`) is being deprecated on **May 1, 2026**. Migrate to [`/search`](/reference/search) with `type: "deep-reasoning"` for equivalent functionality. See the [deprecation notice](/changelog/may-2026-api-deprecations) for details.
</Warning>

The Research API creates autonomous research agents that explore the web on your behalf. Given a set of instructions, a research task plans its approach, executes multiple searches, crawls and reads relevant pages, and synthesizes everything into a final output — either a markdown report or structured JSON matching a schema you provide.

## Key Features

* **Asynchronous**: Submit instructions via `POST /research/v1` and receive a `researchId` immediately. Poll or stream for results — tasks can run from seconds to minutes depending on complexity.

* **Multi-step reasoning**: The agent iteratively plans, searches, crawls, and synthesizes. It decomposes your instructions into sub-tasks, runs them in parallel, and combines findings into a single output.

* **Structured output**: Optionally provide an `outputSchema` (JSON Schema) to get validated, parsed JSON back instead of free-form text.

* **Streaming**: Pass `?stream=true` when polling to receive real-time Server-Sent Events as the agent thinks, searches, and writes.

## How It Works

1. **Create** a task with your instructions and optional output schema via [`POST /research/v1`](/reference/research/create-a-task).
2. The agent **plans** by decomposing your instructions into targeted sub-tasks.
3. Each sub-task **searches** the web and **crawls** relevant pages to gather information.
4. Findings are **synthesized** into a final output with citations.
5. **Retrieve** the completed result via [`GET /research/v1/{researchId}`](/reference/research/get-a-task) or list all tasks with [`GET /research/v1`](/reference/research/list-tasks).

## Models

| Model               | Description                                    |
| ------------------- | ---------------------------------------------- |
| `exa-research-fast` | Fastest, lowest cost                           |
| `exa-research`      | Balanced speed and quality (default)           |
| `exa-research-pro`  | Most thorough analysis and strongest reasoning |

## Task Lifecycle

Tasks progress through these statuses:

`pending` → `running` → `completed` | `failed` | `canceled`

Only completed tasks are billed. The `costDollars` field on completed tasks provides a detailed breakdown of searches, pages crawled, and reasoning tokens used.

## Next Steps

* [Create a research task](/reference/research/create-a-task)
* [Get a task by ID](/reference/research/get-a-task)
* [List all tasks](/reference/research/list-tasks)
