Skip to main content
POST
Search

Notes

  • To authenticate, you’ll need a Tako API key. It’s best practice to store it as an environment variable to avoid hardcoding sensitive credentials in your code.
  • Search returns Tako knowledge cards and web results for a natural language query — the results themselves, with no written answer on top. Use it when you want to render or post-process the cards and web results directly.
  • Want a written answer over the same results? Use Answer — it takes the same request body and adds a synthesized answer.

Choosing sources

sources controls where results come from — an object whose keys are the sources to search. A source is searched only if its key is present; omit sources to use the default (both sources, 5 results each):
  • { "data": {} } — Tako knowledge cards from the curated knowledge graph.
  • { "web": {} } — web results.
  • { "data": {}, "web": {} } — both (same as omitting sources).
The legacy value tako is accepted as a synonym for data. Each source takes optional per-source settings: count (1–20, default 5) and include_contents (inline the underlying data).
A result whose underlying data is downloadable includes a content descriptor. Pass that result’s URL to Contents to download it — a CSV for a Tako card, or extracted text for a web page.

Authorizations

X-API-Key
string
header
required

Body

application/json

Shared request for POST /api/v3/search and POST /api/v1/answer.

query
string
required

Natural language search query.

Minimum string length: 1
Pattern: \S
Example:

"Intel vs Nvidia headcount since 2013"

effort
enum<string>
default:fast

Search effort level: 'fast', 'instant', or 'deep'.

Available options:
fast,
instant,
deep
sources
Sources · object

Per-source settings. The search includes an index only if its key is present. Omit it and Tako searches data and web with no counts set. Tako accepts the legacy key 'tako' as a synonym for 'data'.

location
GeoLocation · object | null

Optional coordinates of the end user. Resolves the location for implicit-location queries (for example, weather) and, when timezone is absent, the timezone Tako renders preview images in. An explicit location in the query overrides these coordinates.

country_code
string
default:US

ISO 3166-1 alpha-2 country code for localization.

locale
string
default:en-US

BCP-47 locale tag for language and formatting.

timezone
string | null

IANA timezone (for example, 'America/New_York') Tako renders preview images in. Defaults to the zone at location when you send coordinates. Card text keeps each surface's own timezone.

output_settings
OutputSettings · object | null

Settings that control the response shape.

Applies to POST /v3/search only. Return follow-up query suggestions in related. Omit this field to disable them. The value sets the maximum number of suggestions, from 1 to 20. POST /v1/answer accepts this field but ignores it: the answer response has no related field.

Required range: 1 <= x <= 20

Response

Fast-pipeline search results (Tako cards + web results)

request_id
string
required
cards
TakoCard · object[]
web_results
WebResult · object[]
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.

Follow-up queries you can run next. Set include_related on the request to receive them. Absent when you did not ask for them, or when Tako found none.

results
FlatResult · object[] | null

Cards and web results as one list, present only when the request set output_settings.flat_results. cards and web_results are then empty.