List endpoints in Geldstuck use cursor-based pagination. Cursors are opaque strings that point to an exact position in the result set, and they’re stable across inserts and deletes - you won’t see duplicates or miss rows while paginating.
Parameters
Parameter Type Description limitinteger Page size. Default 20, max 100. starting_afterstring Cursor. Return results after this ID. ending_beforestring Cursor. Return results before this ID.
Response shape
{
"data" : [ { "id" : "tx_01HX3ZF..." , ... }, ... ],
"hasMore" : true ,
"nextCursor" : "tx_01HX3ZG..."
}
When hasMore is true, pass nextCursor as starting_after to fetch the next page.
Example
cURL
Node.js (fetch)
Python (requests)
curl "https://api.geldstuck.com/v1/transactions?limit=50&starting_after=tx_01HX3ZF..." \
-H "x-api-key: $GELDSTUCK_PUBLIC_KEY " \
-H "x-api-secret: $GELDSTUCK_SECRET_KEY "
Copy this helper once and you rarely need to think about cursors again.
Filtering
All list endpoints accept filters as query parameters. Filters compose with pagination:
GET /transactions?status=pending & accountType = escrow & limit = 100
See each endpoint’s reference page for the full list of supported filters.
Cursors expire after 24 hours. If you store them for longer, expect cursor_expired errors - just restart from the beginning.