Skip to content

Brevo

All-in-one marketing platform (formerly Sendinblue) for email, SMS, and WhatsApp with contacts, campaigns, and transactional messaging.

Capabilities

IntegrationAvailableNotes
APIREST API v3 for contacts, campaigns, transactional email/SMS
MCP-Not available
CLIbrevo.js
SDKNode.js, Python, PHP, Ruby, Java, C#, Go

Authentication

  • Type: API Key
  • Header: api-key: {api_key}
  • Get key: SMTP & API settings at https://app.brevo.com/settings/keys/api
  • Note: API key is only shown once on creation; store securely. Formerly used api.sendinblue.com base URL.

Common Agent Operations

Get account info

bash
GET https://api.brevo.com/v3/account

List contacts

bash
GET https://api.brevo.com/v3/contacts?limit=50&offset=0

Get contact by email

bash
GET https://api.brevo.com/v3/contacts/user@example.com

Create contact

bash
POST https://api.brevo.com/v3/contacts

{
  "email": "user@example.com",
  "attributes": {
    "FIRSTNAME": "Jane",
    "LASTNAME": "Doe"
  },
  "listIds": [1, 2]
}

Update contact

bash
PUT https://api.brevo.com/v3/contacts/user@example.com

{
  "attributes": {
    "FIRSTNAME": "Updated"
  },
  "listIds": [3]
}

Delete contact

bash
DELETE https://api.brevo.com/v3/contacts/user@example.com

Import contacts

bash
POST https://api.brevo.com/v3/contacts/import

{
  "jsonBody": [
    { "email": "user1@example.com" },
    { "email": "user2@example.com" }
  ],
  "listIds": [1]
}

List contact lists

bash
GET https://api.brevo.com/v3/contacts/lists?limit=50&offset=0

Create list

bash
POST https://api.brevo.com/v3/contacts/lists

{
  "name": "Newsletter Subscribers",
  "folderId": 1
}

Add contacts to list

bash
POST https://api.brevo.com/v3/contacts/lists/{listId}/contacts/add

{
  "emails": ["user1@example.com", "user2@example.com"]
}

Remove contacts from list

bash
POST https://api.brevo.com/v3/contacts/lists/{listId}/contacts/remove

{
  "emails": ["user1@example.com"]
}

Send transactional email

bash
POST https://api.brevo.com/v3/smtp/email

{
  "sender": {
    "name": "My App",
    "email": "noreply@example.com"
  },
  "to": [
    { "email": "user@example.com", "name": "Jane Doe" }
  ],
  "subject": "Order Confirmation",
  "htmlContent": "<html><body><p>Your order is confirmed.</p></body></html>"
}

List email campaigns

bash
GET https://api.brevo.com/v3/emailCampaigns?limit=50&offset=0&type=classic&status=sent

Create email campaign

bash
POST https://api.brevo.com/v3/emailCampaigns

{
  "name": "January Newsletter",
  "subject": "Monthly Update",
  "sender": { "name": "My Brand", "email": "news@example.com" },
  "htmlContent": "<html><body><p>Newsletter content</p></body></html>",
  "recipients": { "listIds": [1, 2] }
}

Send campaign immediately

bash
POST https://api.brevo.com/v3/emailCampaigns/{campaignId}/sendNow

Send test email for campaign

bash
POST https://api.brevo.com/v3/emailCampaigns/{campaignId}/sendTest

{
  "emailTo": ["test@example.com"]
}

Send transactional SMS

bash
POST https://api.brevo.com/v3/transactionalSMS/sms

{
  "sender": "MyApp",
  "recipient": "+15551234567",
  "content": "Your verification code is 123456",
  "type": "transactional"
}

List SMS campaigns

bash
GET https://api.brevo.com/v3/smsCampaigns?limit=50&offset=0

List senders

bash
GET https://api.brevo.com/v3/senders

API Pattern

Brevo uses standard REST with offset-based pagination (limit and offset parameters). Contact attributes use uppercase field names (FIRSTNAME, LASTNAME). Lists are nested under the contacts resource path. Transactional email uses the /smtp/email endpoint despite being REST-based.

Key Metrics

Contact Fields

  • email - Email address
  • attributes - Custom attributes (FIRSTNAME, LASTNAME, SMS, etc.)
  • listIds - Associated list IDs
  • emailBlacklisted - Email opt-out status
  • smsBlacklisted - SMS opt-out status
  • statistics - Engagement stats (with expand)

Campaign Metrics

  • sent - Total sends
  • delivered - Successful deliveries
  • openRate - Open percentage
  • clickRate - Click percentage
  • unsubscribed - Unsubscribe count
  • hardBounces, softBounces - Bounce counts

Transactional Email Response

  • messageId - Unique message identifier for tracking

Parameters

Contact Parameters

  • email - Contact email address
  • attributes - Key-value object of custom attributes
  • listIds - Array of list IDs to subscribe to
  • unlinkListIds - Array of list IDs to unsubscribe from

Campaign Parameters

  • name - Campaign name
  • subject - Email subject line
  • sender - Object with name and email
  • htmlContent / textContent - Email body
  • recipients - Object with listIds array
  • type - classic or trigger

When to Use

  • Multi-channel marketing (email + SMS + WhatsApp)
  • Transactional email sending with tracking
  • Managing contacts and segmented lists
  • Creating and scheduling email campaigns
  • SMS notifications and marketing
  • Affordable all-in-one marketing automation

Rate Limits

  • API rate limits depend on plan (free tier: limited sends/day)
  • Transactional email: varies by plan
  • Contact imports: batch processing with async status
  • Rate limit headers returned with responses

Relevant Skills

  • email-sequence
  • sms-marketing
  • transactional-email
  • lifecycle-marketing
  • contact-management

Released under the MIT License.