# Cursor pagination

> Cursor pagination returns a list in pages using an opaque token pointing at the last item seen, so that new messages arriving while you page do not shift or duplicate results, unlike page numbers.

Message lists grow constantly. Numbered pages break when items are inserted between two requests; a cursor does not, because it names a position rather than an offset. The client passes the cursor from the previous response and stops when `has_more` is false.

Cursors are opaque by design: do not parse or construct them.

At SMSMeteor: `GET /v1/messages` takes `limit` (1 to 200) and `cursor`, and returns `next_cursor` and `has_more`.

Related terms: [REST API (SMS)](https://smsmeteor.com/glossary/rest-api)

---
Source: https://smsmeteor.com/glossary/cursor-pagination (HTML). Generated by SMSMeteor from the same data as the page. Summary of the whole site: https://smsmeteor.com/llms.txt
