Api for retreaving Adapt Retail information to banners.

Usage no npm install needed!

<script type="module">
  import adaptRetailBannerData from 'https://cdn.skypack.dev/@adapt-retail/banner-data';


@adapt-retail/banner-data (alpha)

JavaScript api for communicating with Adapt retail api.

🚧🚧 Warning: This project is in alpha stage. Use with caution. 🚧🚧



npm install @adapt-retail/banner-data


yarn add @adapt-retail/banner-data


Create object

Provide the adapt data when creating the AdaptData.

Note: When creating your first Adapt Banner or InstoreTV We recommend that you use a collection production instead of a Banner or InstoreTV production. This is because you cannot generate preview of a Banner or InstoreTV production that do not have template assign to it. And usually you do not have that when creating your Adapt Template.

// Import Adapt Data
import AdaptData from '@adapt-retail/banner-data';

// Create instance
var adapt = new AdaptData({
    account: 'priceco58c12436f20b4', // Account key
    project: 1, // Project ID
    campaign: 1, // Campaign ID
    production: 1, // Production ID
    source: null, // optional 
    preview: false, // optional

Live vs Preview

Setting preview preview: true will use the slower but faster reloading of data. For live sites, make sure to use the preview: false to use our fast CDN with cache reload in 5 minutes.

Set custom datasource

Setting the source property of the Adapt data will overwrite any data requested by api. This is nice for developing when you are offline.

var adapt = new AdaptData({
    source: {
        data: [
                id: 1234,
                name: 'Product',
                price: 199


After setting up the object, you can call .start to start retrieving the content.

var adapt = new AdaptData({ ... });

// Via promise
adapt.start().then( function( adapt_data ) {
    ... Adapt data is loaded and ready ...
} );

// Via function parameter
adapt.start( function( adapt_data ) {
    ... Adapt data is loaded and ready ...
} );


Get the asset in the adapt folder.

adapt.start( function( adapt_data ) {
    adapt.asset( 'my-image.png' );
} );


Light adapt data is a super light version for adapt data. It cannot request data from external source, but it can read source.

This class is meant for Adapt banner productions.

When using webpack you can set this setting when running production script.

if (process.env.NODE_ENV === 'production') {
  module.exports.resolve = {
      alias: {
        '@adapt-retail/banner-data': '@adapt-retail/banner-data/dist/LightAdaptData.js',