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.
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.
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.
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!