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

# Export contacts

`GET /v1/contacts/export`

## Request

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

Export up to 10,000 contacts for the current account as CSV or JSON. Optional status and disposable filtering match the list endpoint.

## Query parameters

- `format` 'csv' | 'json'
- `status` 'all' | 'subscribed' | 'unsubscribed'
- `disposable` boolean

## Response `200`

Contacts export

- ContactExport
  - `object` string, required
  - `has_more` boolean, required: True when more than 10,000 contacts matched and the export stopped there
  - `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
  - `exported_at` string, date-time, required

## 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)
