OnStartups

How To Do It Right: 5 Things I Love About the Digg API

Posted by Dharmesh Shah on June 7, 2007 in development digg 10 Comments

In December, I started work on a fun little project called Website Grader.  Over time, this went from being a fun, little project to a fun, big project.  Website Grader basically measures the marketing effectiveness of a website by looking at a variety of different factors.

Last night, I released a new version of Website Grader that uses the recently released digg API.  To learn more about what was done with the digg API, check out this article:  "Will Getting Dugg on Digg.com Improve Your Grades?"

5 Things I Love About The Digg API

1.  It Exists:  I can't tell you how frustrating it is to encounter otherwise savvy companies that have a great product/service that acts as a "platform" but has no API.

2.  It's Elegant:  The digg API is simple.  You invoke a URL and get XML back.  Even without writing code, you can test out the API simply by passing parameters from the URL.  The output is clean XML that you can eyeball and understand.

3.  It's Expansive:  Lots of APIs are little more than a simple interface that provides programmatic access to the data the way that users get to it.  Although this is a great start, one of the major benefits of an API is that allows creative people to use your software in ways that you may not have thought of.  Don't limit the API to just the features you can think of.  Make it deep so people can get creative.

4.  It's Immediately Available:  There's no registration and no "key" that has to be requested.  If you want to start accessing the API, you can do it now.  No muss, no fuss. 

5.  No Limits or Constraints:  Digg is not putting any limits on the use of the API (though they ask that people use their heads and not abuse it).  This is a great way to get started.  Rare is the case where you really need to put limits on the use of an API early in the game.  If it was worth developing the API, it's worth letting people loose with it.

So, if you're thinking about adding an API to your application, I'd suggest taking a look at the way digg did it.  They got a bunch of things right.