Curated List of The Best and Worst Practices of APIs

DZone 's Guide to

Curated List of The Best and Worst Practices of APIs

· Integration Zone ·
Free Resource

I've gathered together a substantial list of useful resources for the best and worst practices when it comes to building an API.  Hope you find this curated list very bookmarkable!

Worst API Practices

Top 10 API Worst Practices  - ProgrammableWeb
A 10 point checklist of things that you want to be absolutely sure you don't have in your API.

The Good, the Bad, and the Ugly of REST APIs  - O'Reilly
11 great tips from 2 guys who've written a lot of code against many different SOAP and REST cloud computing APIs

Top 10 API Pitfalls  - TechCrunch
Each of these ten pitfalls are described by their impact and their remedy (so you don't have to guess how to fix these bad practices.)  This is spot-on in suggesting that you think about an API as a channel to market, rather than a basic integration.

The API for Google's most valuable resource sucks  - vincentwoo.com
Former employee of Google wrote a detailed review tearing apart the Google+ API.  Should provide some advice for your own APIs as well as the comfort (or anxiety) of knowing that even Google has trouble with APIs.

Best API Practices

Web API Documentation Best Practices  - ProgrammableWeb
4 sections with advice on how to improve your Web API documentation (a HUGE part of an API's success) and some examples to review.

Building an API: Best Practices - StartupCTO
Covers a lot of the topics from the O'Reilly article but covers a few extra less deeply.  No good, bad, ugly division.

What Makes a Great API? The Five Keys  - Programmable Web
5 general statements about what you should generally focus on when crafting your API.

RESTful API Design: nouns are good, verbs are bad  - apigee
4 specific design principles that the apigee folks have seen work well.  Get their key litmus test for simple API desgin.


Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}