I've seen a lot of APIs on ReadMe.io, and one thing I've noticed is that many APIs tend to be built as though replicating the main site is the only usecase. Before launching an API, you should come up with 5-10 compelling usecases that someone couldn't use your website for.<p>You should publicly post these usecases somewhere, too, as a type of "Request for Projects". It gives people ideas... after all, you spend more time thinking about your API than anyone else ever will.
"If you build it, they will come." Except they won't.<p>It seems to me that, unless your product is a platform, you probably shouldn't publish a public API until someone requests it as a feature. And you should charge for it, especially if your hosting the API endpoint. Turn it into direct revenue to support the development and maintence of those API features.
If we're talking here only about web APIs where there is an economy (meaning that money changes hands), then I don't think that it's fair to say that most are doing it wrong. This is relatively new territory and it is taking time to flesh out the business models. Look, newspapers are still trying to figure out the business models.<p>Information consumed by eyeballs has different business models. You can paywall or you can have it ad-supported (or both). API clients don't have eyeballs, so ad-supported isn't an option. Microsoft has the Azure Data Marketplace, which is the only monetized API market that I'm aware of. My company provides APIs for cloud ETL that companies pay an annual subscription to use. You could say that Amazon Lambda is a metered API. My own opinion is that there will be lots of different business models. This is just getting started.
You guys know you really mean "Web API" and not "API", right?<p>This kind of phraseology is a clear sign that someone's programming experience is extremely narrow in scope.
To how many products does this article apply? Only super huge platform products, like Facebook, Instagram, Twitter, Dropbox and Uber, right? Perhaps 2 or 3 high-business services. Google services have super limited APIs, Airbnb has none, WhatsApp has none. All other APIs are unmonetizable.
I want to do it right, so I want to ask you:<p>Question 1: Is there a de facto API/service description language standard out there?<p>Optional question 2: Which would be the best choice for a decentralised internet of services?
It seems like a lot of APIs are created to support websites, and then developers/PMs think oh well might as well open this up to the public, not really taking into account the ramifications.