> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tako.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search

## Overview

[Search](/api-reference/search-v3) 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.

<Tip>
  **Want a written answer over the same results?** Use [Answer](/api-reference/answer) — it takes the same request body and adds a synthesized `answer`.
</Tip>

## Example

<Tabs>
  <Tab title="cURL">
    ```bash theme={null}
    curl -X POST https://tako.com/api/v3/search \
      -H "X-API-Key: YOUR_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{
        "query": "What is the price of Silver?"
      }'
    ```
  </Tab>

  <Tab title="Python">
    ```bash theme={null}
    pip install tako-sdk
    ```

    ```python theme={null}
    import os
    from tako import Configuration, SearchRequest
    from tako.lib import Tako

    config = Configuration()
    config.api_key["apiKey"] = os.environ["TAKO_API_KEY"]
    client = Tako(config)

    results = client.search(SearchRequest(query="What is the price of Silver?"))
    print(results.request_id)
    for card in results.cards or []:
        print(card.title, card.webpage_url)
    ```
  </Tab>
</Tabs>

<Accordion title="Example Result">
  <p>
    Query: "What is the price of Silver?"
  </p>

  <iframe width="100%" src="https://tako.com/embed/KfYeym50vtsF93LMsIFW/?dark_mode=false" scrolling="no" frameborder="0" className="dark:hidden" />

  <iframe width="100%" src="https://tako.com/embed/KfYeym50vtsF93LMsIFW/?dark_mode=true" scrolling="no" frameborder="0" className="hidden dark:block" />
</Accordion>

Try it in our [playground](https://tako.com/playground)

## Choosing sources

By default Search queries **both** Tako's curated knowledge graph and the live web. Pass `sources` 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):

* omit `sources` *(equivalent to `{ "data": {}, "web": {} }`)* — both (default).
* `{ "data": {} }` — Tako knowledge cards from the curated knowledge graph only.
* `{ "web": {} }` — web results only.

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`. For example, `{ "data": { "count": 10 } }` returns up to 10 Tako cards.

## Tips

**Enhance queries with context:** Your code can inject context from the user's session to improve relevance. For example, if you know the user is in a financial context, send `"MSFT stock price last 6 months"` instead of just `"MSFT"`.

**Use the structured response:** Each knowledge card includes `title`, `description`, `embed_url`, `image_url`, `webpage_url`, and `sources`. Use these to display interactive charts, static images, or data provenance in your app.

<Note>
  **Download the underlying data:** A result whose underlying data is downloadable includes a `content` descriptor. Pass that result's URL to [Contents](/api-reference/contents) to download it — a CSV for a Tako card, or extracted text for a web page.
</Note>
