API Reference

List contacts

GET /contacts — list every contact on a sending domain.

GET/contacts

List the contacts on one of your sending domains, newest first. ?domain= is required. Returns a list object whose data array holds the contacts.

Query parameters
domainstringrequired

The sending domain whose contacts to list (one of your domains, e.g. yourdomain.com).

segment_idstringoptional

Optional. Only return contacts that belong to this segment.

limitintegeroptional

How many contacts to return. An integer between 1 and 100. Optional; if omitted, the whole pool comes back in a single response up to a ceiling of 1,000, and has_more is true when that ceiling truncated the page.

afterstringoptional

Cursor: return the contacts that follow this contact id. The id itself is not included. See Pagination.

beforestringoptional

Cursor: return the contacts that precede this contact id. Cannot be combined with after.

Request
import { Mailblastr } from 'mailblastr';

const mb = new Mailblastr('mb_xxxxxxxxx');

const { data, error } = await mb.contacts.list({ domain: 'yourdomain.com' });
console.log({ data, error });
Response (200)
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "contact",
      "id": "479e3145-dd0e-4f64-bf48-1d4b6d4cd8f6",
      "email": "steve@example.com",
      "first_name": "Steve",
      "last_name": "Wozniak",
      "unsubscribed": false,
      "properties": {
        "company_name": "Acme Corp"
      },
      "created_at": "2026-06-23T17:30:11.000Z"
    }
  ]
}

Each contact includes object: "contact" and a properties map (merged with registered fallback values). A missing domain, or one that is not one of yours, returns 422 validation_error — as does a limit outside 1-100 (or a non-integer) or after and before together. An unknown cursor returns an empty page rather than an error. See Pagination and Errors.

Audience-scoped variant

The nested route GET /audiences/:audience_id/contacts still works and lists the contacts of one audience (no domain query needed):

Request (audience-scoped)
import { Mailblastr } from 'mailblastr';

const mb = new Mailblastr('mb_xxxxxxxxx');

const { data, error } = await mb.contacts.list({ audienceId: 'AUDIENCE_ID' });
console.log({ data, error });