19 Features that Make a Good API

Joshua Tauberer, an open Data activist described as a “Civic Hacker”, has compiled a list of 19 features an API should have to be considered good, stressing that the dataset should have already been turned into well structured data before an API can make it easy to use for consumers. He also suggests that a good API should be developed with a specific use case and user in mind, observing that this not always the case when companies are releasing APIs.

Some points the author makes: easy access to data even on a small scale; deep filtering of data with filters and full text search; typed values; denormalization of tables to achieve faster responses; REST patterns to make the API easier to understand and reuse; output format alternatives so users can choose which they need; clear and structured error messages; choosing the most important intents (use cases) for that API and making them very easy to use; documentation with examples; providing access code in the most common languages used by developers; release dates as version numbers into API URLs; fast API equals no server overload; log the API use and include API keys to communicate with users, but these should be optional; create a community and a feedback system to create a “virtuous circle”.

Tauberer also provides some links about How to build a good API.

Be sure to read the next API Design article: Dangerous Decision in Oracle v. Google

Original Article

What makes a good API?