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
nullor omit entirely to get the first page - Subsequent Requests: Use the
cursorvalue from the previous response'spage_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)
]
}