For the complete documentation index, see llms-docs.txt or the site index llms.txt. Full docs corpus: llms-full-docs.txt. Prefer the markdown version of this page at /docs/api/contacts/get-api-contacts-v1list.md. Product capabilities: skill.md. Docs MCP: /docs/mcp. Site MCP: https://reloop.sh/mcp.
List Contacts
1import { Reloop } from "reloop-email";2
3const reloop = new Reloop({ apiKey: "rl_123456789" });4
5const { contacts, contactError } = await reloop.contacts.list({6 page: 1,7 limit: 10,8 status: "subscribed",9});10if (contactError) throw contactError;1{2 "object": "contact",3 "contacts": [4 {5 "object": "contact",6 "id": "con_123456789",7 "email": "john.doe@example.com",8 "firstName": "John",9 "lastName": "Doe",10 "status": "subscribed",11 "properties": {12 "company": "Reloop",13 "role": "Developer"14 },15 "groups": [16 {17 "id": "grp_123",18 "name": "Beta Testers"19 }20 ],21 "channels": [22 {23 "id": "tpc_123",24 "name": "Newsletter",25 "subscription": "opt_in"26 }27 ],28 "suppressionReason": null,29 "suppressedAt": null,30 "createdAt": "2026-03-23T10:00:00Z",31 "updatedAt": "2026-03-23T10:00:00Z"32 }33 ],34 "total": 1,35 "page": 0,36 "limit": 0,37 "hasMore": true,38 "nextCursor": "example_nextCursor",39 "totalContacts": 0,40 "subscribedContacts": 0,41 "unsubscribedContacts": 0,42 "event": "evt_123456789"43}Query Parameters
Opaque cursor from a previous response's `nextCursor`. Returns the page after it; `page` is ignored when set. See https://reloop.sh/docs/api/pagination.
- Maximum length:
512
- Minimum value:
1
- Minimum value:
1 - Maximum value:
100
Search by email
Filter by status. Pass one status, or several comma-separated (e.g. subscribed,blocked) to match any of them.
Filter to contacts enrolled in this channel (status = enrolled)
Only contacts on the suppression list (blocked, or suppressed after a hard bounce, full mailbox or spam complaint). Sorted by most recently suppressed.
Was this page helpful?