Pagination

Some endpoints in the Productboard REST API v2 return paginated results. Instead of returning all records at once, the response includes a limited set of results along with a link to the next page (if more results are available).

🚧

Beta notice

Productboard REST API 2.0 is currently in Beta. Use it for experimentation, prototyping, and early integrations. Please note that individual endpoints may still change before the public release. We’re actively looking for Feedback & Help – let us know what works and what doesn’t. For critical production systems, continue using the Productboard REST API v1.0.


The Productboard REST API uses cursor-based pagination for all endpoints that return a list of results. Instead of using page numbers, we return a pageCursor that points to the next set of results.

🔍 How It Works

  • Responses include a links.next field if there’s another page of results available.
  • This link contains a pageCursor query parameter that you can pass in your next request.
  • If links.next is not present, you’ve reached the end of the results.

Example request

GET http://api.productboard.com/v2/notes?pageCursor=some_cursor
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

Example response

{
  "data": [
    { ..., "title": "Customer Feedback – March", ... }
  ],
  "links": {
    "next": "https://api.productboard.com/v2/notes?pageCursor=next_cursor_value"
  }
}

Fetching the Next Page

Example request

GET https://api.productboard.com/v2/notes?pageCursor=next_cursor_value
Authorization: Bearer YOUR_ACCESS_TOKEN
Accept: application/json

💡 Best Practices

  • Always check for links.next before making another request.
  • Treat the pageCursor as an opaque string — don’t try to parse or modify it.
  • Continue paging until links.next is no longer returned.