Pagination
Every list endpoint uses cursor pagination. There are no page numbers.
Why cursors
New events land every 10 minutes. With page numbers, scrolling through page=2 right after ingest can show you events you already saw on page=1, or skip some entirely. Cursors freeze your position in the current sort order.
How it works
Every list response includes a meta object:
{
"data": [ ... ],
"meta": {
"count": 25,
"has_more": true,
"next_cursor": "eyJzIjo0Miwi..."
}
}
To get the next page, pass cursor back:
curl "https://divergence.news/api/v2/events?cursor=eyJzIjo0Miwi...&limit=25"
When has_more is false, next_cursor is null and you are done.
Limit
Default limit is 25, max is 100. Values outside that range are clamped.
Stability
Cursors are opaque. Do not parse them. A cursor is valid for 24 hours; beyond that, restart from the first page. The format may change without notice.
Link header
Each list response also includes an RFC 5988 Link header when there is a next page:
Link: <https://divergence.news/api/v2/events?cursor=eyJ...&limit=25>; rel="next"
Use whichever (header or meta.next_cursor) fits your client better.