# Export a broadcast's recipients as CSV

`GET /v1/email/broadcasts/{broadcast_id}/recipients/export`

Downloads a broadcast's recipients as a CSV file, one row per recipient. The
header names ten columns, in this order: `recipient`, `status`,
`rejection_reason`, `open_count`, `click_count`, `processed_at`,
`delivered_at`, `processing_latency_ms`, `delivery_latency_ms` and
`total_latency_ms`.

`rejection_reason` is filled only on a `status: rejected` row and names why
the message was never sent, which is not why it bounced. A bounce happens
after the send, so no column here carries `bounce_type` or `bounce_code`:
read [List recipients of a broadcast](/docs/api/reference/list-email-broadcast-recipients)
for those. The three latency columns are milliseconds, and each is empty
until the milestone it measures has happened: `processing_latency_ms` from
the send being accepted to the message being prepared for delivery,
`delivery_latency_ms` from prepared to the receiving mail server accepting
it, and `total_latency_ms` the accepted-to-delivered time end to end.

A text cell whose first character is `=`, `+`, `-`, `@`, a tab or a carriage
return is written with a leading apostrophe, so a spreadsheet reads it as
text rather than as a formula. Nothing else is prefixed, so a value that
begins with an apostrophe of its own is written unchanged: strip a leading
apostrophe only when one of those six characters follows it, before matching
`recipient` back to the API.

The file is complete or it is refused: a broadcast with more recipients than
one file carries returns a 422 naming the limit rather than a truncated
download. Pass `to` to export one address, or page
[List recipients of a broadcast](/docs/api/reference/list-email-broadcast-recipients),
which has no limit.

## Code samples

### cURL

```sh
curl -X GET "https://us1.platform.bird.com/v1/email/broadcasts/{broadcast_id}/recipients/export" \
  -H "Authorization: Bearer $TOKEN"
```

## Path parameters

- `broadcast_id` (string): Broadcast identifier. Starts with `eb_`.

## Query parameters

- `to` (string): Return only the recipient at this address. Exact match, normalised to lowercase before comparison, so the file carries at most one row.

## Related resources

- [Getting started with email](/learn/email/getting-started-with-email) (video)
- [Email](/products/email) (product)
- [Build your first integration](/learn/paths/integration) (course)
- [Send your first email](/docs/get-started/send-your-first-email) (docs)

[Get an implementation brief](/learn/workspace?topic=email)
