Export API

Submit URL & Parameters

Important: Our API endpoints (or submit URLs) are datacenter specific. If a datacenter prefix is not used, then "us1" is generally assumed. Some API Wrappers have been updated to auto-switch based on API Keys. If you are not using a wrapper, you you will need to hard code the endpoint into your app.

The generic format for the API endpoint is:

http://<dc>.api.mailchimp.com/export/1.0/

Where <dc> should be replaced with the portion after the dash in your API Key. e.g. "us1", "us2", "uk1", etc. A solid example - say your API Key is myapikey-us2. You are in us2, so your API Endpoint would be:

http://us2.api.mailchimp.com/export/1.0/

Each method will simply be an additional path tacked on to that.

Any other URL will cause an error to be returned!

Input Parameters

All input parameters should be passed as normal HTTP request parameters, just like submitting an HTML FORM. They may be sent via either a GET or POST request, though we generally suggest using POST requests

Output Formats

Currently, the only output format supported is streamed JSON. This means that a call to this API will not return a single valid JSON object but, rather, a series of valid JSON objects separated by newline characters.

While this may seem counter-intuitive at first, the format is better suited to large datasets than a single JSON object would be. Rather than needing to receive and process the entire response (which could be many megabytes of data) and generating a similarly large JSON object to work with, each item can be operated on immediately. This allows your application to perform the desired actions on the item and then discard the data, keeping the memory footprint of your application low.

HTTPS / Secure Connections

HTTPS is 100% supported with valid, signed certificates for all API methods. Those manually coding Submit URLs can simply change the http to https in the URL (make sure your connection library supports HTTPS!).

Noteworty Quriks

Throughout this API, a return value of an empty object "{}" will be represented by an empty array "[]". We recognize the headache this causes to our friends in statically-typed languages, but changing the behavior would be backwards incompatible for versions up to 2.0. This problem will be resolved in the next version after 2.0

Questions? Problems?

Have you run into difficulties or a method just doesn't seem to work right? Check out our API Support options here and we'll be happy to assist you.

Export API Methods  

list ( string apikey, string id, string status, array segment, string since )

dumps a full list or a segment of a list.

ecommOrders ( string since )

dumps all Ecommerce Orders for an account

campaignSubscriberActivity ( string apikey, string id, boolean include_empty string since )

dumps all Subscriber Activity for the requested campaign