Skip to main content
POST
/
api
/
deep-research
Start deep research
curl --request POST \
  --url https://developer.thehog.ai/api/deep-research \
  --header 'Content-Type: application/json' \
  --header 'X-Access-Key: <api-key>' \
  --header 'X-Secret-Key: <api-key>' \
  --data '
{
  "prompt": "Research AI CRM competitors",
  "schema": {
    "type": "object",
    "properties": {
      "competitors": {
        "type": "array"
      }
    }
  },
  "model": "<string>",
  "urls": [
    "<string>"
  ],
  "inputAnchors": [
    {
      "input_anchor": {
        "candidate_index": 1
      }
    }
  ],
  "maxCredits": 123,
  "budget": {
    "maxCredits": 123
  },
  "enrich": true
}
'
{
  "id": "<string>",
  "operationId": "<string>",
  "status": "queued",
  "pollUrl": "<string>",
  "meta": {
    "schemaContract": {}
  }
}

POST /api/deep-research

Start an async LLM research job with a prompt and JSON Schema.
Kicks off an LLM-powered research job that browses the web and returns structured data conforming to your JSON Schema. Always async — returns 202 Accepted with an operation ID.

Example

curl -X POST https://developer.thehog.ai/api/deep-research \
  -H "X-Access-Key: ak_xxxxxxxxxxxxxxxx" \
  -H "X-Secret-Key: sk_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{"prompt": "Research AI CRM competitors", "schema": {"type": "object", "properties": {"competitors": {"type": "array"}}}}'

Authorizations

X-Access-Key
string
header
required

The public API key from the Credentials page.

X-Secret-Key
string
header
required

The API secret shown when the credential is created.

Headers

Idempotency-Key
string

Prevents duplicate work if you retry the same request with the same key.

Body

application/json
prompt
string
required

Research instructions.

Example:

"Research AI CRM competitors"

schema
object
required

JSON Schema that defines the dynamic shape of result.data returned after the operation completes.

Example:
{
  "type": "object",
  "properties": { "competitors": { "type": "array" } }
}
model
string

Optional model override.

urls
string[]

Optional seed URLs to prioritize during research.

inputAnchors
object
maxCredits
integer<int32>

Maximum credits to spend. Must match budget.maxCredits when both are provided.

budget
object
enrich
boolean

Set false to disable server-side schema enrichment and fill exactly the supplied schema. Closed schemas (additionalProperties:false) are never enriched.

Response

Research job accepted. Poll the returned URL for status and results.

id
string
required
operationId
string
required
status
enum<string>
required
Available options:
queued
pollUrl
string
required
meta
object