> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.brevo.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.brevo.com/_mcp/server.

# Weekly event exports

Export raw transactional event data from the past 7 days as CSV files. Use this service for high-volume accounts that need unaggregated data for analytics pipelines.

The service sends a webhook to your notify URL with a link to the generated CSV file. For large data volumes, the export is delivered as a compressed file containing multiple CSV files.

## Supported events

Exports include the following transactional events:

| Event name    | API response field | Documentation                                               |
| ------------- | ------------------ | ----------------------------------------------------------- |
| Sent          | `requests`         | [Sent](/docs/transactional-webhooks#sent)                   |
| Clicked       | `clicks`           | [Clicked](/docs/transactional-webhooks#clicked)             |
| Deferred      | `deferred`         | [Deferred](/docs/transactional-webhooks#deferred)           |
| Delivered     | `delivered`        | [Delivered](/docs/transactional-webhooks#delivered)         |
| Soft Bounced  | `softBounces`      | [Soft Bounced](/docs/transactional-webhooks#soft-bounced)   |
| Complaint     | `spam`             | [Complaint](/docs/transactional-webhooks#complaint)         |
| First Opening | `unique_opened`    | [First Opening](/docs/transactional-webhooks#first-opening) |
| Hard Bounced  | `hardBounces`      | [Hard Bounced](/docs/transactional-webhooks#hard-bounced)   |
| Opened        | `opened`           | [Opened](/docs/transactional-webhooks#opened)               |
| Invalid Email | `invalid`          | [Invalid Email](/docs/transactional-webhooks#invalid-email) |
| Blocked       | `blocked`          | [Blocked](/docs/transactional-webhooks#blocked)             |
| Error         | `error`            | [Error](/docs/transactional-webhooks#error)                 |
| Unsubscribed  | `unsubscribed`     | [Unsubscribed](/docs/transactional-webhooks#unsubscribed)   |
| Proxy Open    | `loadedByProxy`    | [Proxy Open](/docs/transactional-webhooks#proxy-open)       |
| All events    | `allEvents`        | Fetches all events for the specified time period            |

Event name mappings between guides and API responses. See [Get personalized content of a sent Transactional email](/reference/get-transac-email-content) for reference.

## Define a notify URL

Create a notify URL endpoint that receives the webhook with the CSV file link. The endpoint must return `success` to confirm receipt. Export data persists for 7 days.

**Example notify URL response**

```json
"success"
```

## Create an export job

Call the [Export all transactional events](/reference/export-webhooks-history) endpoint to create an export job. This example exports all events from the past 7 days. You can filter by specific event types.

```bash
curl --request POST \
     --url https://api.brevo.com/v3/webhooks/export \
     --header 'accept: application/json' \
     --header 'content-type: application/json' \
     --header 'api-key: YOUR_API_KEY' \
     --data '{
  "event": "allEvents",
  "type": "transactional",
  "days": 7,
  "notifyURL": "https://your-domain.com/webhook-export"
}'
```

## Response

The API returns a `processId` to track the export job status. Use the [Get process details](/reference/get-process) endpoint to check progress.

```json
{
  "processId": 1843555083931176858
}
```

## Receive export data

When the export job completes, your notify URL receives a webhook with the file location. Download the file promptly—export URLs expire after a set period.

```json
{
  "url": "https://webhooks-export.brevo.com/webhook-export-2036548-1680071958.zip?Expires=1680075559&KeyName=webhooks-export-cdn&Signature=sop8E-xYkUd8keGKb60CcIaPp0c=",
  "process_id": 1843555083931176858
}
```

## CSV format

The exported CSV file contains the following columns:

```csv
date,email,event,id,message-id,reason,sending_ip,subject,tag,tags,template_id,ts,ts_epoch,ts_event,X-Mailin-custom,link,s_returnpath
2023-03-15 11:09:22 +0000 UTC,user@example.com,spam,13997,<202302241202.77117841982@smtp-relay.mailin.fr>,sent,127.0.0.1,Test Subject,,"[""testTag1"",""testTag2""]",45678,1676545042,1676534500,1676545042,TEST-X-Mailin-custom,https://brevo.com,false
```

## Check export status

Query the export job status using the `processId` from the response. Call the [Get process details](/reference/get-process) endpoint.

```json
{
  "id": 1843555083931176858,
  "status": "completed",
  "name": "EXPORT_TRANSACTIONAL",
  "export_url": "https://webhooks-export.brevo.com/webhook-export-2036548-1680071958.zip?Expires=1680075559&KeyName=webhooks-export-cdn&Signature=sop8E-xYkUd8keGKb60CcIaPp0c="
}
```

Maximum 20 export jobs per 7-day period. Large data volumes are delivered as compressed files containing multiple CSV files.