Quick Start

This guide walks the actual product flow, the same one on the homepage. You make a record from a link or a file, connect your LLM to it over MCP, ask your first question, and then keep the record so Catalogian starts watching it for changes. No account is needed to begin.

Step 1: Make a record

Open catalogian.com and use the record card at the top of the page. Either paste the URL of a CSV, TSV, or JSONL file, or drop a file onto the card (drag and drop works, or choose one). Gzip-compressed files are read directly, and the cap is 520 MB per ingest.

The card shows real upload progress while your bytes travel, then an indexing panel while Catalogian parses and indexes. A URL paste shows the indexing panel instead of a progress bar, because the file the server fetches from the origin is invisible to your browser. Large files can take a few minutes. When the ingest finishes, the card flips over: the record exists.

The back of the card is your record: row count, columns, the key field Catalogian chose (when one column stands out, it becomes the key), and a countdown clock. The record lives in an anonymous session that lasts 24 hours and allows 3 ingests, so you can add a revision (paste a newer URL or drop a newer file) and each one diffs against the record. Nothing is kept until you keep it.

Prefer the API? The homepage flow has a curl equivalent:

curl -X POST https://api.catalogian.com/v1/ephemeral/ingest \
  -H "Content-Type: application/json" \
  -d '{"url": "https://catalogian.com/demo/outdoor-life.csv"}'

That URL is a live demo file: a 103-row synthetic outdoor-products catalog with intentional data-quality gaps, so you can try the flow with no setup of your own.

The response carries a session token (cat_eph_...) that is the record's credential for the life of the session. The token is shown exactly once - save it.

Step 2: Connect your LLM over MCP

On the card's back, open the Connect tab. It shows the record's MCP URL, a single self-contained address that works in Claude, ChatGPT, and Cursor:

https://api.catalogian.com/v1/mcp?token=cat_eph_your_token_here

Paste it and the tools come with it: 18 read-only tools scoped to the record, with 50 tool calls per session. On transports: the Authorization header is the preferred way to carry the token, and this self-contained URL form exists for clients that cannot set headers. The Connect tab has guided buttons for the common clients:

  • • Claude: Settings, then Connectors, then Add custom connector, then paste the URL
  • • ChatGPT: turn on Developer mode in Settings, then add the URL at chatgpt.com/plugins and pick No authentication
  • • Cursor: add an MCP server on the Customize page, remote, Streamable HTTP, no auth

Ask something a spreadsheet would take a while to answer: what changed between two columns, which rows share a value, what the schema looks like. The full tool list with examples lives in the MCP guide.

Step 3: Keep the record

When the clock runs out, an unkept record is gone. To claim it, open the Keep tab and press Keep: you sign up or sign in, and the record moves into your account with its data intact. Your first 2 records are always free; every record beyond them is watched (a paid record).

A kept record is a watched record: Catalogian checks its source on a schedule, versions every ingest as an edition, and records a delta event for every change. On the free rung that means daily checks and a 10,000-row sample per record; paid rungs raise the row cap and the cadence. The full ladder is on Plans & Limits.

Step 4: Get the changes out

Kept records speak three protocols. Over MCP, your agent calls the same tools as before, now against your account records. Over the REST API, you read deltas directly:

export CATALOGIAN_KEY="cat_live_your_key_here"

curl "https://api.catalogian.com/v1/sources/:id/delta/latest" \
  -H "Authorization: Bearer $CATALOGIAN_KEY"

The response names every row that was added, changed, or deleted since the previous ingest, with counts and affected keys. Over webhooks, Catalogian POSTs the delta event to your endpoint the moment a check detects changes. Webhooks and API keys unlock for the whole account with any one paid record.

When things act up

  • •The file is over the cap. You get a structured 413 that says so; compress the file with gzip and try again.
  • •No key field. If no column can uniquely identify rows, the ingest answers 422 NO_KEY_FIELD. Duplicate key values answer 422 DUPLICATE_KEY.
  • •The ingest stalls. The card gives up on a dead request after a bound and offers Try again; your session token survives and the same ingest is re-sent.
  • •Large file on free. A record over the free cap holds a sample: the card says exactly what was indexed ("Sampled 10,000 of ~48,000 rows") instead of a silent cut.

Next steps