JavaScript SDK

The official Brevo JavaScript SDK provides a simple way to integrate Brevo services into your Node.js applications.

Installation

Terminal window
npm install @brevo/api
# or
yarn add @brevo/api

Quick Start

const brevo = require('@brevo/api');
// Configure API key
let apiInstance = new brevo.TransactionalEmailsApi();
apiInstance.setApiKey(brevo.TransactionalEmailsApiApiKeys.apiKey, 'YOUR_API_KEY');
// Send transactional email
let sendSmtpEmail = new brevo.SendSmtpEmail();
sendSmtpEmail.subject = "Hello from Brevo";
sendSmtpEmail.htmlContent = "<html><body><h1>Hello World</h1></body></html>";
sendSmtpEmail.sender = { "name": "Your App", "email": "[email protected]" };
sendSmtpEmail.to = [{ "email": "[email protected]", "name": "John Doe" }];
apiInstance.sendTransacEmail(sendSmtpEmail).then(
data => console.log('Email sent successfully:', data),
error => console.error('Error:', error)
);

Configuration

Environment Variables

// .env file
BREVO_API_KEY=your_api_key_here
// Configuration
const brevo = require('@brevo/api');
const apiInstance = new brevo.TransactionalEmailsApi();
apiInstance.setApiKey(
brevo.TransactionalEmailsApiApiKeys.apiKey,
process.env.BREVO_API_KEY
);

Available APIs

Transactional Emails

const emailApi = new brevo.TransactionalEmailsApi();
const smsApi = new brevo.TransactionalSMSApi();
const contactsApi = new brevo.ContactsApi();
const campaignsApi = new brevo.EmailCampaignsApi();
const accountApi = new brevo.AccountApi();

Examples

Send Email with Template

const sendTemplateEmail = async (templateId, recipientEmail, templateData) => {
let sendSmtpEmail = new brevo.SendSmtpEmail();
sendSmtpEmail.templateId = templateId;
sendSmtpEmail.to = [{ email: recipientEmail }];
sendSmtpEmail.params = templateData;
try {
const result = await emailApi.sendTransacEmail(sendSmtpEmail);
return result;
} catch (error) {
console.error('Failed to send email:', error);
throw error;
}
};

Create Contact

const createContact = async (email, firstName, lastName) => {
let createContactData = new brevo.CreateContact();
createContactData.email = email;
createContactData.attributes = {
FIRSTNAME: firstName,
LASTNAME: lastName
};
try {
const result = await contactsApi.createContact(createContactData);
return result;
} catch (error) {
console.error('Failed to create contact:', error);
throw error;
}
};

Error Handling

const handleBrevoError = (error) => {
if (error.response) {
// API error response
console.log('Status:', error.response.status);
console.log('Data:', error.response.body);
} else {
// Network or other error
console.log('Error:', error.message);
}
};
// Usage
try {
await emailApi.sendTransacEmail(sendSmtpEmail);
} catch (error) {
handleBrevoError(error);
}