Search rows
Endpoints
Search rows
The main read endpoint. Returns actual row data, paginated, with filters applied.
POST
Search rows
When you’d use this
Whenever you want to see actual rows. Apply filters to narrow the result, get up to 1,000 rows per call, then use the cursor to keep paging.Why POST instead of GET?
The filter object can be complex (nested objects, arrays). It doesn’t fit cleanly in a URL, so we put it in the request body. The server is still doing a “read” — it just needs more input.Request body fields
| Field | Type | Description |
|---|---|---|
select (optional) | array of strings | Which columns to return. Omit for all columns your key can see. |
filters (optional) | object | Filter rules per column. Format: { "column": { "operator": value } }. AND across columns. |
sort (optional) | array of objects | [{ "column": "...", "direction": "asc" or "desc" }]. Default: lead_time desc. |
limit (optional) | integer | Rows per page. Default 100. Max 1000. |
cursor (optional) | string | From the previous response’s next_cursor. Omit on the first call. |
Request
Response
Field reference
| Field | What it is |
|---|---|
rows | An array of objects. Each object is one row from the table with the columns you asked for in select. |
returned | How many rows are in this response. Equals rows.length. |
next_cursor | An opaque string. Pass this as cursor in your next call to get the next page. null means you’ve hit the end. |
total_estimate | Approximate total matching rows across all pages — handy for progress bars. |
Common error
/schema to see which operators each
column supports.