Pagination
All top-level API resources have support for bulk fetches through “list” API methods. For example, you can list charges, list customers, and list invoices. These list API methods share a common structure and accept, at a minimum, the following three parameters: limit, starting_after, and ending_before.
Stripe’s list API methods use cursor-based pagination through the starting_after and ending_before parameters. Both parameters accept an existing object ID value (see below) and return objects in reverse chronological order. The ending_before parameter returns objects listed before the named object. The starting_after parameter returns objects listed after the named object. These parameters are mutually exclusive. You can use either the starting_after or ending_before parameter, but not both simultaneously.
Our client libraries offer auto-pagination helpers to traverse all pages of a list.
Parameters
limit(optional, default is 10) This specifies a limit on the number of objects to return, ranging between 1 and 100.starting_after(optional object ID) A cursor to use in pagination.starting_afteris an object ID that defines your place in the list. For example, if you make a list request and receive 100 objects, ending withobj_foo, your subsequent call can includestarting_after=obj_footo fetch the next page of the list.ending_before(optional object ID) A cursor to use in pagination.ending_beforeis an object ID that defines your place in the list. For example, if you make a list request and receive 100 objects, starting withobj_bar, your subsequent call can includeending_before=obj_barto fetch the previous page of the list.
List Response Format
object(string, value is "list") A string that provides a description of the object type that returns.data(array) An array containing the actual response elements, paginated by any request parameters.has_more(boolean) Whether or not there are more elements available after this set. Iffalse, this set comprises the end of the list.url(url) The URL for accessing this list.
v2 API pagination
APIs within the /v2 namespace contain a different pagination interface than the v1 namespace.
Response
json
{
"object": "list",
"url": "/v1/customers",
"has_more": false,
"data": [
{
"id": "cus_4QFJOjw2pOmAGJ",
"object": "customer",
"address": null,
"balance": 0,
"created": 1405641735,
"currency": "usd",
"default_source": "card_14HOpG2eZvKYlo2Cz4u5AJG5",
"delinquent": false,
"description": "New customer",
"discount": null,
"email": null,
"invoice_prefix": "7D11B54",
"invoice_settings": {
"custom_fields": null,
"default_payment_method": null,
"footer": null,
"rendering_options": null
},
"livemode": false,
"metadata": {
"order_id": "6735"
},
"name": "cus_4QFJOjw2pOmAGJ",
"next_invoice_sequence": 25,
"phone": null,
"preferred_locales": [],
"shipping": null,
"tax_exempt": "none",
"test_clock": null
},
]
}