Skip to main content
POST /research is Huntr’s agent-led endpoint. You send one objective; Huntr gathers live web and enrichment data, then returns a synthesized answer. Use it when you need judgment and narrative — not just a single database field.

When to use it

Good fits
  • Account plan before a first meeting
  • Buyer or team brief on one company
  • Competitive or diligence question with a clear scope
  • Buying-signal investigation with date ranges
Poor fits — use list-building and enrichment endpoints instead
  • Build a list of 500 companies
  • Find emails for every row in a CSV
  • Repeatedly fetch the same tech-stack field at scale
For bulk workflows, use Company search, Person search, and Contact enrichment. /research returns 422 BULK_ENRICHMENT_REQUIRED when a request needs per-entity enrichment beyond its budget.

Basic request

curl --request POST \
  --url https://api.tryhuntr.com/research \
  --header 'content-type: application/json' \
  --header "x-api-key: ${HUNTR_API_KEY}" \
  --data '{
    "prompt": "We sell financial infrastructure to internet businesses. Research Patrick Collison and the team he leads at Stripe. Summarize his role, leadership priorities, public statements from June 2025 through June 2026, and practical conversation angles.",
    "tier": "deep"
  }'

Write prompts that work

Strong prompts include:
  1. Your context — what you sell and why you’re researching
  2. One primary target — company, person, or team
  3. The decision the answer should support
  4. Specific facts you need
  5. Date ranges for time-sensitive work
Bad: “Tell me about Stripe.” Better: “We sell fraud-prevention APIs to fintech platforms. Research Stripe’s enterprise initiatives from June 2025–June 2026 and identify partnership angles and deal risks.”

Structured output

Pass a flat schema map when downstream code needs predictable keys:
{
  "prompt": "Account plan for Stripe as a fraud-prevention vendor...",
  "tier": "deep",
  "schema": {
    "summary": "Concise account summary",
    "recommended_angles": "Array of partnership angles",
    "risks": "Array of deal risks"
  }
}
  • Keys = top-level result fields
  • Values = descriptions of what each field should contain
  • Not JSON Schema — no nested type definitions
Responses include confidence per field: live, model, or not_found.

Choose a tier

TierUse when
liteWeb-only research — news, pages, public signals
standardCompany account research with enrichment
deepPeople, emails, LinkedIn — buyer-level research
Call GET /pricing or use the MCP get_pricing tool for current prices.

Async execution

Add callback_url for webhook delivery:
{
  "prompt": "...",
  "tier": "deep",
  "callback_url": "https://your-server.com/huntr/webhook"
}
The API returns 202 with request_id and poll_url. Poll GET /research/{request_id}/status until completed or failed. Credits are reserved up front and refunded on failure.

Response fields

FieldDescription
resultAnswer string or schema object
data_sourcelive, mixed, or model (free-text responses)
confidencePer-field source labels (structured responses)
tier / modelWhat ran
priceUSD charged
request_idFor support and async polling

Next step