This API gives fake details of random people around the world like their name, contact number, email address, postal address, birthday, and even password. You can very well utilize this information to create something like shown on their website. To query API, go to this link. Check out the sample that I have created using this API.
Source Code: https://github.com/atul-mittal-07/Random-User
2. Github API
This API gives details about the Github profiles of users on Github and one of those details is their public repositories. You can very well inquire about any user on Github and can see their public repositories hosted on Github. Check this link. Below is the sample app that I created using this API. I have used Firebase authentication to have sign-in/sign-up functionality which is very much optional to use, but it’s always a good idea to be aware of the prominent tools available for such use cases.
Source Code: https://github.com/atul-mittal-07/github-finder
I have utilized the next three APIs in one single app, so, you can get a fair idea of how you can integrate multiple APIs together(Output of one API as an input to another API).
3. Google Places API
You can use this API to query any location(literally, any location) on the Earth and its corresponding attributes like its full name, address, latitude, longitude, photo reference, and many more. However, to use this API you’d need to register yourself to get the API Key so that Google can track where this API is being used over the internet and only the authenticated user is accessing it. Also, they generate this API as it provides a free trial for some period, and later on, they will charge to use this API. Check out this link to learn more about this API(always good to read official documentation).
Note: Please check the “Points to ponder” section, there are some challenges which you might face as I have also faced them while implementing it.
4. OpenWeather API
Once you have the latitude and longitude from the above API, you can utilize that geometrical coordinates to fetch real-time weather/pollution and many more details. Check out this link to learn more about this API. Again, you’d need an API key to get the required data from the server(again, money is the reason).
5. Google Photos API
Again, once you have photo reference as an output from Google Places API, you can utilize that output and inquire about this API to return images for that location. Please note that it’ll not give the URL for the image but it’ll return it as a BLOB response which you have to parse through the specialized HTTP methods to convert the response into URL and then use in your project.
Here comes the sample shot of the App that I created combining all these APIs, I can’t share the source code since this contains some of the private APIs which I have hardcoded in the code(I know this is the lame way of using APIs, but that was not the goal of creating that app). I just wanted the App to work on my local machine.
Please check the “Points to ponder” section for some tips on storing and sharing API keys over the internet.
Points to Ponder
1. While using any of the API keys, make sure you don’t share it publically, it can lead to access to some of the sensitive information which you may not want to expose. Check out this link on how you can manage your private API keys when creating any of such stuff.
2. When accessing Google Places API, you may encounter issue to enable CORS, in actuality, Google Places API is meant to be used in server-side(where you can pass some authorized certificates to the Google Server) and not for the client-side. So, you can very well by-pass your query to Google using some open source CORS resolver(which will cater as a mediator to your request and request to Google for you and return back the response). Check this link which you can use to make your Google Places API work.
3. If you’re based out of India, please make sure to create Billing Account in the Google Maps platform instead of the Google Cloud Platform to access Google Places API, otherwise, it won’t work.
There are tons of other open-source APIs available on the internet, one of which I know is Star Wars characters API and their superpowers as well(interesting !!!). I would love to know more open-source APIs which you are aware of. And in case, you want to reach out to me for any suggestion on this article/help to develop these applications, please drop me a comment down below I’d be happy to interact with you. Till then, stay safe, have your coffee(I prefer Green Tea though), and keep coding.