Two kinds of list
Most list endpoints page with a cursor. A few return a complete set that does not page, and truncate it withlimit instead. Both shapes carry has_more and next_cursor so a
single client can read either, but only the paging kind ever sets them.
Cursor pagination
These endpoints return a page of results with a cursor:next_cursor back as the cursor parameter. Repeat until
has_more is false.
Cursors are opaque. Pass them back exactly as received, and do not build, parse or store
them.
Complete sets
The endpoints in the second row above return the whole set in one response. They have no cursor, sohas_more is always false and next_cursor is always null. Here limit
truncates the result rather than paging it, and two extra fields tell you whether that
happened:
total_count is how many rows matched before limit was applied. capped is true when
the response carries fewer than that, so these are the top rows and not all of them.
limit to widen it, or narrow from/to to reduce what matches.
Always check
capped before reporting a total. Reading len(data) as the count is
correct only when capped is false.Dates
All dates are ISO 8601.
Because
to is exclusive, consecutive ranges line up without overlapping. A full month of
August is from=2026-08-01&to=2026-09-01.
Timestamps in responses are UTC, in the form 2026-08-31T09:41:00Z.
A value that is not valid ISO 8601 returns 400 invalid_date.
Next steps
Rate limits
Pacing a large export
Errors
Handling failures