Skip to main content
GET
Get Table Rows
Retrieve rows from a table artifact with cursor-based pagination. Supports server-side sorting, filtering with comparison operators, column projection, and total counts. Auth: Public — no authentication required.

Path parameters

Query parameters

Sorting is type-aware: number columns sort numerically (not lexicographically), date columns sort chronologically, boolean columns sort by value. For columns with non-castable values, those rows sort as NULL (last). Ordering is total — the created_at, id tie-break is guaranteed — so cursors stay stable even when many rows share a sort value.

Filter operators

Comparisons use the column’s declared type, so filter.revenue=100 matches a stored 100.0, and date ranges compare chronologically rather than as strings. contains and starts always match raw text.
A filter, sort_by, or fields naming a column the table does not have returns 400 — it is not silently ignored. This matters for draft gating: a mistyped filter.published=true previously returned every row, including unpublished ones.
Use fields on listing pages. A blog index needs slug,title,excerpt,image_url,publish_date — without projection it also transfers every post’s full markdown body.

Example response

Response fields

To fetch all rows, keep requesting with after={nextCursor} until nextCursor is null.

Errors