Create Deep Research Task
Create a Deep Research task.
Overview
This endpoint creates a Deep Research task and returns a task ID immediately. Deep Research takes a free-text brief about one research target — a company, a person or team, an account, a market question — and produces a cited report: a reasoning agent plans the research, fans out research agents that gather evidence, and synthesizes the result. Use Deep Search instead when you want to discover many companies matching criteria; use Deep Research when you want a deep, sourced report.Example request
output_schema:
Key parameters
brief(required): free-text research brief about a company, a person, or a team, up to 20,000 characters. Write it like a request to a research analyst — a detailed paragraph naming the target(s), your own context, and the decision the report should support. Detailed, specific briefs reliably produce better reports than one-liners.depth(optional, defaultmedium): the maximum research-agent budget —medium= 25,high= 50,xhigh= 75 agents. Starting a task requires the full budget in available credits; you are billed only for agents that actually run.output_schema(optional): a JSON Schema object ("type": "object", with optionalpropertiesandrequired). When present, the report is structured and guaranteed to conform to this schema. Omit for a markdown report.
Endpoint behavior
- The call validates the request and schedules the task, then returns immediately. No research runs at request time; poll with Get Task.
- Creation is all-or-nothing: a success response means the system owns delivery; on a scheduling failure (
503) nothing was created and it is safe to retry. - Billing is per completed research agent (1 credit each). A simple brief at
xhighthat finishes after 8 agents costs 8 credits. Failed tasks refund all their charges. - Briefs that cannot produce useful research (no identifiable target, unusable input) are rejected asynchronously: the task ends
failedwith the reasons and fix-it suggestions infailure_reason, and nothing is charged.
Success signal
A successful response includes the taskid with status: "created". Save id and poll Get Task until status is done or failed.
Common errors
401 Unauthorized
Check that your header is Authorization: Bearer ${EXTRUCT_API_TOKEN}.
402 Payment Required
Two cases, distinguished by detail.error:
plan_required: Deep Research requires a Pro plan.insufficient_credits: your available credits are below the full depth budget. The detail includesrequired_creditsandavailable_credits— a lowerdepthmay still fit.
422 Unprocessable Entity
Common causes:
- Empty brief, or brief longer than 20,000 characters.
depthoutsidemedium/high/xhigh(values are lowercase).output_schemais not a valid JSON Schema object — the schema is validated in full at creation time, including nested property definitions.
503 Service Unavailable
Scheduling is temporarily unavailable. No task was created and nothing was charged — retry the call.
Related endpoints
Related guides
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
Free-text research brief about a company, a person, or a team. Write it like a request to a research analyst — a detailed paragraph naming the target(s), your own context (what you sell or research, who the buyer is), the decision the report should support, and time windows that matter. Detailed, specific briefs reliably produce better reports than one-liners.
1 - 20000Research depth: the maximum research-agent budget (medium=25, high=50, xhigh=75). Starting a task requires the full budget in available credits; only agents that actually run are billed.
medium, high, xhigh Optional JSON Schema for structured report output; accepts an object schema (type: "object", with optional properties and required). Omit for markdown report output.
Response
Successful Response
Task lifecycle: created -> in_progress -> done or failed.
created, in_progress, done, failed medium, high, xhigh Research analysis steps completed so far.
Research agents completed so far; billing is one credit per agent.
Unique sources collected across all research agents.
Why the task failed, when status is failed: a rejected brief (with suggestions for fixing it), insufficient credits mid-run, or an internal error. Failed tasks refund their charges.
Markdown report payload, returned when no output_schema was provided.
- DeepResearchMarkdownReport
- DeepResearchSchemaReport