---
title: "List contacts"
method: GET
path: "/contacts"
tags: ["Contacts"]
---

# List contacts

`GET /contacts`

Get a paginated list of contacts with cursor-based pagination.

## Query parameters

- `limit` integer
- `cursor` string
- `search` string
- `subscribed` boolean
- `sort` 'email' | 'createdAt'
- `dir` 'asc' | 'desc'

## Response `200`

List of contacts

- object
  - `data` Contact[]
    - `id` string — Unique contact identifier
    - `email` string, email — Contact email address
    - `subscribed` boolean — Subscription status
    - `data` object — Custom contact data fields
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
  - `cursor` string, nullable — Cursor for the next page. Pass this back as the `cursor` query parameter to fetch the next page.
  - `hasMore` boolean
  - `total` integer — Total count. Only populated on the first page (when no `cursor` is supplied); subsequent pages return `0` to avoid the recount cost.

## Other responses

- `401` — Missing or invalid API key.

---

[API](https://skmtc.dev/useplunk/apis/plunk-api.md) · [All operations](https://skmtc.dev/useplunk/apis/plunk-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/useplunk/plunk-api/revisions/a13aa5345f8e/schema)
