Workflow: create, add tasks, wait
Create a batch with shared settings, add queries, then poll until done.Shared vs per-task configuration
Tasks inheritmode, output_formats, and search from the batch and cannot override them. Each task can set its own research_strategy, report_format, urls, and metadata.
Mode pricing and search parameters are identical to standard DeepResearch - see the search configuration section for the full source list, date filters, and category options. Set them in the batch search object and they apply to every task.
Retrieve results
Uselist_tasks with include_output=True to get full outputs. It’s paginated; follow pagination.last_key for more pages.
Batch and task statuses
Individual tasks use the standard
queued / running / completed / failed / cancelled states.
Webhooks
Set awebhook_url to get notified when the batch reaches a terminal state (completed, completed_with_errors, or cancelled) instead of polling.
Limitations
The batch API does not supportdeliverables, files, mcp_servers, previous_reports, or alert_email, and code_execution is always on. Use individual task creation (POST /v1/deepresearch/tasks) if you need any of these.
Other constraints: 1-100 tasks per request; the batch must be open or processing to add tasks; the deprecated lite mode maps to standard.
Next steps
DeepResearch guide
Individual task features: files, deliverables, MCP servers
Python SDK
Python batch methods
TypeScript SDK
TypeScript batch methods
API reference
Batch endpoint documentation

