Enrich your first batch of companies with the v2 API in under 5 minutes.
This walkthrough brings your own rows into a table, enriches them, and reads the
results back. To have the agent build a table from a brief instead, follow the
agent quickstart.
Building with an AI coding assistant? Download the
OpenAPI spec
and paste it into your tool, or install the Origami skill.
v2 has one row-write primitive: upsert. Rows are keyed by input-column slug.
matchColumns decides identity — a row matching an existing row on every match
value updates it; a non-matching row inserts. An insert-only call is just an
upsert whose rows match nothing.
Set "enrich": false to upsert without triggering enrichment. To also
re-enrich rows the upsert updated, set "reenrichUpdated": true.
For safe retries, include a "batchId" (any UUID you generate) in the body, or
send an Idempotency-Key header. A retry with the same batchId returns the
existing run instead of writing duplicate rows.
Pull rows from the table. Reads are free. By default cells are typed; add
?cells=flat for the simpler { slug: value } shape, or ?format=csv to
download a spreadsheet.