Process multiple research tasks efficiently with shared configuration and unified monitoring
The Batch API runs 1-100 DeepResearch tasks in parallel with shared configuration, unified monitoring, and aggregated cost tracking. Use it for bulk research where many queries share the same mode, output formats, and search settings.For individual tasks with unique config or advanced features (files, deliverables, MCP servers), use the standard DeepResearch API. New to DeepResearch? Read that guide first.
Tasks inherit mode, 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.
Set a webhook_url to get notified when the batch reaches a terminal state (completed, completed_with_errors, or cancelled) instead of polling.
batch = valyu.batch.create( name="Research Batch", mode="standard", webhook_url="https://your-domain.com/webhook")# Save the secret immediately - it's only returned oncewebhook_secret = batch.webhook_secret
The batch API does not support deliverables, 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.