---
source_url: "https://docs.parallel.ai/task-api/examples/task-deep-research"
title: Task API Deep Research Quickstart - Parallel
mirrored_at: 2026-08-06T01:40:48.124Z
host: docs.parallel.ai
cited_in_42a: true
mirror_canonical: "https://index.42a.ai/docs.parallel.ai/task-api/examples/task-deep-research"
---

> **Original source:** https://docs.parallel.ai/task-api/examples/task-deep-research

## Overview

Deep Research is designed for open-ended research questions where you don’t have structured input data to enrich. Instead of bringing data to enhance, you bring a research question or topic, and the Task API conducts comprehensive multi-step web exploration to deliver analyst-grade intelligence. This powerful capability compresses hours of manual research into minutes, delivering high-quality intelligence at scale. Optimized within the `pro` and `ultra` [processor families](https://docs.parallel.ai/task-api/guides/choose-a-processor), Deep Research transforms natural language research queries into comprehensive reports complete with inline citations and verification.

## How Deep Research Works

With Deep Research, the system automatically:

1.  Interprets your research intent from natural language
2.  Conducts multi-step web exploration across authoritative sources
3.  Synthesizes findings into structured data or markdown reports
4.  Provides citations and confidence levels for verification

## Key Features

-   **Natural Language Input**: Simply describe what you want to research in plain language—no need for structured data or predefined schemas.
-   **Declarative Approach**: Specify what intelligence you need, and the system handles the complex orchestration of research, exploration, and synthesis.
-   **Flexible Output Structure**: Choose between `auto` schema mode (automatically structured JSON), `text` mode (markdown reports) or pre-specified structured JSON schema based on your needs.
-   **Comprehensive Intelligence**: Multi-step research across authoritative sources with granular citations, reasoning, and confidence levels for every finding.

## Creating a Deep Research Task

Deep Research accepts any input schema as input, including plain-text strings. The more specific and detailed your input, the better the research results would be.

Deep Research supports two output formats to meet different integration needs:

### Auto Schema

Specifying auto schema mode in the Task API output schema triggers Deep Research and ensures well-structured outputs, without the need to specify a desired output structure. The final schema type will follow a [JSONSchema](https://docs.parallel.ai/api-reference/tasks/create-task-run#body-task-spec-output-schema) format and will be determined by the processor automatically. Auto schema mode is the default mode when using `pro` and `ultra` line of processors. This format is ideal for programmatic processing, data analysis, and integration with other systems.

### Text Schema

Specifying text schema mode in the Task API output schema triggers Deep Research with a markdown report output format. The generated result will contain extensive research formatted into a markdown report with in-line citations. This format is perfect for human-readable content as well as LLM ingestion. To provide guidance on the output, use the description field when specifying text schema. This allows users to steer the report generated towards a certain direction like control over the length or the content of the report.

### Sample Response

Below is a shortened sample response using the `auto` schema. The complete response contained 124 content fields, with 610 total citations for this Task.

Deep Research returns a response which includes the `content` and the `basis`, as with other [Task API](https://docs.parallel.ai/task-api/guides/execute-task-run) executions. The key difference is that the `basis` object in an `auto` mode output contains Nested FieldBasis.

### Nested FieldBasis

In `auto` mode, the [Basis](https://docs.parallel.ai/task-api/guides/access-research-basis) object maps each output field (including nested fields) with supporting evidence. This ensures that every output, including nested output fields, has citations, excerpts, confidence levels and reasoning. For nested fields, the basis uses dot notation for indexing:

-   `key_players.0` for the first item in a key players array
-   `industry_overview.growth_cagr` for nested object fields
-   `market_trends.2.description` for nested arrays with objects

## Example: Market Research Assistant

Here’s how to build a market research tool with Deep Research, showing different approaches for handling the async nature of the Task API:

## Polling vs Webhooks vs SSE

The Task API is asynchronous—when you create a task, it returns immediately with a `run_id` while processing continues in the background. There are three ways to get results:

Method

What It Does

Best For

**Polling**

Your code repeatedly calls the API to check if the task is done

Simple integrations, scripts, testing

**Webhooks**

Parallel sends an HTTP request to your server when the task completes

Production apps with backend servers

**SSE**

Stream real-time progress updates as the task runs

Interactive UIs, monitoring progress

### Polling

**How it works:** After creating a task, repeatedly check its status until it completes.

**Key points:**

-   Simplest approach—no infrastructure needed
-   Use `retrieve()` to check status, then `result()` when complete
-   The `result()` method also blocks until complete if you prefer a one-liner: `client.task_run.result(run_id, api_timeout=3600)`

### Webhooks

**How it works:** Provide a webhook URL when creating the task. Parallel sends a POST request to your URL when the task finishes.

**Key points:**

-   Webhooks notify you when the task **completes**—they don’t send the actual results
-   After receiving the webhook, call `result()` to retrieve the output data
-   Requires a publicly accessible HTTPS endpoint
-   See [Webhooks documentation](https://docs.parallel.ai/task-api/webhooks) for setup and verification

### Server-Sent Events (SSE)

**How it works:** Connect to a streaming endpoint to receive real-time progress updates as the task runs.

**Key points:**

-   See real-time progress: research plan, sources being explored, intermediate findings
-   The final `task_run.state` event includes the complete output
-   Ideal for showing users what’s happening during long research tasks
-   See [Streaming Events documentation](https://docs.parallel.ai/task-api/task-sse) for event types and examples

### Which Should I Use?

Scenario

Recommended Method

Testing or one-off scripts

Polling

Backend service processing many tasks

Webhooks

User-facing app showing research progress

SSE

Simple integration without a server

Polling

Production system needing reliability

Webhooks + Polling fallback

## Example: Chatting with Deep Research

You can use [interactions](https://docs.parallel.ai/task-api/guides/interactions) to ask follow-up questions about a Deep Research result. The initial research runs with a `pro` or `ultra` processor, and each follow-up automatically has the full context of the original report — so you can drill into specific findings without re-running the entire research.

## Next Steps

-   [**Interactive Research:**](https://docs.parallel.ai/task-api/examples/interactive-research) Build a multi-turn research chat using interaction chaining
-   [**Choose a Processor:**](https://docs.parallel.ai/task-api/guides/choose-a-processor) Deep Research works best with `pro` or `ultra` processors—use fast variants (`pro-fast`, `ultra-fast`) for quicker turnaround
-   [**Task Spec Best Practices:**](https://docs.parallel.ai/task-api/guides/specify-a-task) Craft effective research queries and output specifications
-   [**Task Groups:**](https://docs.parallel.ai/task-api/group-api) Run multiple research queries in parallel for batch intelligence gathering
-   [**Access Research Basis:**](https://docs.parallel.ai/task-api/guides/access-research-basis) Understand nested FieldBasis structure for auto schema outputs
-   [**Streaming Events:**](https://docs.parallel.ai/task-api/task-sse) Monitor long-running research tasks with real-time progress updates
-   [**Webhooks:**](https://docs.parallel.ai/task-api/webhooks) Configure HTTP callbacks for research completion notifications
-   [**Enrichment:**](https://docs.parallel.ai/task-api/examples/task-enrichment) Learn about enriching structured data instead of open-ended research
-   [**API Reference:**](https://docs.parallel.ai/api-reference/tasks/create-task-run) Complete endpoint documentation for the Task API

## Rate Limits

See [Rate Limits](https://docs.parallel.ai/getting-started/rate-limits) for default quotas and how to request higher limits.