English | 日本語
A CLI tool and TypeScript library for the Mailchimp Marketing API.
npm install -g mailchimp-cli
Set your Mailchimp API key as an environment variable. The server prefix is extracted automatically from the key suffix (e.g., us21).
export MAILCHIMP_API_KEY=your-api-key-us21
# Test connection
mailchimp-cli auth test
# List audiences
mailchimp-cli audiences list
# Create a campaign
mailchimp-cli campaigns create --type regular --list-id abc123 \
--subject "Hello World" --from-name "My Company" --reply-to [email protected]
# Set campaign content
mailchimp-cli campaigns content set CAMPAIGN_ID --html "<h1>Hello</h1>"
# Send test email
mailchimp-cli campaigns test CAMPAIGN_ID --emails [email protected]
# Send campaign
mailchimp-cli campaigns send CAMPAIGN_ID
# View report
mailchimp-cli reports get CAMPAIGN_ID
| Option |
Description |
--json |
Output in JSON format |
--plain |
Output in TSV format |
--version |
Show version |
--help |
Show help |
| Command |
Description |
mailchimp-cli auth test |
Test API connection and show account info |
| Command |
Description |
mailchimp-cli audiences list |
List audiences |
mailchimp-cli audiences get <listId> |
Get audience details |
mailchimp-cli audiences members list <listId> |
List members |
mailchimp-cli audiences members get <listId> <email> |
Get member details |
mailchimp-cli audiences members add <listId> |
Add a member |
mailchimp-cli audiences members update <listId> <email> |
Update a member |
mailchimp-cli audiences members archive <listId> <email> |
Archive a member |
mailchimp-cli audiences segments list <listId> |
List segments |
mailchimp-cli audiences segments create <listId> |
Create a segment |
mailchimp-cli audiences segments delete <listId> <segId> |
Delete a segment |
mailchimp-cli audiences tags get <listId> <email> |
Get member tags |
mailchimp-cli audiences tags update <listId> <email> |
Update member tags |
| Command |
Description |
mailchimp-cli templates list |
List templates |
mailchimp-cli templates get <templateId> |
Get template details |
mailchimp-cli templates create |
Create a template |
mailchimp-cli templates delete <templateId> |
Delete a template |
| Command |
Description |
mailchimp-cli campaigns list |
List campaigns |
mailchimp-cli campaigns get <id> |
Get campaign details |
mailchimp-cli campaigns create |
Create a campaign |
mailchimp-cli campaigns update <id> |
Update a campaign |
mailchimp-cli campaigns delete <id> |
Delete a campaign |
mailchimp-cli campaigns content get <id> |
Get campaign content |
mailchimp-cli campaigns content set <id> |
Set campaign content |
mailchimp-cli campaigns schedule <id> |
Schedule a campaign |
mailchimp-cli campaigns unschedule <id> |
Unschedule a campaign |
mailchimp-cli campaigns send <id> |
Send a campaign |
mailchimp-cli campaigns test <id> |
Send a test email |
mailchimp-cli campaigns cancel <id> |
Cancel a campaign send |
mailchimp-cli campaigns checklist <id> |
Get send checklist |
mailchimp-cli campaigns replicate <id> |
Replicate a campaign |
mailchimp-cli campaigns search <query> |
Search campaigns |
| Command |
Description |
mailchimp-cli reports list |
List campaign reports |
mailchimp-cli reports get <campaignId> |
Get campaign report |
mailchimp-cli reports clicks <campaignId> |
Get click details |
mailchimp-cli reports opens <campaignId> |
Get open details |
mailchimp-cli reports activity <campaignId> |
Get email activity |
mailchimp-cli reports locations <campaignId> |
Get location report |
mailchimp-cli reports domains <campaignId> |
Get domain performance |
mailchimp-cli reports unsubscribes <campaignId> |
Get unsubscribe list |
| Command |
Description |
mailchimp-cli search campaigns <query> |
Search campaigns |
mailchimp-cli search members <query> |
Search members |
import { ChimpyClient } from "mailchimp-cli";
const client = new ChimpyClient({ apiKey: "your-key-us21" });
const audiences = await client.listAudiences();
const report = await client.getCampaignReport("campaign-id");
- Member identification: Per the Mailchimp API specification, audience members are identified by
MD5(email.toLowerCase()). This is an API requirement, not a security choice by this tool. MD5 is not used for cryptographic purposes here.
- API key: Store your
MAILCHIMP_API_KEY in environment variables only. Never commit it to version control.
MIT