Deep research lets you ask open-ended research questions and receive structured, schema-conformant answers. You describe what you want to know in a natural languageDocumentation Index
Fetch the complete documentation index at: https://docs.thehog.ai/llms.txt
Use this file to discover all available pages before exploring further.
prompt, define the exact shape of the data you need as a JSON Schema, and The Hog browses the web, synthesizes findings with an LLM, and returns a result that matches your schema precisely. This is useful for building account intelligence, competitive analysis, market mapping, and any task that requires gathering information from multiple web sources and transforming it into structured data.
Deep research is always asynchronous. The endpoint returns HTTP 202 immediately with an
operationId. Depending on the complexity of your prompt and schema, results typically arrive within 1–5 minutes. Poll GET /api/operations/:id until status is "succeeded".Endpoint
Request fields
| Field | Type | Required | Description |
|---|---|---|---|
prompt | string | Yes | Natural language research question or instruction |
schema | object | Yes | JSON Schema that defines the structure of the result you want back |
model | string | No | Override the default model (e.g. "openai:gpt-4.1") |
urls | string[] | No | Optional seed URLs to include as starting points for research |
projectId | string | No | Project context for brand-aware research (can also be set via X-Project-Id header) |
Idempotency
Include anIdempotency-Key header to prevent duplicate jobs. If you submit the same key twice within the deduplication window, the second request returns the existing queued operation instead of starting a new one.
Examples
Accepted response (HTTP 202)
Polling for results
PollGET /api/operations/:id until status is "succeeded" or "failed".
Steps to run deep research
Write a focused prompt
Be specific about what you want to learn and from what time window. Narrow prompts produce more accurate structured results than broad open-ended ones.
Define your JSON Schema
Design the schema to match exactly the fields you need downstream. Use
required to mark fields that must always be present. The result will conform to this schema.Submit with an Idempotency-Key
Use a deterministic key (e.g.
research-{company}-{month}) so that retries or duplicate submissions return the same operation instead of spawning redundant jobs.Store the operationId and poll
Save the
operationId from the 202 response. Poll every 10–30 seconds until status is "succeeded". For production use, implement exponential backoff.