Stripe | Financial Infrastructure to Grow Your Revenue

Stripe | Financial Infrastructure to Grow Your Revenue

5282 articles

Pagination


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_after is an object ID that defines your place in the list. For example, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include starting_after=obj_foo to fetch the next page of the list.
  • ending _ before optional object ID A cursor to use in pagination. ending_before is an object ID that defines your place in the list. For example, if you make a list request and receive 100 objects, starting with obj_bar, your subsequent call can include ending_before=obj_bar to 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. If false, 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.

Was this section helpful? Yes No

Response

{ "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 }, ]}

Search

Some top-level API resource have support for retrieval via “search” API methods. For example, you can search charges, search customers, and search subscriptions.

Stripe’s search API methods utilize cursor-based pagination via the page request parameter and next_page response parameter. For example, if you make a search request and receive "next_page": "pagination_key" in the response, your subsequent call can include page=pagination_key to fetch the next page of results.

Our client libraries offer auto-pagination helpers to easily traverse all pages of a search result.

Search request format

  • query required The search query string. See search query language.
  • limit optional A limit on the number of objects returned. Limit can range between 1 and 100, and the default is 10.
  • page optional A cursor for pagination across multiple pages of results. Don’t include this parameter on the first call. Use the next_page value returned in a previous response to request subsequent results.

Search response format

  • object string, value is "search_result" A string describing the object type returned.
  • url string The URL for accessing this list.
  • has _ more boolean Whether or not there are more elements available after this set. If false, this set comprises the end of the list.
  • data array An array containing the actual response elements, paginated by any request parameters.
  • next _ page string A cursor for use in pagination. If has_more is true, you can pass the value of next_page to a subsequent call to fetch the next page of results.
  • total _ count optional positive integer or zero The total number of objects that match the query, only accurate up to 10,000. This field isn’t included by default. To include it in the response, expand the total_count field.

Was this section helpful? Yes No

Response

Auto-pagination

Our libraries support auto-pagination. This feature allows you to easily iterate through large lists of resources without having to manually perform the requests to fetch subsequent pages.

Since curl simply emits raw HTTP requests, it doesn’t support auto-pagination.

Was this section helpful? Yes No

# The auto-pagination feature is specific to Stripe's# libraries and cannot be used directly with curl.
Last verified 2026-09-25

Is this helpful?