Docs  /  Pagination

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.

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.