Zero Ideas For Your Next Project? Try These Five Free APIs

Grant Holley
6 min readFeb 19, 2021

If you’re not sure where to start with your next personal project, API data is all you need for inspiration. What could you make with detailed information on every single video game created? Or a database with thousands of movie posters? Or an up-to-the-minute accurate forecast?

What is an API?

API stands for Application Programming Interface and allows developers to access a service or website’s information, provided they make it open to the public. Most sites only require you to sign up so you can access an API Key, a simple string of text that unlocks the data for developers to use.

Why use APIs for your projects?

  • A treasure trove of information: APIs often have hundreds if not thousands of pieces of data. While that may seem overwhelming, you can pick and choose what info you need.
  • Great learning tool: I learn through doing, and it can be hard to remember what a method does or when to use it. With APIs, you already have a ton of data to play and experiment with.
  • Hands-Off Updating: Well-maintained APIs will have the latest information, without you having to lift a finger. Create a weather forecast app in 2021, and it will show 2022 data next year without you needing to lift a finger.

How do I use an API anyway?

Implementation of an API depends on what language you’re using and the API itself. Most well-supported APIs have documentation that helps you get started. You can also use an “API Wrapper” which are language-specific packages that make searching through the data similar. I highly recommend this short video detailing how to do a fetch request from an API in JavaScript.

Want to get started? Here are five free APIs you can start messing with now.

Giant Bomb: A Video Game Encyclopedia

GAMEBAKO uses the Giant Bomb API to find games to add to your library

Giant Bomb has one of the largest video game databases on the net and readily makes its API available for the public. Query through the data to find any game that has ever existed, along with detailed information such as the publisher, release date, and hardware it launched on. One of my favorite bits of info is the “deck”, user-contributed summaries for each game.

Images, titles, and descriptions are all pulled from the API.

I created GAMEBAKO with this API. You can search through the database to find games, and then add them to your personal library. Accessing the data was one thing, displaying it was another. With all APIs, you will run into some interesting challenges. For example, some queries would throw up errors if the game didn’t have a release date because they were eventually canceled. These types of issues seem frightening because everything works perfectly until it doesn’t, but also provides a great opportunity to problem-solve.

And like any good API, it has extensive documentation to help developers.

OpenWeather: Accurate Daily Forecasts

Good coding weather?

Weather apps are a popular theme for a personal project since their useful and dynamic. It really seems like a lot is under the hood when it’s only a few lines of code. OpenWeather provides to the minute accuracy for any location on the planet. Note that some of the weather data is locked behind a paywall. I recommend the seven-day weather forecast since it’s completely free while still providing a good amount of data.

There are other forecast APIs like Weatherbit and AccuWeather if you need an alternative, but OpenWeather is the most popular due to its ease of use and wide array of information. Weather APIs make for great front-end projects since you can display the weather forecast in beautiful ways. Check out this project for an example of how detailed you can make your app.

OMDb: Massive Movie Database

There’s a lot of movies with “red” in the title.

Similar to the Giant Bomb API, OMDb lets you search through a seemingly infinite vault of data, this time for movies. Here’s what the hash for Star Wars looks like:

{"Title":"Star Wars: Episode IV - A New Hope","Year":"1977","Rated":"PG","Released":"25 May 1977","Runtime":"121 min","Genre":"Action, Adventure, Fantasy, Sci-Fi","Director":"George Lucas","Writer":"George Lucas","Actors":"Mark Hamill, Harrison Ford, Carrie Fisher, Peter Cushing","Plot":"Luke Skywalker joins forces with a Jedi Knight, a cocky pilot, a Wookiee and two droids to save the galaxy from the Empire's world-destroying battle station, while also attempting to rescue Princess Leia from the mysterious Darth Vader.","Language":"English","Country":"USA, UK","Awards":"Won 6 Oscars. Another 52 wins & 29 nominations.","Poster":"https://m.media-amazon.com/images/M/MV5BNzVlY2MwMjktM2E4OS00Y2Y3LWE3ZjctYzhkZGM3YzA1ZWM2XkEyXkFqcGdeQXVyNzkwMjQ5NzM@._V1_SX300.jpg","Ratings":[{"Source":"Internet Movie Database","Value":"8.6/10"},{"Source":"Rotten Tomatoes","Value":"92%"},{"Source":"Metacritic","Value":"90/100"}],"Metascore":"90","imdbRating":"8.6","imdbVotes":"1,234,202","imdbID":"tt0076759","Type":"movie","DVD":"N/A","BoxOffice":"$460,998,507","Production":"Lucasfilm Ltd.","Website":"N/A","Response":"True"}

The most valuable asset? Obviously the poster. I display the posters when searching through my WatchLater app, which looks especially cool if you query through a series with a lot of movies such as Star Wars or Zatoichi.

With all this information you can theme your project around anything. Maybe create an app that sorts by Metacritic score, or display how many Oscars each movie won.

PokeAPI: Create Your Own Pokedex

Display unique information by flipping over cards in GBPX

Off the top of your head, do you know how many Pokemon exist? Don’t worry, there’s an API for that. The much-beloved PokeAPI is an incredible resource for fans of the titular pocket monsters. The amount of info is staggering, just look at Pikachu for example. An obvious project with all this info is a Pokedex, the in-game encyclopedia that details each critter.

In GBPX, I wanted to have the basic information on the front, but also their main ability on the back along with a different image. Certain data points can be challenging to display since the app supports multiple languages and certain Pokemon may have “null” entries, but key information like name, type, and the number is no problem.

Here’s an API call in JavaScript. Note that you can change 150 to any number to gather that many Pokemon.

const fetchPokemon = async () => {    
for (let i = 1; i<= 150; i++) {
await getPokemon(i);
}
};
const getPokemon = async id => {
const url = `https://pokeapi.co/api/v2/pokemon/${id}`;
const res = await fetch(url);
const pokemon = await res.json();
pokemonCard(pokemon);
};

fetchPokemon();

There’s no shortage of self-made PokeDex apps on the internet you can look at for inspiration. Here’s a very basic one to help you understand how to use the data.

NASA: To Infinity…

A peek at Mars thanks to the APOD API

You may not believe that huge organizations offer up some of their data for free, but many like NASA do. This is not just a single API as NASA provides over a dozen different ones. The most popular is APOD (Astronomy Picture of the Day) which provides hi-res photos of space along with a detailed description.

Others include Insight which keeps track of Mars’ weather (spoiler: cold) and Earth API which provides satellite photos of our planet.

This page provides details on how to use APOD for your project.

And Beyond

There are hundreds of other APIs to play with, but these five are fairly straightforward to use yet can result in impressive personal projects. Hundreds of free APIs are just waiting to be discovered!

--

--

Grant Holley

Frontend developer in Tokyo. eCommerce enthusiast. Personal projects: https://grantholley.com