The notion of working on side projects gets thrown out a lot amongst the programming community. It can be intimidating sitting in front of a blank code editor wondering what to build. Hosts of blog posts have been written recommending building applications like calculators, to-do lists, and social media clones. While those can certainly be helpful for learning technology stacks, let’s face it — the word doesn’t need any more calculators or to-do list apps. Instead, we can build new and interesting applications around public facing REST APIs.
This is a cross-post from the blog I run, Imago Dev.
What’s a REST API?
A Representable State Transfer(REST) Application Programming Interface(API) provides a set of methods that a programmer can use via HTTP to send and receive data. Since these methods are over HTTP, any programming language can be used to employ REST APIs.
There are thousands of REST APIs available on almost every different domain conceivable. Commonly used public data like weather or stock markets have dozens of APIs available for use. Many popular web platforms, like Facebook and Twitter, provide APIs to developers too. Some of the proprietary APIs have limitations to the number of times you can call. Many require signing up and receiving a private API Key. The most secure APIs require setting up OAuth for users to login securely.
You can find a huge list of public apis at this Github and an even grander list at RapidAPI.
10 Intriguing Public REST APIs
This list is certainly not exhaustive of cool REST APIs, but simply some I find to be especially neat and worthy of some side projects. All of these are completely free and do not require any thing more than getting an API Key — no need to figure out how to handle OAuth or pay for their use.
- PokeAPI The largest media franchise of all time now has an easy way to get data on the 800+ Pokemon.
- NASA API Space, the final frontier. Get data on astroids, galaxies, and more.
- Open Food Facts A huge amount of data on food products from around the world.
- TransLoc OpenAPI Get live data of public transportation of cities and college campuses.
- Urban Dictionary API It’s amazing what slang people come up with.
- Merriam-Webster Dictionary API For those that want real words’ definitions and synonyms.
- Numbers API Interesting facts and trivia on numbers.
- WeatherBit API Current and historical weather data.
- US Government Data API A fairly big catch-all for dozens of United State data samples such as agriculture, health, and public safety.
- Bible API The best selling book of all time. The greatest story ever told.
What To Do With Them
All those public APIs are great, but having a list of interesting sources of data does not inherently help the initial problem of determining what to do for a new project.
The best place to start is by simply getting and displaying data. Maybe that’s showing a Pokemon of the day or the definition of a typed in word. For the more creative types, try taking pieces of the data and mapping it to a visual element, such as temperature to color or drawing lines based on bus movement.
The hardest part is simply getting started. Once you’ve gotten past the initial hurdle of fetching and displaying the information, I’m sure you’ll think of plenty of next steps for your project!
Latest comments (31)
Very useful collection, thanks!
I am also using this one when I want to create my own custom data and fetch it via the REST API for my demo projects: restful-api.dev
Great post. I also recommend you to check out IP Geolocation API
Great post! I'd like to add The chuck Norris jokes API to the list. It's just great for a laugh!
Urban Dictionary API may not be public, but it has public facing API. The link in the article was to the API entry in urbandictionary, not the actual endpoint.
The API is relatively simple: api.urbandictionary.com/v0/define?... but I wouldn't count on your app surviving for long if they see you slurping traffic.
Urban Dictionary API has an unofficial API.
Good article, very useful to know these APIs to learn new technologies and not do the usual projects.
Hi! great article :D
I also recommend Rick and Morty's api rickandmortyapi.com/
these would be amazing fun to play around with putting a GraphQL engine in front of, too
Thanks for the heads up. I'm going to use them in my testing projects.
Cool ... Do you have something on educational articles or circulars.
Thank you for this...
Some comments may only be visible to logged-in visitors. Sign in to view all comments.