Skip to main content
List endpoints return a page of results and a cursor for the next page:
To read the next page, send next_cursor back as cursor, with the same filters. When next_cursor is null, you have reached the last page.

Parameters

Stop when next_cursor is null. Do not infer the last page from a page shorter than limit.

Cursors are opaque

  • Treat a cursor as an opaque string: do not parse, build or modify one. Cursors are encrypted, and any change makes them invalid.
  • A cursor is valid only for the list that issued it, for the same company (live and test keys never share cursors). Keep the same filters while you page.
  • Do not store cursors for later. To resume a walk after a restart, begin from the first page.
  • An invalid cursor returns 400 validation_failed with the message Invalid cursor. Restart from the first page.

Walking every page

A full walk at limit=100 costs one request per 100 items. Mind your rate limit on large companies.

Ordering and consistency

Cursors are keyset-based, so a list that changes while you read it does not shift whole pages. Leaderboards are the exception: while people earn XP, rows move between pages, so a page-by-page walk of a board is approximate, and a row can repeat or be skipped. De-duplicate by employee_id if you export a full board.