menu
List contacts
Lists the account’s contacts (your email audience) as a paginated envelope - sortable, with substring search, an exact-email lookup, and bounce or unsubscribe status filters. The envelope carries no total; use the /count companion.
Endpoint
GET https://api.sendstreak.com/v2/accounts/{accountId}/contacts
All v2 endpoints require a bearer token - see Authentication.
Path parameters
| Parameter | Type | Description |
|---|---|---|
accountId | string | The account the request is scoped to. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
start | integer | Zero-based offset of the first item to return. Default: 0. |
limit | integer | Maximum number of items to return. Clamped to 100. Default: 25. |
sortBy | one of: createDate, email, messageCount, name, status | Default: name. |
order | one of: -1, 1 | 1 ascending, -1 descending. Default: 1. |
search | string | Case-insensitive email substring filter. |
email | string (email) | Exact email match (case-insensitive). Returns 0 or 1 contacts; takes precedence over search. Use this to resolve a contact id from an email (e.g. before DELETE /contacts/{contactId}). |
status | one of: bounced, unsubscribed |
Response
A page of contacts.
{
"start": 0,
"limit": 25,
"items": [
{
"_id": "665f0a2b1c9d440012ab34cd",
"email": "[email protected]",
"createDate": "2026-07-07T09:30:00.000Z",
"hardBounced": "2026-07-07T09:30:00.000Z",
"unsubscribeDate": "2026-07-07T09:30:00.000Z",
"topicUnsubscriptions": [
"6651dd2e4f9b110014ab90cd"
]
}
]
}
Errors
| Status | Description |
|---|---|
401 | Missing or invalid token, or the token is not authorized for this account/user. |
See Errors and rate limits for what error responses look like.
Curl example
curl --location --request GET 'https://api.sendstreak.com/v2/accounts/YOUR_ACCOUNT_ID/contacts' \
--header 'Authorization: Bearer YOUR_API_TOKEN'