> ## Documentation Index
> Fetch the complete documentation index at: https://docs.paraform.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Pagination

> Walk list endpoints with cursor and nextCursor.

List endpoints are cursor-paginated. Every paginated response carries a `nextCursor`:

1. Make the first request without `cursor`.
2. If the response has a `nextCursor`, pass it back as the `cursor` query parameter, **with exactly the same filters**, to get the next page.
3. Stop when `nextCursor` is absent or `null`.

```bash theme={null}
curl "https://external-api.paraform.com/api/external/v1/talent-network/candidates?status=on_market&limit=100" \
  -H "Authorization: Bearer $PARAFORM_API_KEY"

# then, with the nextCursor from that response:
curl "https://external-api.paraform.com/api/external/v1/talent-network/candidates?status=on_market&limit=100&cursor=$NEXT_CURSOR" \
  -H "Authorization: Bearer $PARAFORM_API_KEY"
```

## Rules

* **Treat cursors as opaque.** Never build, parse, or modify one. Some endpoints use strings and others use numbers, and the format can change.
* **A cursor belongs to one query.** Reusing a cursor with different filters doesn't always fail. It can silently skip or repeat rows. When the query changes, start again without `cursor`.
* **Pages can be short or empty** before the end, for example when items become unavailable between pages. Keep going while `nextCursor` is present.
* **Results are live, not a snapshot.** Items added during a walk may appear on your next full pass.

## Page sizes

| Endpoint | Default `limit` | Maximum |
| - | - | - |
| `GET /talent-network/candidates` | 50 | 100 |
| `GET /agency/roles` | 50 | 100 |
| `GET /agency/roles/search` | 20 | 50 |
| `GET /recruiter/roles` | 20 | 20 |
| `GET /recruiter/candidates` | 20 | 50 |
| `GET /recruiter/parascribe-calls` | 20 | 50 |

On the Recruiter API, a `limit` above the maximum is lowered to the maximum. On the Agency API, it's rejected with `400`.

`GET /recruiter/recommendations` isn't paginated: it returns up to 20 results (`limit`, default 20).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.