When to use Search
Search is for fast retrieval you render or post-process yourself, with no written answer on top. One call returns both kinds of result — data results (interactive Tako knowledge cards backed by structured data) and web search results. Reach for it when:You want raw, structured results, not prose
There’s no answer-synthesis LLM call in the loop, so results come back fast — quick enough to fan out across many entities in parallel.
You're building an agentic system that needs a lot of accurate data, fast
Call Search repeatedly — one query per entity — and act on structured results instead of waiting on generated text.
You want more than a single number
Each result is a knowledge card — a full data series with its sources and methodology, not a lone value — so one query returns the surrounding context too, ready to render or compute on.
You want broad coverage you can trust
No single source has everything, so Search queries Tako’s curated index (finance, macro, geopolitics, sports, weather) and the live web by default — broad coverage you can trust.
Example
Inject context from the user’s session into the query to sharpen relevance — send"MSFT stock price last 6 months" rather than just "MSFT".
- cURL
- Python
Example Result
Example Result
Query: “What is the price of Silver?”
Use cases
Pulling real-time data across many entities
Pulling real-time data across many entities
Fan out Search calls in an agentic loop to gather fresh, structured data fast.
Curated data only — skip the web
Curated data only — skip the web
Restrict to Tako’s authoritative knowledge graph when you only want vetted sources.
Rendering interactive cards in your app
Rendering interactive cards in your app
Embed the live visualization from each result straight into your UI. Each card also carries
title, description, image_url, webpage_url, and sources — use them for labels, a static image, or data provenance alongside the interactive embed_url.Grounding your own model (RAG)
Grounding your own model (RAG)
Inline the underlying data so your model reasons over numbers, not snippets.
Force a phrase to be one entity
Tako identifies the entities in your query before it searches. Put double quotes around a phrase to make Tako treat that phrase as exactly one entity. Use this when you already know the entity and the automatic split gets it wrong — for example,"tesla motors" club revenue keeps tesla motors together instead of reading tesla motors club as one name.
Add :LABEL after the closing quote to also set the entity type:
PERSON, ORG, GPE, LOC, PRODUCT, DATE, EVENT, MONEY, CARDINAL, METRIC, TIME_PERIOD, and UNITS.
Three rules apply:
- Quotes must pair. If one quote in the query has no partner, or a pair is empty, Tako ignores every quote in that query and searches as usual. This keeps quoted web-search phrases safe.
- A quoted phrase must be 80 characters or less. A longer phrase turns off quoting for the whole query.
- An unknown label stays in the text. Tako still forces the phrase, but
:LABELbecomes part of the query, so use only the labels above.
Choosing sources
By default Search queries both Tako’s curated knowledge graph and the live web. Passsources to control this — 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):
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 in the response). The curated-data source also supports defer_data_retrieval, and node_ids/strict for pinning resolved Data Graph nodes into retrieval. For example, { "data": { "count": 10 } } returns up to 10 Tako cards.
Grab the data behind a result
Search hands back each card with its metadata; when you want the numbers themselves, Contents fetches the full data behind a result — a CSV export of a Tako card’s underlying series, or the extracted text of a web page. A result is downloadable only when it carries acontent descriptor in the response. Pass that result’s URL — a card’s webpage_url or a web result’s url — to Contents to pull the CSV. If a result has no content descriptor, its data can’t be exported; that’s expected, so skip the Contents call for it.
See the Contents overview to get started.