Create a data feed

The Data feed feature is only available from our Starter plan.

With the Brevo data feed, add personalized and up-to-date content to your emails and SMS. With real-time data, your messages can be relevant and timely, thus standing out in your customers' inboxes. Brevo allows you to create two types of data feeds:

  • 🌍 Global feed: All recipients will receive the same email or SMS layout containing the same information. 
  • 🎯 Personalized feed: Each recipient will receive the same email or SMS layout but containing unique information based on their contact attributes.
    ❗️ Important
    Personalized feed is only available to our Enterprise users.

In each case, the data feed will fetch the latest data from your external data source or API at the time of sending, delivering relevant and up-to-date information to each recipient.

➡️ To learn more on the difference between global and personalized feeds, check our dedicated article About data feeds in Brevo.

Before you start

  • Make sure you’ve learned all about data feeds in our dedicated article About data feeds in Brevo.
  • Brevo only retrieves data from the data source file URLs you provide - it doesn't generate or host them. If you’re unsure of how to set up data source files, ask your IT team or hire a Brevo agency partner to help you set up and host your file, or create email templates with data feed variables.
  • Ensure your data source is regularly updated so Brevo always retrieves the latest information.
  • You can also set up your data feeds with our API. To learn more, check our dedicated article on our API documentation.

📂 Format requirements for data source file URLs

Brevo's data feed supports data sources in JSON and XML/RSS formats. Your data source has to be hosted at a publicly accessible and direct URL (e.g., https://example.com/data-feed.json or https://example.com/data-feed.xml).

Open the accordion below to view examples of correct and incorrect JSON responses:

🔬 Examples of correct and incorrect JSON response

The root of the JSON response has to be a directly accessible Object enclosed in { } curly braces:

✅ Correct ❌ Incorrect
{
 "next_yoga_class": {
 "class_name": "Sunrise Vinyasa",
 "studio_location": "Downtown Studio",
 "date": "2025-03-07",
 "time": "06:30 AM",
 "level": "All Levels",
 "duration": "60 min",
 "room": "Lotus Room",
 "instructor": "Emma Thompson"
  },
   "following_classes": [
   {
   "class_name": "Power Flow Yoga",
   "studio_location": "Uptown Studio",
   "date": "2025-03-07",
   "time": "09:00 AM",
   "level": "Intermediate",
   "duration": "75 min",
   "room": "Sun Room",
   "instructor": "James Carter"
   },
   {
   "class_name": "Evening Restorative",
   "studio_location": "Downtown Studio",
   "date": "2025-03-07",
   "time": "07:00 PM",
   "level": "Beginner",
   "duration": "90 min",
   "room": "Moon Room",
   "instructor": "Sophia Lee"
   }
 ]
}
[
 {
  "class_name": "Power Flow Yoga",
  "studio_location": "Uptown Studio",
  "date": "2025-03-07",
  "time": "09:00 AM",
  "level": "Intermediate",
  "duration": "75 min",
  "room": "Sun Room",
  "instructor": "James Carter"
 },
 {
  "class_name": "Evening Restorative",
  "studio_location": "Downtown Studio",
  "date": "2025-03-07",
  "time": "07:00 PM",
  "level": "Beginner",
  "duration": "90 min",
  "room": "Moon Room",
  "instructor": "Sophia Lee"
 }
]

🌍 Create a global feed

  1. Go to your account drop-down > Data feeds
  2. Click Add data feed. You are redirected to the feed setup flow.
  3. Name your data feed to easily find and recognize it in your list of data feeds and click Continue. In our example, we will call it Yoga classes, and its alias will be yoga_classes
  4. In the Data feed URL field, paste the link to your API hosted at an accessible URL in JSON format and containing your data. 
    datafeed_create-global_en-us.png
  5. Choose the authentification method that protects your data source and enter your credentials to access it.
  6. Click Continue
  7. Check the preview of your data feed. Ensure the data fetched for this data feed is correct.
    datafeed_preview-global_en-us.png
  8. Click Save

To edit or delete this feed, click the three dots next to the feed name on the Data feeds page of your Brevo account. Now that you have created your data feed, use it to personalize your messages 🎉.

🎯 Create a personalized feed

❗️ Important
Personalized feed is only available to our Enterprise users.

The value of your contacts' attribute in Brevo will be compared with the data from your feed during the API call to display only the data relevant to them at the time of sending.

Step 1: Create a contact attribute for a personalized feed

To create personalized content for each recipient, you need to create a contact attribute related to the data feed you want to fetch. This attribute will provide information about the recipient's preferences to your data feed, allowing it to understand which content the recipient would like to receive.

In our example, as a yoga studio, we want to display information based on our recipient’s level. The value for the LEVEL attribute could be Beginner, Intermediate, Advanced, or Expert—all accessible in your data feed.
data-feed_level-attribute_EN-US.jpeg

You can populate your attribute with your contacts' information by importing new contacts or updating existing ones. To learn more, check our dedicated articles How can I add my contacts to Brevo? and Update multiple contacts.

Step 2: Create a data feed to sync your data source with Brevo

Use our almost no-code wizard to connect and configure your data feed on your Brevo account:

  1. Go to your account drop-down > Data feeds
  2. Click Add data feed. You are redirected to the feed setup flow.
  3. Name your data feed to easily find and recognize it in your list of data feeds and click Continue. In our example, we will call it Yoga classes, and its alias will be yoga_classes
  4. In the Data feed URL field, paste the link to your API hosted at an accessible URL in JSON format and containing your data. 
    datafeed_create-personalized_en-us.png
  5. Choose a contact attribute to create a personalized feed:
    1. Click {} next to the Data feed URL and select the Brevo contact attribute that contains your contacts' preferences. In our example, we will select the LEVEL attribute so that if a recipient's LEVEL attribute is Beginner, we will only show the data from the Beginner category. 
    2. Select a default preview contact from the drop-down list. You can only select contacts from your test list. In our example, we want to show the data for John B. <John.b@example.com> whose LEVEL attribute is Beginner
  6. Choose the authentification method that protects your data source and enter your credentials to access it.
  7. Click Continue
  8. Check the preview of your data feed that the server fetched for your default preview contact. This preview will allow you to ensure that you successfully fetch the data that corresponds to the contact attribute you selected.
  9. Optional: Select other contacts from your test list to ensure that the personalized data fetched is the right one for each contact.
    datafeed_preview-personalized_en-us.png
  10. Click Save

To edit or delete this feed, click the three dots next to the feed name on the Data feeds page of your Brevo account. Now that you have created your data feed, use it to personalize your messages 🎉.

📢 Personalize your messages with data feeds

Congratulations! 🎉 Your data feed has been created and set up on your Brevo account. You can now insert it into your email or SMS messages to send content that truly has value to your recipients. 

➡️ To learn more, check our dedicated articles for:

⏭️ What's next? 

🤔 Have a question?

If you have a question, feel free to contact our support team by creating a ticket from your account. If you don't have an account yet, you can contact us here.

If you’re looking for help with a project using Brevo, we can match you with the right certified Brevo Agency partner.

💬 Was this article helpful?

0 out of 0 found this helpful