There’s a discussion starting on the U.S. Government API Google Group on the subject of charging for the use of government APIs.
This is an interesting discussion (one that governments should pay attention to as they develop their API strategies) and is a nice follow up to my last post on sustainable civic technology.
Clearly the decision about whether to charge users for accessing an API – whether to query an open data source, or to conduct some transaction with government – is one that each government needs to come to on their own after factoring in the potential benefits and consequences. But there are at least a few economic reasons that governments might want to consider whether charging for access to APIs makes sense.
I don’t have any definitive answers here, but I think there are a few questions worthy of further discussion.
Identifying who is using government APIs
In economic parlance, public goods are characterized by two different factors – “rivalry” and “excluability.” Rivalry refers to the idea that some goods can be consumed simultaneously with other consumers without a diminished experience. Public goods are those that I can enjoy myself along with my neighbors and our simultaneous enjoyment of such a good doesn’t diminish the experience for any one of us, or anyone else.
Excludability refers to the idea that consumers of a good can be identified with relative ease, and that their consumption of a good may easily be conditioned on something. Such goods are often referred to as “toll goods” and the most often cited example of such a good is a toll road – a turnpike or highway.
Its fairly easy to restrict access to a toll road and condition the use of the resource on paying a tool (that’s what toll booths are for). This arrangement has the additional benefit of directing the cost for building and maintaining the resource on those that are actually using it. People that don’t drive aren’t subject to tolls, and there is a pretty strong argument that they shouldn’t be (because they’re not consuming the resource).
It’s also fairly trivial to restrict access to a government API by requiring an API key or other credentials. Because API consumption shares much in common with the consumption of other toll goods, is there a justification for governments to charge for access? How strong is the argument that the cost to build and maintain the infrastructure behind APIs should be borne more directly by those that actually use them?
APIs as a shared resource
Another rationalization for charging for the consumption of certain goods and services is that price is an effective way of rationing a scare resource. APIs – particularly those that expose open data – are fundamentally different than something like a static data download. APIs are shared services with finite resources – my use of an API has the potential to impact other users of an API, depending on how I consume it.
Is it fair to allow one user, or a few users, of an API to potentially diminish the experience of other users by using it with enough frequency to impact performance? Even the most elegantly and expansively engineered APIs have limits – is price a way that governments can help ensure responsible use of an API?
It’s worth noting that many SaaS and PaaS service providers offer a free tier for relative less intensive use of their platforms or APIs, and charge users at different levels based on the amount of usage for what is essentially a shared resource. Is this an approach that governments should emulate?
Sustainability of IT infrastructure
Ultimately, if and how a government employs a fee structure for access to APIs should be connected to plans for long-term sustainability of the IT infrastructure support the API. As I’ve said before, far too often governments do not budget properly for the long term care of IT assets.
Could charging for access to government APIs generate a reliable revenue stream to help ensure resource for upkeep, maintenance and improvements to the systems behind these APIs?
At a minimum, governments should consider deploying a test environment for their APIs. If governments charge users for access to their APIs, they should allow new users and developers to experiment and build new apps without incurring costs, until they are ready to go to production.
I think a far more interesting question for governments is how many are deploying test environments that allow users to build new things without impacting production users. This is an area that I think many governments should spend some time exploring as they develop their API strategies.