NOTE: A much more up-to-date (and thorough) write-up of our API can be found here: http://blog.mailchimp.com/10m-api-calls-per-day-more/
A couple years ago we had to decide between hiring a sales guy, or investing in MailChimp’s API by hiring a programmer. At the time, it was a really tough decision for us to make.
But I’ll let you in on my little management secret for making big decisions like this…
I pretty much make all my important "businessy decisions" by stock-image searching. It’s the modern day magic 8-ball. Sure, you could scour Harvard Business Review for case studies. But pictures are worth a thousand words. And quicker to read.
Anyhoo, when I googled "sales guy" I got images like this:
and when I searched for the keyword "programmer" I got totally rad stuff like this:
As you can see, the programmer has a much better sense of humor. "Hey, your head’s been replaced by a monitor! Oh wait—veeeerrry funny programmer duuuude."
So of course we took the API route.
Good thing, too.
MailChimp now has more than 19,000 API users.
That’s more users than any one sales guy could ever get for us (unless he was really, really fast with the cold calls and powerpoint presentations). In fact, when I started this blog post, my title was "18,000 API users." Over the last few days while writing this post, we surpassed 19,000 users (yeah it took me more than one day to write this masterpiece. So what?).
In the past, we didn’t have anyone actually dedicated to the API. It was just an afterthought. After our programmers were finished coding some new feature, they’d think, "Hey, we better go back and code this into the API." But let’s be honest: who likes to do their work twice? Especially when you have new features to work on for the next point release? So the API work got done, but it took too much time. Investing in a full-time API team was a big step for us, but totally worth it.
In the beginning, our API documentation pretty much sucked. I know this because people constantly sent API questions to our customer service team, and so we constantly tinkered with how to design our API home page to look so unbelievably complicated, that only the most advanced programmers would actually click the link to dig deeper.
But once we got a full-time person in place, the documentation got better. It took time to write it all up, because we were busy coding new features into the API (and fixing problems from the previous versions). But over time, we pretty much filled in all the cracks.
Our documentation is so thorough (check it out at mailchimp.com/api/rtfm), that most integrations happen w/out us knowing anything about them (which has its pros and cons, but that’s a topic for another blog post).
Open and Free
Some companies require you to register, or even pay a fee before you can access their API. MailChimp’s API is open and free, which encourages other developers to link their apps to ours. Combine that with great documentation, and users will surprise the hell out of you. New integrations pop up that you’ve never heard of.
One of the first, "wow, someone integrated w/out even talking to us!" integrations was with Batchbook CRM. They’ve got a great app, by the way. I’ve never found a CRM that I could actually stick to, but theirs is different. Anyway, the folks from Batchbook went on and founded the Small Business Web, which is a whole network of web apps who interlink w/each other via our open APIs. If you run a web app, and you have an API, you definitely need to join the Small Business Web. Hurry.
Companies like Freshbooks, Batchbook, Zendesk, FormSpring, Wufoo, Outright, Shoeboxed, and more are on the SBweb. Once you start linking into them, things snowball and you get integrations like this (pulled from the MailChimp Extras page):
API As Business Model?
If you’re a small business with a web app, invest in your API, then join the Small Business Web. I wish we’d done all this sooner.
Because when you integrate with other apps, you extend your functionality and reach. On the cheap.
Cheaper than a giant staff of salespeople.
It’s like this old interview with Brett Crosby (one of my favs, and required reading at MailChimp). In the article, he says:
"Our philosophy was always to create a product that was fairly simple to get going and didn’t require a tremendous amount of technical support. We built our business around a very scalable product, which allowed us to do things like target hosting companies and get massive numbers of users with one deal, rather than focusing on one very complex deal."
Well, having a robust, well-documented API lets you do just that, except you don’t even need a sales guy like Brett to do the deal.
And I know I was just joking around earlier about our programmer having a better sense of humor, but it’s true. When our API guy (his name is Jesse, btw) joined, we asked him to contribute something to MailChimp Labs. His contribution? The MailChimp LOLcode Interpreter.