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'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)
]
}