Mailchimp

Connect & Ingest data from Mailchimp

Mailchimp is an email marketing platform that helps businesses manage subscriber lists, create and send campaigns, and analyze email marketing performance. The Sling Mailchimp connector extracts data from the Mailchimp Marketing API, supporting audiences, campaigns, automations, member data, segments, and analytics.

circle-check

Setup

The following credentials and inputs are accepted:

Secrets:

  • api_key (required) -> Your Mailchimp API key

Inputs:

  • server_prefix (required) -> Your Mailchimp datacenter server prefix (e.g., us4, us5, us6, us13, etc.)

Getting Your API Key

  1. Click on your profile icon in the bottom left corner

  2. Select Account or go to Account > Extras > API keys

  3. Scroll down to the Your API Keys section

  4. Click Create A Key to generate a new API key

  5. Copy the API key (it looks like: abc123def456abc123def456abc123def456ab12-us4)

The API key itself contains your server prefix. For example:

  • abc123-us4 means your server prefix is us4

  • abc123-us13 means your server prefix is us13

Using sling conns

Environment Variable

Sling Env File YAML

See here to learn more about the sling env.yaml file.

Replication

Here's an example replication configuration to sync Mailchimp data to a PostgreSQL database:

Incremental sync example:

Full refresh example:

Endpoints

Audience Management

Endpoint
Description
Incremental

lists

Email lists/audiences

No

list_members

Members in each audience

Yes

segments

Audience segments

Yes

segment_members

Members in each segment (child of segments)

No

interest_categories

Interest categories in audiences (child of lists)

No

interests

Interests within categories (child of interest_categories)

No

tags

Tags applied to audiences (child of lists)

No

Campaign Management

Endpoint
Description
Incremental

campaigns

Email campaigns

Yes

unsubscribes

Unsubscribe events from campaigns (child of campaigns)

No

email_activity

Email activity (opens, clicks, etc.) for campaigns (child of campaigns)

No

Automation

Endpoint
Description
Incremental

automations

Automation workflows

No

Analytics

Endpoint
Description
Incremental

reports

Campaign performance reports

Yes

To discover available endpoints:

Parent-Child Endpoints

Some endpoints are children of parent endpoints and require the parent to run first:

  • list_members -> Requires lists to run first (iterates through each list)

  • segments -> Requires lists to run first

  • segment_members -> Requires segments to run first

  • interest_categories -> Requires lists to run first

  • interests -> Requires interest_categories to run first

  • tags -> Requires lists to run first

  • unsubscribes -> Requires campaigns to run first

  • email_activity -> Requires campaigns to run first

Incremental Sync

The Mailchimp connector supports time-based incremental sync for the following endpoints:

  • campaigns - Syncs new campaigns by create_time

  • list_members - Syncs new/modified members by last_changed

  • segments - Syncs new/modified segments by updated_at

  • reports - Syncs new campaign reports by send_time

How it works

  • First run: Fetches all records from the beginning

  • Subsequent runs: Only fetches records created or modified after the last sync timestamp

Rate Limiting

The Mailchimp API has rate limits that vary by account type:

  • Free/Standard: 10 requests/second

  • Premium: 10 requests/second

The connector automatically:

  • Uses conservative rate limiting (5 requests/second)

  • Retries with exponential backoff on 429 (rate limit) responses

Common Use Cases

Sync Campaign Performance Analytics

Sync Audience and Subscriber Data

Sync Audience Structure and Configuration

Sync All Mailchimp Data

If you are facing issues connecting, please reach out to us at [email protected]envelope, on discordarrow-up-right or open a Github Issue herearrow-up-right.

Last updated

Was this helpful?