When frontend devs meet free APIs
Tags: sideprojects, webdev, javascript, codenewbie
Published: 2020-08-03 06:29:00

Have you ever struggled to get ideas for your side projects? Are you looking to make something other than the same old todo apps? If yes, then you are in the right place, my friend. Welcome to the world of APIs where I will help you to get awesome ideas for your next side project. 


![think.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1592912841868/HEZ0D7GCL.png)


*Do you know every time you build a to-do list app, a puppy dies?
*No! 😅 I am just kidding. There is nothing wrong with todo apps. It's just that todo apps are not the only thing you can create. Let's dive in to know what I mean.

But before that, let's go to flashback for a while.
So I just learned HTML, CSS, and some basics of JavaScript. I am enjoying playing with the DOM. And I created a todo list app. Then I built an expense app, then a calculator, and soon I was left with no ideas at all. And I was wondering what should I create now. 
And that's the time when I got to know about APIs.  So what is an API? 

Here is what Wikipedia say about API


> 
An application programming interface (API) is a computing interface that defines interactions between multiple software intermediaries. It defines the kinds of calls or requests that can be made, how to make them, the data formats that should be used, the conventions to follow, etc.

🤯 Doesn't make sense? Let me explain to you.
In simple terms, an API is a messenger that takes requests and tells the system what you want to do and returns the response back to you.

Imagine you are in a restaurant. You have the menu on your table and there is food cooking in the restaurant's kitchen.  How would you get it?  You will call the waiter right. The waiter will ask for your order,  get your order and bring it on your table. So the waiter here is the API. 


![602bac42d4b43d46f8ab9b94128e0463a193b649.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1592900437811/G6j_F_xdv.png)

Using APIs you can integrate data from other apps into your projects and apps. 

![apiin.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1593081794408/i1RiETJF_.png)
For Ex.  You can use weather API and show weather data in your app. Did you see that login with google or login with Facebook buttons on different apps? That is an API.
How cool is that? So I learned about APIs and how they work. And it opened the doors of unlimited ideas to me. According to some research around 40 new APIs are being added per week. Now think about how awesome things you can build with it. 

The first thing I built was ⚡ [Skymate](https://skymate.now.sh), a weather app that shows real-time weather of any location. You can see it on [github](https://github.com/rutikwankhade/SkyMate) here. 

![skymate.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1593019263355/da7CzgXKC.gif)

I started looking for APIs that I can use in my projects. Like APIs for food recipes, APIs for the latest news, and so on. And I found this great repository of [Public APIs](https://github.com/public-apis/public-apis)

![apispublic.png](https://cdn.hashnode.com/res/hashnode/image/upload/v1595261468286/DaDEvThY5.png)

It was like the ocean of APIs. But there was a problem. This repository was so big and full of APIs. And it was difficult to find in the whole readme file. But surprisingly it had its own API too. So to make my life a little easy and better I started making an app for this. I called it [**Apihouse**](https://apihouse.now.sh).


![house.gif](https://cdn.hashnode.com/res/hashnode/image/upload/v1593020198531/WylV4ws2k.gif)

It has a collection of all the public APIs and you can find them based on their categories in just one click.  
You can see it live [here](https://apihouse.now.sh). Also here is its [GitHub](https://github.com/rutikwankhade/Apihouse) repository.

I shared this on Twitter and Linkedin and I got a really good response from fellow developers.
With the help of a few feedbacks, I tried making it better and better. Most of the people found it very helpful and useful. I felt proud when someone bookmarked it and said I am using this for my next project.

#### 🏷 Lesson learned :


1.  Problems lead to great products. Always try to think about your problems first and how you can make your life easier with a product out of it.
2.  Build whatever you want to build for yourself. Someone might find it helpful. And even if not, You will.

I recently saw this tweet and I couldn't stop myself from sharing it. It sums up everything.

{% twitter 1274810753623547905 %}

 Here are a few resources that might help you.
- [Introduction to web APIs](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Introduction)
- [10: Working with data - p5.js Tutorial](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6a-SQiI4RtIwuOrLJGnel0r)
- [Working with Data and APIs in JavaScript](https://www.youtube.com/playlist?list=PLRqwX-V7Uu6YxDKpFzf_2D84p0cyk4T7X)
- [APIs for Beginners - How to use an API ](https://youtu.be/GZvSYJDk-us)

## Conclusion
APIs are used everywhere. And you can use them in your side projects the way you want. I hope now you won't struggle to look for ideas. 

I keep writing about the things I learned and applied. So you can connect with me on [Twitter](https://twitter.com/WankhadeRutik), [Github](https://github.com/rutikwankhade)  or [Linkedin](https://www.linkedin.com/in/rutik-wankhade). 

⚡ Happy learning!