Export a broadcast's recipients as CSV

One row per email the broadcast made, at most 5,000: address, first and last name, delivery status, and whether they opened, clicked or unsubscribed.

GEThttps://app.usenotix.dev/api/v1/broadcasts/{broadcastId}/activity/export

Full access and read only keys can call this. Sending access keys cannot. Key permissions lists the extra rules some calls have.

One row per email the broadcast made, at most 5,000: address, first and last name, delivery status, and whether they opened, clicked or unsubscribed.

The answer

By default the CSV file itself (text/csv, as a download). Add format=json for { filename, csv, rows, truncated } instead. Every cell is spreadsheet-safe: one that would run as a formula starts with an apostrophe.

Who can call it

A full access key that is not limited to one domain: contacts carry no domain, so a key limited to one would export people it cannot otherwise list in bulk. A read-only or live AI key answers 403. One export runs at a time for a team (a second answers 429), and the team can export broadcasts 10 times a minute.

Path parameters

broadcastIdstringrequired

Query parameters

formatstring

csv (the default) answers the file itself; json answers { filename, csv, rows, truncated }.

One of csv, json. Default "csv".

Headers

Authorizationstringrequired

Bearer followed by your API key.

Errors

403

The key is not FULL, or is limited to one domain.

404

No campaign with this id for the calling team (or, for a key limited to one domain, on its domain).

429

The team exported campaigns 10 times in the last minute, or another export is still running.

503

The call could not be counted just now, or the read took too long. Try again shortly.

Every error has the same shape. See all error codes.

curl -X GET "https://app.usenotix.dev/api/v1/broadcasts/<broadcastId>/activity/export" \
  -H "Authorization: Bearer $NOTIX_API_KEY"
Response200
{
  "filename": "Acme",
  "csv": "string",
  "rows": 1,
  "truncated": true
}
Open in ClaudeOpen in ChatGPT