> ## 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.

# Contents

export const CodingAgentCTA = ({description, href}) => <p className="mt-2 text-lg prose prose-gray dark:prose-invert [&>*]:[overflow-wrap:anywhere]">
    {description} Building with a coding agent?{" "}
    <a href={href}>Give your agent the full reference →</a>
  </p>;

export const PlaygroundButton = ({href = "https://tako.com/playground", label = "Try in Playground"}) => <div className="float-right not-prose ml-4 -mt-12">
    <a href={href} target="_blank" rel="noopener noreferrer" className="inline-flex items-center gap-1.5 rounded-full border border-gray-200 dark:border-white/15 bg-white dark:bg-white/5 px-3 py-1.5 text-sm font-medium text-gray-700 dark:text-gray-200 no-underline transition-colors hover:border-gray-300 hover:bg-gray-50 dark:hover:bg-white/10">
      <svg viewBox="0 0 24 24" aria-hidden="true" className="h-3.5 w-3.5 fill-current">
        <path d="M8 5v14l11-7z" />
      </svg>
      {label}
    </a>
  </div>;

<CodingAgentCTA description="Fetch agent-ready full content behind any Search or Answer result — a structured-data CSV export for a Tako card, or the full extracted contents of a web page. Precise, source-grounded inputs for agentic apps." href="/documentation/integrating-tako/contents/for-coding-agent" />

## When to use Contents

[Contents](/api-reference/contents) fetches the **full content behind** a result you already have from [Search](/documentation/integrating-tako/search/overview) or [Answer](/documentation/integrating-tako/answer/overview) — in agent-ready form. Pass the result's URL and Tako returns one of two things, depending on what the URL points to:

* a **structured-data CSV export** — the exact series behind a Tako card, ready to parse, compute on, or load into a dataframe; or
* the **full extracted contents of a web page** — clean, parseable text, not raw HTML.

Reach for it when:

<CardGroup cols={1}>
  <Card title="You've already found the result and want the content itself, not prose" icon="file-lines">
    There's no synthesis and nothing to re-derive — the CSV *is* the card's data, and the extracted text *is* the page, ready to use directly.
  </Card>

  <Card title="It's a second step, not a search" icon="diagram-project">
    Contents operates on a URL you already have: find the result with Search or Answer first, then fetch what's behind it.
  </Card>

  <Card title="You're building agentic apps that need precise, source-grounded inputs fast" icon="robot">
    Pull the exact numbers behind a card, or the full clean text behind a web result, and act on real content instead of scraping it yourself.
  </Card>
</CardGroup>

## How it fits

Contents operates on a result you already have:

<Steps>
  <Step title="Search or Answer with a query">
    Call [Search](/documentation/integrating-tako/search/overview) or [Answer](/documentation/integrating-tako/answer/overview) with a query.
  </Step>

  <Step title="Find the downloadable result">
    A downloadable result carries a `content` descriptor in the response (`format` is `csv` for a Tako card, `text` for a web page).
  </Step>

  <Step title="Pass its URL to Contents">
    Pass that result's URL — a card's `webpage_url` or a web result's `url` — to **Contents** to download the data.
  </Step>
</Steps>

<Note>
  A result is downloadable when it carries a `content` descriptor in the Search or Answer response. A Tako card's CSV is free; web-page text extraction may carry a small cost reported on the descriptor.
</Note>

## What the content looks like

<Tabs>
  <Tab title="Tako card → CSV">
    **A Tako card → structured-data CSV.** Contents returns the card's data as a CSV with a header row and one row per data point — the same series the card visualizes. A time-series card comes back keyed by an ISO‑8601 `Timestamp` (with timezone offset), one column per series:

    ```csv theme={null}
    Timestamp,usaspending_sum_obligation - Palantir Technologies Inc. Federal Contract Obligations
    2007-10-01 00:00:00+00:00,135211.06
    2008-10-01 00:00:00+00:00,4378216.96
    2009-10-01 00:00:00+00:00,5801023.5
    2010-10-01 00:00:00+00:00,20915978.15
    2011-10-01 00:00:00+00:00,39889371.870000005
    2012-10-01 00:00:00+00:00,33785816.41
    2013-10-01 00:00:00+00:00,75264989.77
    2014-10-01 00:00:00+00:00,95333802.78999999
    2015-10-01 00:00:00+00:00,131712687.67
    2016-10-01 00:00:00+00:00,132155363.88
    2017-10-01 00:00:00+00:00,116424925.9
    2018-10-01 00:00:00+00:00,162675170.62
    2019-10-01 00:00:00+00:00,268668118.8
    2020-10-01 00:00:00+00:00,228912825.77
    2021-10-01 00:00:00+00:00,376844743.53
    2022-10-01 00:00:00+00:00,348059526.7
    2023-10-01 00:00:00+00:00,541197885.14
    2024-10-01 00:00:00+00:00,1020566208.97
    2025-10-01 00:00:00+00:00,713329284.7
    ```

    The header names the series exactly as the card sources it, so the values are self-describing and ready to attribute.
  </Tab>

  <Tab title="Web page → text">
    **A web page → full extracted contents.** For any non-card URL, Contents returns the page's full contents as clean, extracted text — the readable body, not raw HTML or navigation chrome — ready to feed straight to a model:

    ```text theme={null}
    Palantir Technologies Inc. — Federal Contract Obligations

    Palantir's U.S. federal contract obligations have grown sharply over the past
    decade, from roughly $135K in FY2007 to more than $1B in FY2024. The largest
    single-year jumps came in FY2019 and FY2024, driven by expanded defense and
    intelligence engagements…

    (full page text continues)
    ```

    No crawling, boilerplate stripping, or HTML parsing on your side — you get the page's content in a form your model can read directly.
  </Tab>
</Tabs>

## Example

<PlaygroundButton />

Pass a card's URL — Tako detects the right content from the URL and returns a short-lived download link:

```bash theme={null}
curl -X POST https://tako.com/api/v1/contents \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://tako.com/card/KfYeym50vtsF93LMsIFW/"
  }'
```

```json theme={null}
{
  "contents": [
    {
      "format": "csv",
      "source_url": "https://tako.com/card/KfYeym50vtsF93LMsIFW/",
      "cost": 0.0,
      "url": "https://tako.com/...signed-download...",
      "expires_at": "2026-06-29T18:30:00Z"
    }
  ],
  "request_id": "9c1b..."
}
```

Want the data straight back in the response instead of a download link? Set `"mode": "inline"`. See the [For Your Coding Agent](/documentation/integrating-tako/contents/for-coding-agent) page for the full request and response reference.

## Use cases

<AccordionGroup>
  <Accordion title="Feeding exact numbers to an agent">
    Download the CSV behind a card so the agent computes on real values, not prose.

    ```bash theme={null}
    curl -X POST https://tako.com/api/v1/contents \
      -H "X-API-Key: $TAKO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"url": "https://tako.com/card/KfYeym50vtsF93LMsIFW/", "mode": "inline"}'
    ```
  </Accordion>

  <Accordion title="Loading a series into a dataframe">
    Pull a card's data straight into pandas for analysis.

    ```python theme={null}
    import pandas as pd
    # `download_url` is the signed `url` from a Contents response
    df = pd.read_csv(download_url)
    ```
  </Accordion>

  <Accordion title="Extracting clean text from a web result">
    Turn any web result URL into parseable text for downstream processing.

    ```bash theme={null}
    curl -X POST https://tako.com/api/v1/contents \
      -H "X-API-Key: $TAKO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"url": "https://example.com/article", "mode": "inline"}'
    ```
  </Accordion>

  <Accordion title="Grounding a model on a full web page">
    Pull a web result's full extracted contents and drop the text straight into your model's context — no crawler, no HTML parser.

    ```bash theme={null}
    curl -X POST https://tako.com/api/v1/contents \
      -H "X-API-Key: $TAKO_API_KEY" \
      -H "Content-Type: application/json" \
      -d '{"url": "https://example.com/report", "mode": "inline"}'
    # contents[0].data is the page text — pass it to your model as context
    ```
  </Accordion>
</AccordionGroup>
