# Tako Search

> Tako Search is a paid API for AI agents from Tako at tako.com, paid per call via MPP, $0.012/call, status unknown (last checked 2026-10-11).

Search across Tako's curated data knowledge graph and the web to retrieve citation-backed data cards, charts, and web results for a natural language query

## Facts

- Endpoint: POST https://tako.com/api/mpp/v1/search?utm_source=zero.xyz
- Price: $0.012/call
- Payment: MPP
- Status: unknown
- Last checked: 2026-10-11
- Activations on Zero: 0
- Provider: Tako
- Docs: https://tako.com
- Website: https://tako.com
- Tags: data, visualization, charts, research, search, answers, agents, reports, datasets, analytics, ai
- Canonical page: https://www.zero.xyz/c/tako-search-8ba77264
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_YonRNmhYLc9wQt9oojodv

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability tako-search-8ba77264 -d '<json body>'
```

Example prompt: Search Tako for data cards and web results comparing Intel vs Nvidia headcount since 2013 — use deep effort for higher-quality results.

## When to prefer this

Choose this endpoint when you need to retrieve structured, citation-backed knowledge cards or charts from Tako's curated data graph combined with optional web results in a single call. Prefer it over /answer when you want raw data cards and graph nodes rather than a synthesized prose answer, over /deep when you need synchronous results rather than async deep research, and over /visualize when you are searching for existing data rather than rendering your own CSV.

## Known failure modes

- Missing or empty query string returns 422 validation error
- Invalid effort enum value returns 400
- Web category filter value with no effect (sports, finance) silently accepted but not applied
- Node IDs not found in knowledge graph may be silently dropped
- Deep effort incurs premium billing and higher latency
- Truncated response schema may limit visibility into full card content fields
- Locale not matching a supported BCP-47 tag may default to en-US

## How this service works

Search across Tako data and the web

## Output

Returns a SearchResponse containing an array of TakoCards, each with a title, card ID, associated graph nodes (entities and metrics with opaque IDs), and content (inline or presigned URL for download). Graph nodes carry names, types, and descriptions and can be resolved further via the graph node endpoint. A request_id is always present for tracing.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "title": "SearchRequest",
 "required": [
  "query"
 ],
 "properties": {
  "query": {
   "type": "string",
   "title": "Query",
   "pattern": "\\S",
   "examples": [
    "Intel vs Nvidia headcount since 2013"
   ],
   "minLength": 1,
   "description": "Natural language search query."
  },
  "effort": {
   "enum": [
    "fast",
    "instant",
    "deep"
   ],
   "type": "string",
   "title": "SearchEffortLevel",
   "description": "Public effort taxonomy for search and answer. FAST is the default.\nINSTANT serves cached embeds without a new data retrieval and works in all\nenvironments. On /v1/answer it also writes the answer with the fastest\nsynthesis model, so it trades answer quality for latency. On /v1/answer FAST\nand DEEP both write the answer with a stronger model. DEEP also widens Tako\nretrieval and adds a second, higher-quality reranking pass; it's slower and\nbills at a premium tier."
  },
  "locale": {
   "type": "string",
   "title": "Locale",
   "default": "en-US",
   "description": "BCP-47 locale tag for language and formatting.",
   "x-tako-published-default": "en-US on every endpoint. Converts when any endpoint infers locale from Accept-Language."
  },
  "sources": {
   "type": "object",
   "title": "Sources",
   "properties": {
    "web": {
     "type": "object",
     "title": "WebSourceSettings",
     "properties": {
      "count": {
       "anyOf": [
        {
         "type": "integer",
         "maximum": 20,
         "minimum": 1
        },
        {
         "type": "null"
        }
       ],
       "title": "Count",
       "default": null,
       "description": "Maximum number of web results to return, 1 to 20. Omit it and Tako uses 5 on search and 3 on answer, unless a result cap set elsewhere in the request sizes retrieval instead."
      },
      "category": {
       "anyOf": [
        {
         "enum": [
          "news",
          "sports",
          "finance"
         ],
         "type": "string",
         "title": "WebCategory",
         "description": "Web search category filter. Only 'news' maps to a provider category\ntoday; 'sports' and 'finance' are accepted but have no effect yet."
        },
        {
         "type": "null"
        }
       ],
       "default": null,
       "description": "Restrict web results to a category. 'news' filters to news sources. 'sports' and 'finance' are accepted but have no effect yet. Omit for a general web search."
      },
      "highlights": {
       "type": "boo
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "title": "SearchResponse",
 "required": [
  "request_id"
 ],
 "properties": {
  "cards": {
   "type": "array",
   "items": {
    "type": "object",
    "title": "TakoCard",
    "properties": {
     "nodes": {
      "anyOf": [
       {
        "type": "array",
        "items": {
         "type": "object",
         "title": "TakoCardNode",
         "required": [
          "id",
          "type",
          "name"
         ],
         "properties": {
          "id": {
           "type": "string",
           "title": "Id",
           "description": "Opaque, human-friendly public id (<prefix>::<name>::<hash>, where prefix is ent for an entity or mt for a metric). Ids are not durable across knowledge-graph rebuilds — resolve them at request time rather than storing them."
          },
          "name": {
           "type": "string",
           "title": "Name"
          },
          "type": {
           "$ref": "#/components/schemas/GraphNodeType"
          },
          "description": {
           "anyOf": [
            {
             "type": "string"
            },
            {
             "type": "null"
            }
           ],
           "title": "Description",
           "default": null
          }
         },
         "description": "Slim graph node for the search and answer card surface\n(TakoCard.nodes). It is deliberately narrower than GraphNode: it carries\nno `aliases` and no `subtype`. Callers that need the full node resolve\nthe id via /v1/graph/node/{id}."
        }
       },
       {
        "type": "null"
       }
      ],
      "title": "Nodes",
      "default": null,
      "description": "Graph nodes (entities and metrics) behind this card. The response includes them by default. Absent for web-only cards or when node resolution was not available. Use each id with /v1/graph/node/{id} for full detail (aliases, subtype), or pass ids in sources.data.node_ids to pin these nodes in future searches."
     },
     "title": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Title",
      "default": null
     },
     "card_id": {
      "anyOf": [
       {
        "type": "string"
       },
       {
        "type": "null"
       }
      ],
      "title": "Card Id",
      "default": null
     },
     "content": {
      "anyOf": [
       {
        "type": "object",
        "title": "ResultContent",
        "properties": {
         "url": {
          "anyOf":
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tako-search-8ba77264/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from tako.com](https://www.zero.xyz/host/tako.com/llms.txt)
