Browse by...
Home Resources Blog

Today we launched a sweeping update to our popular API. For those who aren’t familiar with it, our API let’s you access almost all of the functionality within Campaign Monitor from your own applications. Send a campaign, sync your subscribers, add a new client and so much more, all from your own application. It’s what all our integrations and plugins are built on.

Our API is getting pretty darn popular these days with more than 70 requests per second, which grows considerably during our busiest times. Yeah, that number blew me away too.

What’s new…

This update is a complete rethink of our API infrastructure and includes a pile of new functionality that you guys have been asking for. Given the significance of this update, we’ve gone to a completely new version of the API (hello, Version 3). We’ve also redesigned our API documentation, which is now much easier to navigate and includes everything you need to get started.

See the new API documentation

While there are loads of goodies packed into this update, here are a few of the major highlights that stand out.

RESTful all the way

One of the biggest changes in this new version is that the entire API is now RESTful. This means we’ve gone for a resource oriented architecture with descriptive URIs that should be easy to follow. Input and output is now supported in both XML and JSON. If you’re interested, we’ve gone into a lot more detail about this new approach in our new docs.

Segments are here

Previously you had no way of managing segments via the API. Now you can create them, add new rules, get the subscribers that match a segment and so much more. Check out the docs to get started.

Import multiple subscribers in a batch

One of the more frustrating parts of the previous API was that subscribers had to be imported one at a time. Not a problem for a smaller list, but when you’re trying to import a list of 20,000 subscribers, things can get ugly. Now you can easily import a large list of subscribers, including custom field data in a batch. Here are the docs covering this new functionality.

Real-time activity for subscribers and campaigns

This one is awesome. You can now access your entire history with any subscriber in your account. This includes all campaigns they were sent, when they opened it, when the clicked a link and much more. For every event like an open or click, we’ll also return exactly when it happened, along with the IP address it happened from, opening the door to some very cool geo-location possibilites with the API.

The same data is also now available on a per-campaign basis. For example, you can see when all the opens for a particular campaign happened including who opened, the time of the open and the IP address it happened from. The same data is available for clicks and unsubscribes too.

Monthly billing for clients

When we launched monthly billing a couple of months back, we didn’t get a chance to update the API to match. Now you can easily set a client as paying monthly, set their mark-up percentage and even the currency they should be paying in each month. Here are all the details you need to get started.

Better draft handling

While the previous version of the API let you create and send campaigns, there was limited functionality around draft campaigns. You can now easily get a list of all draft campaigns for a client, delete a draft and easily send a preview of a draft to any number of email addresses.

Paged results

This is a huge improvement for anyone working with a large number of results from the API. Any requests that typically return a large set of results now offer paging where you can split the results over multiple pages. You even have complete control over how these results should be returned including page sizes, sort order and sort direction.

Wrappers in Ruby, Python, PHP and .NET ready to roll

We didn’t want to leave you empty handed with the new version of the API, so all popular API wrappers have been updated for the new API. Each wrapper covers all of the new functionality too, so you can get up and going in Ruby, Python, PHP and .NET extremely quickly.

Are you still supporting v2 of the API?

Absolutely. While we strongly encourage anyone working with the API to move towards the latest version, we’ll continue to support version 2 and all of the existing plugins and integrations that rely on it. You can access the Version 2 API docs at their new home here.

Go forth and build

Now that all of this new functionality is out in the wild, we can’t wait to see what you guys come up with. We’ve put a lot of work into making the snazzy new API documentation as clear as possible, but please let us know if you think we’re missing something or if anything is unclear. And as always, make sure you get in touch if you release anything that connects to it.

This blog provides general information and discussion about email marketing and related subjects. The content provided in this blog ("Content”), should not be construed as and is not intended to constitute financial, legal or tax advice. You should seek the advice of professionals prior to acting upon any information contained in the Content. All Content is provided strictly “as is” and we make no warranty or representation of any kind regarding the Content.
Straight to your inbox

Get the best email and digital marketing content delivered.

Join 250,000 in-the-know marketers and get the latest marketing tips, tactics, and news right in your inbox.


Get started with Campaign Monitor today.

With our powerful yet easy-to-use tools, it's never been easier to make an impact with email marketing.

Try it for free