Brevo

Customer messaging platform with a transactional email API and SMTP relay alongside marketing email, SMS and CRM tools.

Free tier

300 emails per day, shared between transactional email and campaigns.

  • 300 emails per day (transactional and campaigns combined)
  • 100,000 contacts
  • 1,000 requests per second on the transactional send endpoint (POST /v3/smtp/email)
  • 100 requests per hour on API endpoints without a dedicated rate limit

Gotchas

  • Brevo has to approve a new account before it can send; if sends fail with "SMTP account is not yet activated", request transactional activation through a support ticket from the account.
  • The sender address must be verified (Brevo emails it a link) or its domain authenticated before you can send from it.
  • The 300-per-day cap is shared with marketing campaigns, and only a paid plan removes it.
  • Account, sender and domain API endpoints fall under the 100 requests/hour general limit.
  • API keys are shown only once, when created.

Setup

What you do

  1. Sign up at https://onboarding.brevo.com/account/register with an email address and organization name, then verify the email.
  2. Create an API key at https://app.brevo.com/settings/keys/api.
  3. Verify a sender email address or authenticate your sending domain (DNS records) in Brevo.

How your agent gets access

API key

Install
npm install @getbrevo/brevo
Get it at
app.brevo.com/settings/keys/api
Env var
BREVO_API_KEY

Send the key in the api-key header; the SDKs take it as a constructor argument (Brevo's PHP guide reads it from BREVO_API_KEY).

Check it worked

curl -s https://api.brevo.com/v3/account -H "api-key: $BREVO_API_KEY"

Sources

Something out of date?