I'm glad to see https://isevenapi.xyz/ made the list.
(This doesn't apply to every API in the list, but) having made the mistake of using a public API (that later went offline) for examples in a book of mine, never again.
These days I keep an API deployed on a subdomain I control.
> having made the mistake of using a public API (that later went offline) for examples in a book of mine
Literally a tale as old as time. The Old Testament references a command from God, that is not contained in the Old Testament itself.Do you have an example for this? Just curious
Not sure which specific example they're referring to, but another example is that, according to tradition, the prophet Isaiah was martyred by placing him inside a hollow tree that was then sawn down. This appears to be referenced by the Apostle Paul in Hebrews 11:37 even though there is no description of Isaiah's death in the Old Testament:
"They were stoned, they were sawn asunder, were tempted, were slain with the sword: they wandered about in sheepskins and goatskins; being destitute, afflicted, tormented;"
Not literally a tale as old as time. Time existed for billions of years before humans.
That explains Mel Brooks' 5 missing commandments. Where's the undef ref?
The possibility of an internet resource disappearing exists regardless of the resource type. Running an API Forwarder that could act as a common target for all your APIs might work. Give it the request, and it passes it on, records success, optionally sends a notification if an endpoint that previously succeeded is now failing.
Add a fancy feature of redirection with format changing to handle replacing dead APIs with new ones transparently.
If anybody makes one of these, they should totally make it a free public API. I'd use it, and I'm not certain if that would just be ironically.
> Running an API Forwarder that could act as a common target for all your APIs might work.
That just sounds like adding another point of failure into the chain.I'd say it only makes sense if you control the forwarder.
Maybe we can convince IANA to host a simple API, on example.com as well.
An API for polling data would be cool, one can dream
Polling is a fool's errand, in my experience, since I'd guess a ton of the "how about now?" responses are "nope"
IMHO sitemap.xml and/or ActivityPub are sleeper approaches to helping the sites with the adversarial relationship they have with scrapers. In my experience, there are two schools of thought: play the very expensive game of cat and mouse (expensive for BOTH sides) of trying to verify the human-ness of visitors, or make it so the inevitable bots don't eat up very expensive and valuable resources that can be spent serving actual humans
Imagine how much less nonsense would have to go on if Amazon had ActivityPub that CamelCamelCamel could subscribe to, or similar for Craigslist
I'm not saying "all information wants to be free," so if Amazon wants to focus its energies on hoarding the review content, since that's arguably its moat, fantastic - let the bot and anti-bot people war over that content, instead of arguably factual data found on the product listing pages
Maybe there is a language issue here. In Australia, a full on election is also called a poll. The government electoral commission does the polling, the voters do the voting.
I think you getting confused with opinion polling.
Ah, that's quite possible - since it was a thread about APIs, I interpreted the question as "a way to programmatically await data arrival" - the verb "polling" in API context is repeatedly invoking a status endpoint to ask if new information is available either in absolute terms or in terms of since the last request
I stand by my rant :-D but obviously stand corrected on the question being asked
Not so much for polling data, but some governments do allow access to coarse election data.
Australia's was enough that the unfortunately complicated math of their election system was repeatable and verifiable (Can't find the post about it, however)
Good point. However, in my experience messing around with choropleth maps, I often find myself resorting to web scraping in the end when I want something more current (opinion polling). Despite this data being seemingly everywhere, and companies often wanting you to use it (with attribution) so they can get advertising for other services, they never seem to have an API.
What do you mean?
Not having a free public API for this site is a bit of a joke.
What's the use case?
Examples page for an app that generates an app given any API
a syndication feed would probably suffice
It would never load due to infinite recursion.
I'm relieved to know the Rick and Morty API is in such good health.
I don't really understand why one would build an HTTP API for this. I can't imagine the database being more than a few megabytes, the whole thing could probably be served as a JSON file.
I assume it's intended to be used in an educational context. Learning how to work with a simple API is more fun that way.
The last category on the left sidebar is "FHGR", which I'm guessing stands for Fachhochschule Graubünden, and indeed under IM2 we find:
APIs handpicked by the University of Applied Sciences of Grisons for their IM2 JavaScript programming course...
That explains why there’s so many Swiss APIs.
Paraphrasing a known saying, "there's no API, it's just someone else's computer".
I wish programmers would internalize this. They often seem to take APIs uncritically, not questioning whose resources they're using and where does the data come from as well as its quality beyond obvious cases. APIs are leaky abstractions as all abstractions are.
API doesn't mean someone's else's computer.
But all the APIs in this collection of free public APIs are on someone else's computer.
Hence testing them daily to see if the someone else is still offering them.
APIs are leaky abstractions as all abstractions are.
Not all abstractions are leaky. Not at all.
APIs can be hosted locally. In fact, I think most of them are.
Whatever happened to programmable web?
https://en.wikipedia.org/wiki/ProgrammableWeb - "was an..."
Bummer.
On February 3, 2023 Mulesoft announced that after 17 years in operation, it had shut down Programmable Web.
Honestly, Web3 is partially it now. If you remove the hype and buzzwords, you are left with a bunch of individually addressable contracts that can all be composed and integrated together seamlessly under a single web frontend.
I remember years ago doing something as simple as getting a coin onto an alt-chain was a 20 step process. Get the gas coin on the target chain, find the right contract address, bridge the assets over, do a bunch of conversions, finally to get the token on the chain I wanted.
These days its a single click. Different tools or companies have sprung up, and while they use the same exact contracts I would have manually interacted with before, they script them all together into one transaction to save time and gas fees. A simple UI to select destination chain and coin and it handles all the swaps, gas, bridging, etc needed.
You don't need permission and a lot of standards have developed to keep things running smooth.
It's not just coins and crypto either. No reason not to develop other things off the chain too.
I've been working on my own PIM (personal information management) suite and using web3 has been amazing. No need to worry about a server or a database. Just deploy my code to the chain and store all my data encrypted on chain as well. The altchains are extremely cheap and this storage is already backed up, replicated, distributed, and can be local with a self-ran node. I will never lose it and I can bootstrap my data from scratch anywhere in the world as long as I can sync the chain or reach an API. I have todo lists, notes, contact management, and more in the pipeline and I've never felt so safe about my infrastructure or data before.
Tangentially, what APIs do you guys actually pay for? (Personally or through work)
easypost and taxjar
Algo trading requires expensive APIs that fetch almost realtime bids. There are platforms that provide UPSI as APIs, which these traders use.
AWS is arguably an API, and I shovel a ton of money their way. Stripe is another one, though that ends with me getting paid, so I guess that technically doesn't count unless I start losing money using it. There's also the APIs backing all the apps I pay for, since I don't talk to them via a webpage. But then, if we look at every web page that hits an API to get a list of items to display, instead of that list coming over on the html itself, that'd be an API, technically. ChatGPT is an API I hit a bunch via non-web browser clients that I pay for.
Regarding APIs, what is a recommend good and free tool, other than Postman, that allows for importing and exporting of saved collections?
I’ve always liked Insomnia
I just recently (today) started using Bruno, seems pretty good so far. I like that it has a flat file structure that can be included in a git repo.
All of the API titles have been replaced by emojis () for me. Is this a bug or is it intentional?
same
Same here. (U+1F979 Face Holding Back Tears)
"are" tested daily.
Not to QC the link title, but ;)
I had exactly the same thought at first but then realised they're referring to the collection rather than the APIs. Therefore singular is correct.
Ah! You are right!
The key here is tested daily. The last time I wanted some sample data api it took me way too long to find one because all the ones that were recommended to me were deprecated. It's really tough to keep a free api up, because there's no incentives. You can't sell ads on it.
You can't sell ads on it.
Maybe you could! Perhaps a sample data API that creates users like "John Chocolate Oreos," address "100 Pack Street", age 19.99, email "visit<at>oreo.com"
I don’t think Oreo would want to commit ad spend to that—it would perform worse than the display network, and worse than the Outbrain/Taboolas of the world.
Free IP Geolocation API - lookup any IP address. Provides geolocation data based on the input IPv4/IPv6 address or domain name
Where does one get a geo location for an IP address from?
In this particular case they seem to pull from https://www.maxmind.com/en/home
There's a bunch of IP/GPS and physical address lookup sites, services, and databases out there.
IPFire Location is nice too: https://www.ipfire.org/location/how-to-use
Anyone know of a decent (doesn't have to be realtime) stock API for stocks? I didn't find any under the finance category besides one crypto related.
for basic high-low-open-close daily data, I like yfinance for daily data and polygon.io for minute by minute data
I tried to build something years ago on a similar foundation, and I found maintaining the API list to be impossible as a solo dev. In a pool of say 30 APIs, at least one would break their "contract" as a public resource daily. Shifting endpoints, revoked public tokens, changing outputs.
I was quite disappointed because I loved the product, a dashboard for arbitrary live data sourced from APIs, but the cost of maintaining it was too high.
I would say that would be my use case for LLMs. These should be easily fixed by automation that can reason about documentation and could spit out code fixes.
Of course I assume there is documentation that is updated before new changes go live which might be too much to ask :)
Odd layout. After entering a search in the text field, the next element is a title: “Search for an API” and a subheading: “Searching for APIs…”. The results were below the fold on my phone. This title made me think the query was not yet submitted, so I’m sure I submitted the form a bunch of times.
Most of them are useless play apis, but it's a fun dataset maybe. Also I guess most don't use the OpenAPI standard.
I keep this list bookmarked: https://github.com/public-apis/public-apis Sadly they are missing health checks.
Using Hugo to make a read-only API would be a great way to make an always-up API with minimal maintenance. Host on any static site host.
- https://web.archive.org/web/20180530151717/https://forestry....
- https://web.archive.org/web/20180525154607/https://forestry....
This site is very slow when accessed from Asia. And I can't open each card in a new tab. Slow server and/or bad Nuxt implementation?
Just a friendly reminder that rubygems.org's APIs are free/public: https://guides.rubygems.org/rubygems-org-api/
And there's a weekly data dump of our database: https://rubygems.org/pages/data
I did a similar deep dive to find all the specifically Music-related APIs that are available a few years ago. I've since moved on to other projects but maybe someone will find it useful / maybe OP can add the entries in my list to FreePublicAPIs.com!
Wanted to add AISstream but didn't work. Does it accept websocket APIs? wss://stream.aisstream.io/v0/stream https://aisstream.io/documentation
less is more get rid of the joke ones
This is great - bookmarked!
Me likes, however the first API I looked for was not found. USPS address verification
No right click -> New tab / Middle click is a killer in 2024.
Very cool site and a good reminder that we need more common/shared infrastructure like that.
One nitpick: why can I not open like KS to API sub-pages in a new tab? Are Hyperlinks unfashionable now?
I think most of these would be better off as files
I like this, not only does it let people find the APIs but having a collection like this encourages others to make APIs and to keep them running.
There's not a lot of incentive to create a service if you feel like no-one will ever know about it. I have had a few thoughts for services that I might have developed if I thought anyone would ever see it.
There's probably an argument for sponsorship here as well, not as a vehicle for advertising, but just companies paying for (or supplying resources) to cover the ongoing costs of the service as a public good. I wish I could make something that worked and could put it somewhere and commit zero mindspace to billing, server maintenance etc. and just have it keep running, forever.
Great resource, with a nice UI (Love to know how it's built).
Found public resources I always wished existed.
What I really want is isoddapi.xyz.
Just like the npm package, all it should do is call isevenapi.xyz and invert the result.
I'd like to see isfizzbuzz.xyz.
Ideally, before 11:30 AM ET this Friday.
https://api.isfizzbuzz.xyz/
Cheers!
Awesome but seem to fail on some numbers e.g.
https://api.isfizzbuzz.xyz/api/15000000000000000000000000000...
BTW, there are neat divisibility rules which can give you the answer in practically linear time when the number is in decimal: https://en.wikipedia.org/wiki/Divisibility_rule
so many coding interviews will change forever
I hope someone sets up isthirteenapi.xyz.
And then isevenapi.xyz should call isoddapi.xyz and invert the result to offload all the work to them.
Putting the 'micro' into microservices one bit of logic at-a-time :)
isprimeapi.xyz would be helpful.
But what do I do if I need to know if a number is odd?
Launch a startup!
Yeah that's a hole in the market, I'm stealing it
I love their pricing options include larger ranges of numbers, and enterprise class also includes negative numbers. ha ha.
Best part is that 'sign up' links to https://archive.org/donate/
I think their ad placement is even better than their pricing.
API Result:
GET https://api.isevenapi.xyz/api/iseven/6/
{"ad":"Buy isEvenCoin, the hottest new cryptocurrency!","iseven":true}
I Seven API vs is Even API. Can't say I saw it the right way at first.
that makes me want to make an is seven API.
I feel like one of the categories they are missing is 'APIs that can be done in one line of JavaScript"
I'm not saying these shouldn't exist, I think they're pretty funny, but everything in its place.
These come in handy in an instructional context—being able to have a simple predictable API that you can point students at so they can learn how to call an API and process its data.
This made my day..
It was the first one I searched for. What a silly tool: Parity as a Service.