{{ define "main" }}
Clean data, on tap

# Structured data,
served simply.

Tidy Index delivers clean, well-organized datasets through a single API designed for humans, machines, and LLM agents alike.

Request access See how it works
GET /v1/datasets/cities

    {
      "id": "cities",
      "updated": "2026-04-09T08:14:00Z",
      "records": [
        { "name": "Lisbon", "population": 548703 },
        { "name": "Kyoto",  "population": 1463723 },
        { "name": "Quito",  "population": 2011388 }
      ]
    }

What is Tidy Index

## We’ve already done the cleanup.

Scraping. Reformatting. Reconciling. Re-scraping when the source changes shape. We do all of that — once, properly — so you don’t have to do any of it.

Pick your shape

## One dataset. Every shape you need.

Ask for JSON, get JSON. Ask for chunks, get chunks. Same data underneath — no reformatting, no glue code.

### JSON

Stable schemas, stable IDs, ETags on every response. Drop it straight into your code.

### XML & CSV

For the pipelines that have been around longer than your team has. Strict, well-formed, no surprises.

### LLM chunks

Already chunked, already cited, already embedding-ready. Drop them into your retriever and stop fighting tokenizers.

### Streaming

Webhooks and server-sent events the moment something changes. No polling, no stale caches.

Who it’s for

## Same data. Three kinds of readers.

People, programs, and agents all want different things from the same dataset. Tidy Index gives each of them what they expect.

01

### For humans

A real web UI. Skim a schema, preview a few rows, grab a snapshot, and copy a working curl command without leaving the page.

02

### For computers

Boring REST, the way you like it. OpenAPI specs, semver, ETags, idempotent reads, and rate limits we’ll actually tell you about.

03

### For LLM agents

Endpoints shaped like tool calls. Chunks shaped like context. Every response carries its own provenance, so the model never has to guess where the data came from.

Why Tidy Index

## Less wrangling. More building.

- Curated, not crawled.

  A human looks at every dataset before it ships. We’d rather have ten that are right than ten thousand that are almost right.

- Schemas that don’t move under you.

  Versioned endpoints, deprecation windows, and a changelog you can subscribe to. If something’s about to break, you’ll be the first to know.

- Every record has a receipt.

  Each row links back to where it came from. Your auditors will love it. Your models will stop making things up.

- One key, every format.

  JSON, XML, CSV, or LLM chunks. Flip a header — same data, different shape.

## Ready when you are.

API Key
{{ end }}