Skip to main content
POST
Dispatch a company agent run
The Company Agent builds lists of companies and the people at them, from company registries, licensed company and people data, and the web. It returns the lists as cards with structured rows, plus a cited answer. See the Company Agent guide for examples, effort tiers, contacts and threads.

Notes

  • To authenticate, send your Tako API key in the X-API-Key header. Store it as an environment variable rather than hardcoding it.
  • The agent is asynchronous: this endpoint returns 202 with a CompanyAgentRun whose status is queued. Poll Poll a Company Agent run until status is completed or failed.
  • To stream progress live instead of polling, send Accept: text/event-stream. The response is then a Server-Sent Events stream of RetrievalAgentStreamEnvelope events.
  • The Company Agent doesn’t take an output_schema. A request that sends one returns 400. To get a list’s rows, export its card through Contents.

Effort

effort is low, medium (the default) or high. low answers from company registries and the web only. It screens companies by status, incorporation date, location and industry, and it can’t rank or filter by financial metrics. medium and high can, and high takes longer. A thread keeps its effort: a follow-up with a different effort returns 409 effort_mismatch.

Contacts

People lists carry work emails and phone numbers as locked columns. Export the card through Contents with premium set to true to reveal them. That export bills each revealed record at its premium rate.

Continuing a thread

Pass the thread_id from a prior run to ask a follow-up in the same conversation. Omit it to start a new thread. A thread is pinned to the Company Agent, one set of source_indexes and one effort.

Authorizations

X-API-Key
string
header
required

Body

application/json

Request body for POST /v1/agent/company/runs.

query
string
required

Natural-language company or people research request for the company agent.

Example:

"Directors of publicly traded US banks"

thread_id
string<uuid> | null

Existing thread to continue (follow-up). Omit to start a new thread.

effort
enum<string> | null

Company-research effort tier: low, medium, or high. Omit it on a new thread and Tako uses medium; omit it on a follow-up and the run keeps the thread's tier.

Available options:
low,
medium,
high
source_indexes
enum<string>[] | null

Which sources the agent may use: 'data' (curated knowledge), 'web' (open-web search), or both. Omit it on a new thread and the agent uses both; omit it on a follow-up and the run keeps the thread's sources. Tako accepts the legacy value 'tako' as a synonym for 'data'.

Available options:
data,
web
Example:
cards
boolean
default:true

Whether the agent may build visualization cards. True is permissive: the agent may build cards, but it does not have to (a completed run with no cards is legitimate). Set false to suppress card building entirely.

locale
string
default:en-US

BCP-47 locale. Drives the language of the agent's answer and the locale used when rendering card preview images.

timezone
string | null

IANA timezone (for example, 'America/New_York'). The agent uses it to render dates and times in card preview images. It does not affect the returned data.

output_settings
AgentOutputSettings · object | null

Settings that control the response and rendering.

Response

Run dispatched. With Accept: application/json, poll GET /v1/agent/company/runs/{run_id} for the run status. With Accept: text/event-stream, the response is an SSE stream of RetrievalAgentStreamEnvelope events. The stream ends at stream_done. If the stream ends without an agent_result event, poll GET /v1/agent/company/runs/{run_id} for the terminal status.

The company-agent run resource returned by dispatch (202) and poll (GET): the retrieval run's shape, with its own object type and the company request echoed.

run_id
string
required
status
enum<string>
required
Available options:
queued,
running,
completed,
failed
created_at
string
required
object
string
default:agent.company.run
Allowed value: "agent.company.run"
thread_id
string | null
completed_at
string | null
result
RetrievalAgentResult · object | null

Final retrieval-agent output. answer is markdown prose with [n] citation markers. cards reuse the sibling TakoCard. citations is the unified top-level registry for data and web sources — there is no web_results field. metadata carries definitions, assumptions, and methodology. The structured_output_* fields carry the caller-shaped output_schema result; they are present only if the request supplied output_schema. See each field's description for the exact presence rules.

error
ErrorObject · object | null
usage
Usage · object | null

Usage for one metered request. total_cost_usd is always present (the total quoted charge). compute and data are the additive breakdown; each appears only where it applies. total_cost_usd always equals the sum of the components that appear.

request
CompanyAgentRunRequest · object | null

Request body for POST /v1/agent/company/runs.