Ask HN: What are some examples of good APIs?
With the recent talk on APIs and RESTful interfaces, I am curious to hear the community's experiences with APIs in the wild. What makes one API good as contrasted with another? What are the qualities one looks for in an API?
2 comments
The first two examples that come to mind of what I would deem "good" APIs are:
* GitHub: http://developer.github.com
* Stripe: https://stripe.com/docs/api
Both are easy-to-use and very well documented. The examples listed in Stripe's actually work - they're hooked up to a test account, so you can copy-paste into your terminal and start interacting with it immediately.
-- Edit --
To give you an example of a bad API: I'm currently working with a large corp's API, and it's just awful. It's horrendously slow (10+ second response times); everything hits a single URL; the HTTP status of the response is always 200; node names in the response are misspelled and trncated awkwardly; the documentation is virtually non-existant; some response nodes provide inaccurate information. The list goes on.
* GitHub: http://developer.github.com
* Stripe: https://stripe.com/docs/api
Both are easy-to-use and very well documented. The examples listed in Stripe's actually work - they're hooked up to a test account, so you can copy-paste into your terminal and start interacting with it immediately.
-- Edit --
To give you an example of a bad API: I'm currently working with a large corp's API, and it's just awful. It's horrendously slow (10+ second response times); everything hits a single URL; the HTTP status of the response is always 200; node names in the response are misspelled and trncated awkwardly; the documentation is virtually non-existant; some response nodes provide inaccurate information. The list goes on.
That sounds painful.
Stripe's API does look good. I was actually perusing it just now after reading their webhooks post.
Now it's time to give the GitHub docs a good read. Thanks!
Stripe's API does look good. I was actually perusing it just now after reading their webhooks post.
Now it's time to give the GitHub docs a good read. Thanks!
also, any API with a comprehensive developer community like facebook or twitter is a good place to start looking for inspiration too.