brevo Email Activity API

Track and retrieve transactional email activity including delivery status, opens, clicks, and bounces.

Operations 2

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /smtp/statistics/events List individual transactional email events · Get transactional email activity events #
Ask an LLM
“Did a specific customer open the transactional email we sent them?”
“Can I list only spam reports for a given template?”
Tell an agent
List transactional email events for {email}.
Show {event} events for template {templateId} from {startDate} to {endDate}.
GET /smtp/statistics/aggregatedReport Get transactional email totals for a period · Get aggregated transactional email statistics #
Ask an LLM
“What are my total transactional deliveries, opens and clicks for last month?”
“How many transactional emails bounced overall in a date range?”
Tell an agent
Get aggregated transactional email stats from {startDate} to {endDate}.
Show my overall transactional email totals.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/brevo:brevo-email-activity-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

brevo-email-activity-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Brevo Transactional Email Email Activity API
  description: The Brevo Transactional Email API allows developers to send transactional emails such as order confirmations, password resets, and account notifications programmatically. It supports single and batch sending, scheduled deliveries, template-based emails, and attachment handling. The API also provides endpoints for tracking email activity including opens, clicks, bounces, and delivery status through detailed event logs and real-time webhooks.
  version: '3.0'
  contact:
    name: Brevo Support
    url: https://help.brevo.com
  termsOfService: https://www.brevo.com/legal/termsofuse/
servers:
- url: https://api.brevo.com/v3
  description: Brevo Production API Server
security:
- apiKeyAuth: []
tags:
- name: Email Activity
  description: Track and retrieve transactional email activity including delivery status, opens, clicks, and bounces.
paths:
  /smtp/statistics/events:
    get:
      operationId: getTransactionalEmailEvents
      summary: Get transactional email activity events
      description: Retrieves all transactional email activity as unaggregated events. Returns individual event records for deliveries, opens, clicks, bounces, spam reports, and other email activity.
      tags:
      - Email Activity
      parameters:
      - $ref: '#/components/parameters/limitParam'
      - $ref: '#/components/parameters/offsetParam'
      - name: startDate
        in: query
        description: Start date for the event query in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        description: End date for the event query in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: event
        in: query
        description: Filter by event type such as delivered, opened, clicked, hardBounce, softBounce, blocked, spam, or unsubscribed.
        schema:
          type: string
          enum:
          - sent
          - delivered
          - opened
          - clicked
          - hardBounce
          - softBounce
          - blocked
          - spam
          - invalid
          - deferred
          - unsubscribed
      - name: email
        in: query
        description: Filter events by recipient email address.
        schema:
          type: string
          format: email
      - name: messageId
        in: query
        description: Filter events by the unique message identifier.
        schema:
          type: string
      - name: templateId
        in: query
        description: Filter events by the template ID used for sending.
        schema:
          type: integer
          format: int64
      responses:
        '200':
          description: Transactional email events retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EmailEventReport'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /smtp/statistics/aggregatedReport:
    get:
      operationId: getAggregatedEmailReport
      summary: Get aggregated transactional email statistics
      description: Retrieves aggregated statistics for transactional email activity over a specified period. Returns totals for requests, delivered, opens, clicks, bounces, and other metrics.
      tags:
      - Email Activity
      parameters:
      - name: startDate
        in: query
        description: Start date for the report in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      - name: endDate
        in: query
        description: End date for the report in YYYY-MM-DD format.
        schema:
          type: string
          format: date
      responses:
        '200':
          description: Aggregated email statistics retrieved successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AggregatedEmailReport'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    EmailEventReport:
      type: object
      properties:
        events:
          type: array
          description: List of transactional email activity events.
          items:
            type: object
            properties:
              email:
                type: string
                format: email
                description: Recipient email address associated with the event.
              date:
                type: string
                format: date-time
                description: UTC date-time when the event occurred.
              messageId:
                type: string
                description: Unique identifier of the email message.
              event:
                type: string
                description: Type of email event that occurred.
                enum:
                - sent
                - delivered
                - opened
                - clicked
                - hardBounce
                - softBounce
                - blocked
                - spam
                - invalid
                - deferred
                - unsubscribed
              reason:
                type: string
                description: Reason for the event if applicable, such as bounce details.
              tag:
                type: string
                description: Tag assigned to the email for categorization.
              subject:
                type: string
                description: Subject line of the email message.
              templateId:
                type: integer
                format: int64
                description: Template ID used for the email if applicable.
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
          description: Error code identifying the type of error.
        message:
          type: string
          description: Human-readable description of the error.
    AggregatedEmailReport:
      type: object
      properties:
        range:
          type: string
          description: Date range for the aggregated statistics.
        requests:
          type: integer
          format: int64
          description: Total number of email send requests.
        delivered:
          type: integer
          format: int64
          description: Total number of successfully delivered emails.
        hardBounces:
          type: integer
          format: int64
          description: Total number of hard bounces.
        softBounces:
          type: integer
          format: int64
          description: Total number of soft bounces.
        clicks:
          type: integer
          format: int64
          description: Total number of link clicks.
        uniqueClicks:
          type: integer
          format: int64
          description: Total number of unique link clicks.
        opens:
          type: integer
          format: int64
          description: Total number of email opens.
        uniqueOpens:
          type: integer
          format: int64
          description: Total number of unique email opens.
        spamReports:
          type: integer
          format: int64
          description: Total number of spam reports.
        blocked:
          type: integer
          format: int64
          description: Total number of blocked emails.
        invalid:
          type: integer
          format: int64
          description: Total number of invalid email addresses.
        unsubscribed:
          type: integer
          format: int64
          description: Total number of unsubscribes.
  parameters:
    limitParam:
      name: limit
      in: query
      description: Maximum number of results to return per request.
      schema:
        type: integer
        format: int64
        default: 50
    offsetParam:
      name: offset
      in: query
      description: Number of results to skip for pagination.
      schema:
        type: integer
        format: int64
        default: 0
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: api-key
      description: Brevo API key passed in the api-key request header for authentication.
externalDocs:
  description: Brevo Transactional Email Documentation
  url: https://developers.brevo.com/docs/send-a-transactional-email