API Changelog provides up-to-the-minute tracking of APIs to ensure that API developer-consumers are alerted to any upgrades or changes to endpoints. Changes to an API can create business risks as the end customer’s experience may be affected if an API being used in an application or aggregation product suddenly becomes inaccessible. Web developer and API UX expert Bruno Pedro talked to ProgrammableWeb about how API Changelog reduces risk for any business model that involves consuming APIs.
API Changelog is a free, subscription-based service in which developers can sign up for a daily alert detailing any changes to their selected APIs. So far, the service tracks changes to 46 API services, with providers invited to add their APIs to the registry.
“Ninety percent of the APIs being tracked have been requested by providers and subscribers, with about half of the APIs being tracked after specific requests from providers. Sometimes I don't add an API because their documentation isn't easy to track, and occasionally I add an API myself because I'm also interested in following its changes,” says Pedro, who took on maintenance duties after creator John Sheehan, CEO of Runscope, handed it off.
Developer-consumers who are using APIs in their applications and aggregation products can use API Changelog to keep up to date with any changes that may occur.
Why APIs Change
Pedro describes what the service tracks:
There are usually two types of changes: introducing or updating features and terms of service.
The largest percentage of changes are related to features. Usually, application features are supported by APIs, and you can see that immediately on the API Changelog. A good example of this was when Twitter introduced the "mute" feature. That was immediately visible on their API and was caught by our tracker.
Terms-of-service-related changes occur less often but are very relevant because they're usually related with usage limits. So that can affect your API client implementation if you don't pay attention. A recent example of this was the API documentation change to Google Analytics limits and quotas.
Other less-frequent changes hint at bigger application or even company changes. An example is seeing Foursquare remove a mention to a partnership with Gnip, which was probably related to Gnip being acquired by Twitter.
So far, Pedro sees the main users as API consumer-developers who rely on APIs to make their own products and services work.
“The main users are developers that work with more than one API and have a tightly coupled dependency in their application. They can't afford to waste time understanding why an API is behaving erratically only to find out that a feature or the terms of service have changed,” he says.
How API Changes Affect Business Models
Data aggregation services like DataHero deal with this problem on a regular basis. DataHero aggregates APIs from a range of social media, marketing and SaaS tools to provide an analytics product for its users that can cross-analyze multiple data sets in the one visualization.
Chris Neumann, CEO and co-founder, told ProgrammableWeb that DataHero has built its own mechanism into its service to be informed of API changes. “In most cases, our partners notify us of pending changes to their APIs, so we're able to plan in advance and adapt to their changes,” Neumann says. “However, we also have a notification mechanism built into our integration framework that informs us of any failures calling an API endpoint. If any API is ever unavailable (either due to a service outage or a change in endpoint), our users will get a pop-up informing them that the API could not be reached, and we will get an immediate notification.”
API Changelog is hoping that other API aggregators will come to rely on its services rather than build their own solutions, as DataHero has done.
Neumann points out that API changes often indicate a new feature that services like DataHero can incorporate into their products: “Most of the companies we work with are striving to improve their APIs, so the majority of changes involve added functionality (which we can potentially take advantage of) or improvements to existing endpoints (added parameters, etc.).”
Changes to API Terms of Service
Changes to API terms of service, however, can reflect a destabilizing of trust between the provider and consumer. Mehdi Medjaoui, founder of APIratings, told ProgrammableWeb that frequent changes to API terms of service can erode the trust between a startup and an API provider as the business model is put at risk. Medjaoui and his APIratings team use API Changelog to quickly identify which APIs have been altered. API Changelog speeds up the laborious process of tracking individual changes to each API (as some may break API calls in an application while others may just be cosmetic or documentation edits).
All the same, some changes do not lend themselves well to automatic tracking. Pedro previously created an import.io hack that tracks API terms-of-service changes. He has not yet introduced this feature into the main API Changelog functionality, but may do so in the future:
The import.io was a hack to prove that anyone could build a tool to crawl a large amount of API documentation pages looking for something in particular, in my case, terms-of-service information.
Because most API changes detected need manual validation, it's not easy to build a fully automated tool. The goal is to incrementally track more APIs as the validation process improves over time.
API Changelog doesn't use that hack directly, but tracking terms of service separately is something planned.
Making It Easier for API Providers
The service is free and is widely appreciated by both consumer-developers and API providers. Sylvain Utard, VP of engineering at search API Algolia, uses API Changelog to notify Algolia's developer community of changes. “Using API Changelog has been a time-saver for us because it automatically tracks our API changes and allows our developers to be notified. Getting listed didn't require any effort from our side,” Utard says.
Sean O’Connor, lead application engineer at Bit.ly (which has its Bitly API tracked by API Changelog), is also enamored with the service. "It's great to see a tool like API Changelog come along. As a consumer of web APIs, it can be tough to keep track of all the changes happening in various places and how they will affect my applications. Similarly, as an API provider, it's always a challenge to communicate to users when changes happen. Having a tool that helps both sides of that problem is a welcome addition to the web API ecosystem."
Developers can also subscribe via RSS to any API changes or obtain a JSON representation of those changes, for those who want to programmatically use the data on the changes immediately after they sign up.