Log in to Fellow

Pagination

The Fellow Developer API uses cursor-based pagination for all list endpoints. This approach provides consistent performance regardless of how deep you paginate into a dataset, making it ideal for large result sets.

How it Works

Request Structure

All paginated endpoints accept a pagination parameter in the request body:

{
  "pagination": {
    "cursor": null,  // Set to null on first request
    "page_size": 20  // Default 20, valid range is 1-50
  }
}

Parameters

cursor (string | null)

  • First Request: Set to null or omit entirely to get the first page
  • Subsequent Requests: Use the cursor value from the previous response's page_info

page_size (integer)

  • Range: 1 to 50 records per page
  • Default: 20 records

Pagination Flow

First Request (Get Page 1)

The cursor value is null or omitted from the request to get the first page of results.

POST /api/v1/recordings
{
  "pagination": {
    "cursor": null,
    "page_size": 10
  }
}
{
  "page_info": {
    "cursor": "eyJpZCI6MTU0fQ==",
    "page_size": 10
  },
  "data": [
    // 10 most recent recordings
  ]
}

Next Request (Get Page 2)

The cursor value from the page_info object in the previous response is used in the next request.

POST /api/v1/recordings
{
  "pagination": {
    "cursor": "eyJpZCI6MTU0fQ==",
    "page_size": 10
  }
}

End of Results (When you reach the end of the dataset)

The cursor value is null since there are no more pages of data to retrieve.

{
  "page_info": {
    "cursor": null,
    "page_size": 10
  },
  "data": [
    // Last batch (may be less than page_size)
  ]
}