Mailchimp API v3 Wrapper

1.15.0 · active · verified Tue Apr 21

The `mailchimp-api-v3` library, currently at version 1.15.0, provides a comprehensive Node.js wrapper for the Mailchimp API v3. It distinguishes itself by offering transparent handling of Mailchimp's batch operations, allowing developers to execute multiple API calls as a single logical unit with seamless polling and result unpacking. The library supports both traditional callback-based asynchronous programming and modern Promise-based patterns, enhancing flexibility for various project styles. It aims to simplify integration by closely mirroring the Mailchimp API v3 documentation structure, enabling direct mapping of API paths and parameters. While its release cadence isn't explicitly stated, version 1.15.0 indicates active development at some point. Its core value lies in abstracting away the complexities of batch request management and providing a consistent interface for the RESTful Mailchimp API. It is primarily used for server-side integration with Mailchimp services.

Common errors

Warnings

Install

Imports

Quickstart

Demonstrates initializing the Mailchimp client with an API key and fetching all audience lists using promise-based syntax.

const Mailchimp = require('mailchimp-api-v3');

const MAILCHIMP_API_KEY = process.env.MAILCHIMP_API_KEY ?? 'YOUR_MAILCHIMP_API_KEY'; // Replace with a real key or env var

if (MAILCHIMP_API_KEY === 'YOUR_MAILCHIMP_API_KEY') {
  console.warn('WARNING: Using placeholder Mailchimp API key. Set process.env.MAILCHIMP_API_KEY for real use.');
}

const mailchimp = new Mailchimp(MAILCHIMP_API_KEY);

async function getAudienceLists() {
  try {
    // Fetch all audience lists associated with the API key
    const result = await mailchimp.get('/lists');
    console.log('Successfully retrieved audience lists:');
    if (result && result.lists && result.lists.length > 0) {
      result.lists.forEach((list) => {
        console.log(`- ID: ${list.id}, Name: ${list.name}, Members: ${list.stats.member_count}`);
      });
    } else {
      console.log('No audience lists found.');
    }
  } catch (err) {
    console.error('Error fetching lists:', err.message);
    if (err.statusCode) {
      console.error('Mailchimp API Error Status:', err.statusCode);
      console.error('Mailchimp API Error Detail:', err.detail);
    } else {
      console.error('Network or other error:', err);
    }
  }
}

getAudienceLists();

view raw JSON →