Skip to main content

When to use Contents

Contents fetches the full content behind a result you already have from Search or Answer — 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:

You've already found the result and want the content itself, not prose

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.

It's a second step, not a search

Contents operates on a URL you already have: find the result with Search or Answer first, then fetch what’s behind it.

You're building agentic apps that need precise, source-grounded inputs fast

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.

How it fits

Contents operates on a result you already have:
1

Search or Answer with a query

Call Search or Answer with a query.
2

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).
3

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

What the content looks like

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

Example

Pass a card’s URL — Tako detects the right content from the URL and returns a short-lived download link:
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/"
  }'
{
  "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 page for the full request and response reference.

Use cases

Download the CSV behind a card so the agent computes on real values, not prose.
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"}'
Pull a card’s data straight into pandas for analysis.
import pandas as pd
# `download_url` is the signed `url` from a Contents response
df = pd.read_csv(download_url)
Turn any web result URL into parseable text for downstream processing.
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"}'
Pull a web result’s full extracted contents and drop the text straight into your model’s context — no crawler, no HTML parser.
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