Skip to main content
Run many DeepResearch tasks in parallel under one shared configuration, with progress monitoring.
For the batch lifecycle and best practices, see the Batch Processing Guide. This page is the TypeScript SDK reference. HITL checkpoints are not available for batches - use individual deepresearch.create() tasks for those.

Run a batch of DeepResearch tasks in parallel with the TypeScript SDK.

Open in Cursor

Quick start

Create a batch, add 1-100 tasks, then wait for completion:

Reference

Batch-level mode, outputFormats, and search are inherited by every task and cannot be overridden per-task. Per-task you can set researchStrategy, reportFormat, urls, and metadata.Individual tasks are DeepResearch tasks - use deepresearch.status(task.deepresearch_id), deepresearch.update(...), or deepresearch.cancel(...) on them directly.
The batch-level search config applies to all tasks:
See the Batch Processing Guide for all options.

Webhooks

Pass webhookUrl on create() to be notified when the batch reaches a terminal state (completed, completed_with_errors, or cancelled) instead of polling. The webhook_secret is returned only on creation - store it immediately.

Limitations

Batch tasks do not support files, deliverables, mcpServers, previousReports, or HITL. Use client.deepresearch.create() for those.

See also

Batch Processing Guide

Lifecycle, best practices, and examples

DeepResearch API

Individual task API with all features

Python SDK

Python batch methods

API Reference

REST endpoint documentation