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

# List contacts

`GET /v1/contacts`

## Request

- Base URL: `https://smtpfa.st/api`
- URL: `https://smtpfa.st/api/v1/contacts`
- Auth: HTTP bearer

Return contacts for the current account. Optional query parameters q, status, and limit support filtering.

## Query parameters

- `q` string
- `status` 'all' | 'subscribed' | 'unsubscribed'
- `disposable` boolean
- `segment_id` string
- `limit` integer
- `page` integer

## Response `200`

List of contacts

- ContactList
  - `object` string, required
  - `has_more` boolean, required
  - `data` ContactListItem[], required
    - `id` string, required
    - `email` string, email, required
    - `first_name` string, nullable
    - `last_name` string, nullable
    - `created_at` string, date-time, required
    - `unsubscribed` boolean, required
    - `disposable` boolean, required: The address is on a known throwaway-mailbox domain (set when the contact is created).
    - `suppressed` boolean, required: The address is on the suppression list
    - `segments` object[], required: The manual segments the contact is in. Lists and GET /v1/contacts/{id} return it.
      - `id` string, required
      - `name` string, required
      - `color` string, nullable, required
    - `properties` object, required
    - `suppression` ContactSuppression, required
      - `id` string, required
      - `reason` string, required
      - `source` string, required
      - `scope` 'all' | 'marketing', required: all: every send to the address is blocked. marketing: only marketing email is blocked, and email labelled transactional still goes out. A recipient's own unsubscribe is marketing. Hard bounces, complaints and unsubscribes recorded before marketing-only unsubscribes existed are all. A manual suppression is all unless it was created with scope marketing.
      - `created_at` string, date-time, required
  - `page` integer
  - `page_size` integer
  - `filtered_total` integer: Contacts matching the filters
  - `total` integer: Every contact of the team
  - `subscribed` integer
  - `unsubscribed` integer
  - `disposable` integer: Subscribed contacts on throwaway-mailbox domains
  - `new_7d` integer: Subscribed contacts added in the last 7 days
  - `new_30d` integer: Subscribed contacts added in the last 30 days
  - `contact_limit` integer: The plan's contact limit, with any override for the account
  - `contact_limit_base` integer: The plan's contact limit without overrides
  - `tier` string

## Other responses

- `401`: Invalid or missing API key
- `403`: Forbidden - domain not verified or insufficient permissions
- `429`: Rate limit exceeded - retry after the period indicated in the Retry-After header
- `500`: Internal server error

---

[API](https://skmtc.dev/smtpfa/apis/smtpfast-api.md) · [All operations](https://skmtc.dev/smtpfa/apis/smtpfast-api/llms.txt) · [OpenAPI document](https://skmtc.dev/smtpfa/apis/smtpfast-api/revisions/79dda742f53e?raw)
