items for the array.
Page-based
Used for stable, count-bounded lists where you want to jump to a page or show a total count.GET /merchant/usersGET /market/searchGET /market/prices— also acceptslimit=-1to return the whole catalog in one responseGET /market/items/{itemId}/listings
Cursor-based
Used for trade and ledger lists where rows arrive over time and you want to walk backwards from “now” without total counts.nextCursor from the previous response as cursor to fetch the next
page. Stop when it comes back null.
GET /merchant/trades,GET /merchant/users/{id}/tradesGET /merchant/ledger,GET /merchant/users/{id}/ledgerGET /user/wallet/ledgerGET /market/transactions
Why two styles
Trade lists grow continuously; using a page index would mean a new trade
arriving between requests pushes everything down by one. The cursor is a
trade ID — it doesn’t drift.
Limits
All pagination endpoints acceptlimit between 1 and 100. The default is
25 unless documented otherwise. Send a sane upper bound; don’t paginate
the whole list in one request unless the dataset is small.