One of the dreams of Web 2.0 was that website would speak unto website. An "Application Programming Interface" (API) would give programmatic access to structured data, allowing services to seamlessly integrate content from each other. Users would be able to quickly grab data from multiple sources and use them for their own purposes. No registration or API keys, no tedious EULAs or meetings. Just pure synergy!
Is that dream dead? If so, what killed it?
A decade ago, I posted a plea looking for Easy APIs Without Authentication with a follow up post two years later. I wanted some resources that students could use with minimal fuss. Are any of the APIs from 10 years ago still alive?
Alive
These ones are still around:
- Wikipedia - Yes! Still going strong.
- Police.uk - Yes! After a brief dalliance with API registration, it is now back to being completely free and open.
- Google Books ISBN - Yes! Obviously Google have forgotten it exists; otherwise it would have been killed off by now!
- iTunes Lookup - Yes! Possibly the only thing Apple don't charge a premium for.
- Pokémon API - and still receiving frequent updates.
- MusicBrainz - this Internet stalwart will never die.
- Open Notify - a collection of space APIs, although the code hasn't been updated in ages.
Dead
These have shuffled off this mortal coil:
- BBC Radio 1 - No.
- Twitter URL statistics - LOLSOB No.
- Star Wars API - No.
- British National Bibliography - No. Dead due, I think to the British Library's cyber attack.
- Football Data - gone.
API Key Required
These are still alive, but you either need to pay or register to use them:
- Google Location
- Spotify
- OpenMovieDB
- Open Air Quality
What Happened?
Something something … enshittification … blah blah … zero interest rate phenomenon … yadda yadda our incredible journey …
But back in the land of rationality, I've had a lots of experiences running APIs and helping people who run them. The closure and lockdown of APIs usually comes down to one or more of the following.
APIs cost money to run. Yes, even the static ones have a non-zero cost. That's fine if you're prepared to endless subsidise them - but it is hard to justify if there's no return on investment. Anyway, who is using all this bandwidth? Which leads on to:
Lack of analytics. Yes, I know tracking is the devil, but it is hard to build a service if you don't know who is using it. Sure, you can see traffic, but you can't tell if it is useful to the end consumer, or what value you can share. There's no way to communicate with an anonymous consumer. Which, of course, takes us to the next barrier:
Communication is key. If you need to change your API, there's no way to tell users that a change is coming. That might be the announcement of a deprecation, an outage, or an enhancement. You can try smuggling error messages into your responses and hoping someone notices a failing service somewhere - but it's much easier to email everyone who has an API key. And you know what else keys are good for?
Stopping abuse. It'd be nice if everyone played nice online; but some people are raging arseholes. Being able to throttle bad actors (figuratively or literally) is a desirable feature. On a resource constrained service, you sometimes have to put rules in place.
Still, if you know of any good open APIs which don't require registration, and that you think will survive until 2036, please drop a link in the comments.
21 thoughts on “Are there any open APIs left?”
@Edent NASA data used to be free and openly available, that was until people started to mirror full datasets (because they could). And this wasn't just some other institute, this was every single grad student with enough god damn disk space. Then the bean counters came in and here we are.
| Reply to original comment on mastodon.social
Oh this Google IBSN one is really useful for a project I'm working on - thanks for the tip!
@Edent I recently created a tech conference listing site with a completely open API. https://techconf.directory/api/index.json
| Reply to original comment on fedi.vale.rocks
@Edent Old enough to remember "Small Pieces Loosely Joined".
I kind of think there are still RSS-Atom interfaces that respond to search queries. Though I'd be hard put to point at them.
It wasn't just standard API interfaces that disappeared, it was also standard return data formats. Damn you, JSON!
| Reply to original comment on mastodon.social
I’ve never been sure where the API line gets drawn. If you publish page equivalent CSVs and RSS, is that an API?
| Reply to original comment on bsky.app
@Edent I use this which I didn't see on your list - https://github.com/lineofflight/frankfurter
| Reply to original comment on hachyderm.io
You forgot to mention the ludicrous pricing on the X API!
I'm sad that the Marvel API went away. That was fun to play with.
... I'll also point out, because I was there, that "Twitter URL statistics" was never a supported, intended-for-broad use, API - iit was made for the first-party embeds, it lived in an entirely different part of the backend with a different address to the rest of the official API. It's always tricky with web-facing stuff where data can be broadly accessed, whether or not something should have an expectation of support or a longer lifespan.
Web 2.0 days were fun times!
@Edent GOV.UK's APIs are still open (with no API keys required), but they were very much feeling all of the pain points you mention - particularly not being able to communicate with users, and not having a good way to deal with abuse.
If I was making recommendations now, I'd say have an anonymous free tier, but with strict rate limits and a disclaimer that you should expect breaking changes with no warning. People that want higher limits and better stability should have to authenticate.
| Reply to original comment on hachyderm.io
@Edent Open Meteo, a weather API: https://open-meteo.com/en/docs
🌦️ Docs | Open-Meteo.com
| Reply to original comment on mastodon.social
Here's my 2p worth:
@blog The API for ecosyste.ms has an optional signup that get prioritised, but it's open to all without registration.
(h/t @andrewnez )
https://ecosyste.ms/api
Last time I used it the API for https://openlibrary.org didn't require auth, I think they just asked you to put a contact details in the headers if you were planning to be a heavy user so they could contact you if there were issues.
| Reply to original comment on hachyderm.io
@Noneeeed @blog I think the open usage might be why it serves 50m requests per day 😅
| Reply to original comment on mastodon.social
@Edent GitHub is worth a mention - a thing I really care about is open CORS headers, so that I can hit the API from my own client-side JavaScript - and GitHub serve *every public static file on the site* with open CORS headers via their CDN, including content in Gists
The GitHub API itself works without authentication for a lot of things, albeit with IP rate limiting
| Reply to original comment on fedi.simonwillison.net
@Edent my favorite open JSON API is the iNaturalist one, we used that for https://www.owlsnearme.com/
Find owls near me!
| Reply to original comment on fedi.simonwillison.net
@Edent
Pwnwed Passwords lookup https://haveibeenpwned.com/API/v3#PwnedPasswords is free and needs no authorisation (unlike the main HIBP API) or you can just download the entire dataset for use locally.
Have I Been Pwned: API Documentation
| Reply to original comment on irrelevant.me.uk
@blog https://pdok.nl has a large set of public Dutch geographical data
| Reply to original comment on todon.nl
@Edent I use to toy with a bunch of open data APIs that can be found under the https://www.data.gouv.fr/api/1/organizations umbrella
Very disparate stuff. From geolocation of public toilets in Paris to transportation timings or shops opening days
| Reply to original comment on indieweb.social
@blog Cat as a service
#api
https://cataas.com/cat/cute/says/There%20is%20also%20an%20open%20Cat%20API
| Reply to original comment on gts.raspi0.blog
Craig
I don't know if this qualifies, but the Art Institute of Chicago Public API – Unified public API giving access to collection items, images, events, publications, and more; documentation and example queries are available on their developer page. https://www.artic.edu/open-access/public-api
Just a note that Open Notify is only half alive. One of the upstream (NASA?) data sources changed and the pass prediction API is no longer functional. Credit to Nathan for keeping it alive as long as he did, and for keeping the current location API alive now.
More comments on Mastodon.