Gets a page of paginated results using an after cursor.


Set.paginate(cursor: String): Page<any>

Set.paginate(cursor: String, count: Number): Page<any>


The Set.paginate() method gets a page of paginated results using an after cursor.

The default page size of 16 can be changed using the paginate() or pageSize() method, in the range 1 to 16,000.

The cursor is stable in the sense that pagination through a set is done for a fixed snapshot time, giving you a view of your data as it existed across the whole set at the instant you started paginating. For example, given set [a, b, c] when you start paginating, one item at a time, even if you delete item c after you started reading the set, item c is returned.

The exception is if the history is no longer available for the deleted item because history_days is set to the default value of 0 or is less than the minimum valid time needed. In that case, the deleted item is not returned with the paginated results and an error is returned:
Requested timestamp <time> less than minimum allowed timestamp..

A cursor is valid for history_days plus 15 minutes.


Parameter Type Required Description




Encoded string representing a pagination cursor, a Base64-encoded object representing the state of a Set during pagination.



Number of Set values to return in a page.

Return value

Type Description


An object with:


Set values as an Array or page.


A cursor that is included when there are more pages available. The cursor is valid for history_days plus 15 minutes.


  1. The page includes a pagination cursor:

    Product.all().pageSize(2) { name }
      data: [
          name: "cups"
          name: "pinata"
      after: "hdWC1Y..."
  2. Use the cursor to access the next page:

      data: [
          name: "pizza"
          name: "avocados"
      after: "hdWC1Y..."

Is this article helpful? 

Tell Fauna how the article can be improved:
Visit Fauna's forums or email

Thank you for your feedback!