New to DeepResearch? Start with the DeepResearch Guide to understand the core concepts before using batch processing.
Features
Parallel Processing
Run 1-100 research tasks simultaneously with shared configuration.
Unified Monitoring
Track progress, costs, and status across all tasks in one place.
Shared Configuration
Apply the same mode, output formats, and search settings to all tasks.
Webhook Notifications
Get notified when batches complete instead of polling.
When to Use Batching
Use batch processing when you need to:- Process multiple queries - Run 1-100 research tasks in parallel
- Share configuration - Apply the same mode, output formats, and search settings to all tasks
- Unified monitoring - Track progress and costs across all tasks in one place
- Efficient bulk operations - Reduce API calls and simplify task management
Key Concepts
Batch Lifecycle
A batch progresses through the following statuses:| Status | Description |
|---|---|
open | Batch is created but no tasks are running yet |
processing | At least one task is queued, running, or completed |
completed | All tasks have finished successfully |
completed_with_errors | All tasks finished, but some failed |
cancelled | Batch was cancelled before completion |
Task States
Individual tasks within a batch can be in these states:| Status | Description |
|---|---|
queued | Task is waiting to start |
running | Task is currently executing |
completed | Task finished successfully |
failed | Task encountered an error |
cancelled | Task was cancelled |
Shared Configuration
Tasks in a batch inherit these settings from the batch:mode- Research mode (fast, standard, heavy, max)output_formats- Output formats (markdown, pdf, toon, or JSON schema)search_params- Search configuration (type, sources, dates, category)
strategy- Custom research instructionsurls- URLs to analyzemetadata- Custom metadata
Basic Workflow
Waiting for Completion
Usewait_for_completion() to automatically poll until the batch finishes:
Retrieving Task Results
Use thelist_tasks() / listTasks() method with include_output=true to get full task outputs in a single paginated request:
Parameters Reference
Mode Values
| Mode | Description | Cost per Task |
|---|---|---|
fast | Fast research mode (quick answers, lightweight research) | $0.10 |
standard | Standard research mode (default) | $0.50 |
heavy | Comprehensive research mode with fact verification | $2.50 |
max | Exhaustive research mode with maximum quality and fact verification | $15.00 |
The
lite mode is deprecated and maps to standard.Output Formats
markdown(default) - Markdown text outputpdf- PDF document outputtoon- TOON format (requires JSON schema)- JSON Schema Object - Structured output matching the provided schema
Search Parameters
Search parameters control which data sources are queried, what content is included/excluded, and how results are filtered by date or category. When set at the batch level, these parameters are applied to all tasks in the batch and cannot be overridden by individual tasks.Search Type
Controls which backend search systems are queried for all tasks in the batch:"all"(default): Searches both web and proprietary data sources"web": Searches only web sources (general web search, news, articles)"proprietary": Searches only proprietary data sources (academic papers, finance data, patents, etc.)
Included Sources
Restricts search to only the specified source types for all tasks in the batch. When specified, only these sources will be searched. Tasks inherit this setting and cannot override it. Available source types:"web": General web search results (news, articles, websites)"academic": Academic papers and research databases (ArXiv, PubMed, BioRxiv/MedRxiv, Clinical trials, FDA drug labels, WHO health data, NIH grants, Wikipedia)"finance": Financial and economic data (Stock/crypto/FX prices, SEC filings, Company financial statements, Economic indicators, Prediction markets)"patent": Patent and intellectual property data (USPTO patent database, Patent abstracts, claims, descriptions)"transportation": Transit and transportation data (UK National Rail schedules, Maritime vessel tracking)"politics": Government and parliamentary data (UK Parliament members, bills, votes)"legal": Case law and legal data (UK court judgments, Legislation text)
Excluded Sources
Excludes specific source types from search results for all tasks in the batch. Uses the same source type values asincluded_sources. Cannot be used simultaneously with included_sources (use one or the other).
Start Date
Format: ISO date format (YYYY-MM-DD)
Filters search results to only include content published or dated on or after this date for all tasks in the batch. Applied to both publication dates and event dates when available. Works across all source types.
End Date
Format: ISO date format (YYYY-MM-DD)
Filters search results to only include content published or dated on or before this date for all tasks in the batch. Applied to both publication dates and event dates when available. Works across all source types.
Category
Filters results by a specific category for all tasks in the batch. The exact categories available depend on the data source. Category values are source-dependent and may not be applicable to all source types.Important Notes
Parameter Enforcement
Batch-level parameters are enforced and cannot be overridden by individual tasks. This ensures consistent search behavior across all tasks in the batch. Tool-level source specifications are ignored if batch-level sources are specified.Date Filtering
Dates are applied to both publication dates and event dates when available. ISO format (YYYY-MM-DD) is required. Date filtering works across all source types. If only start_date / startDate is provided, results include all content from that date forward. If only end_date / endDate is provided, results include all content up to that date. Both dates can be combined for a specific date range.
Limitations
Not Yet Supported in Batch API
The following features are not yet supported in the batch API:deliverables- Cannot specify deliverables (CSV, XLSX, PPTX, DOCX) for batch tasksfiles- Cannot attach files to batch tasksmcp_servers- Cannot configure MCP servers for batch taskscode_execution- Always enabled (cannot disable per batch)previous_reports- Cannot reference previous reports in batch tasksalert_email- Cannot set email alerts for batch tasks
POST /v1/deepresearch/tasks) if you need these features.
Task Constraints
- Maximum tasks per request: 100
- Minimum tasks per request: 1
- Batch status: Batch must be in
"open"or"processing"status to add tasks - Inherited settings: Tasks cannot override
mode,output_formats, orsearch_paramsfrom the batch
Best Practices
When to Use Batches vs Individual Tasks
| Use Batches When | Use Individual Tasks When |
|---|---|
| Processing 10+ queries with shared config | Each task needs unique configuration |
| Need unified cost tracking | Need advanced features (files, deliverables, MCP) |
| Bulk research operations | Single or few research queries |
| Shared search parameters | Different search settings per task |
Cost Tracking
Monitor batch costs through thecost field:
Error Handling
Always checksuccess fields and handle errors appropriately:
Webhooks
Set up webhooks for production use to avoid polling:completed, completed_with_errors, or cancelled).

