Side Projects That We Can Create With Free APIs
Tags: career, webdev, productivity, codenewbie
Published: 2020-05-08 02:45:35

**Subscribe to my email list now at http://jauyeung.net/subscribe/**

**Follow me on Twitter at https://twitter.com/AuMayeung**

**Many more articles at https://medium.com/@hohanga**

**Even more articles at http://thewebdev.info/**

In the software development world, practice makes perfect. Therefore, we should find as many ways to practice programming as possible. With free public APIs, we can practice programming by creating apps that use those APIs.

In this article, we’ll look at some practice project ideas that can use some of those APIs.

Email Address Validator
=======================

We can use the [MailboxValidator](https://www.mailboxvalidator.com/api-single-validation) API to validate the email address so that we can make sure that are sending our email to a valid email address.

It’s great for marketers and salespeople to clean up their email lists so that they aren’t sending stuff to defunct or invalid email addresses.

The API can be accessed by signing up for an API key.

Email Automation App
====================

We can write our own app to send emails by using the [Mailgun API](https://documentation.mailgun.com/en/latest/). It lets us send emails in batches to the email address of our choice.

Just make sure that we use it responsibly so that we aren’t sending our spam.

It has SDKs for many platforms like Python, Ruby, Perl, Java, Kotlin, Go, C#, Go, Node.js, and Luvit.

It can also be called from cURL directly.

It has a free tier so we can use it for practice and if we like it and want to use it for more things, we can pay for more access to the API.

The free tier according to this [webpage](https://help.mailgun.com/hc/en-us/articles/203068914-What-Are-the-Differences-Between-the-Free-and-Flex-Plans-) has the following:

*   send 5000 messages a month
*   send 300 messages a day from the sandbox domain
*   data retention for logs for a day
*   no custom domains
*   send up to 5 authorized recipients max

That’s definitely good enough if we’re only creating a practice app with it.

It also has APIs for email validation and API for sending more than a million emails a day.

Also, it has a deliverable service to improve deliverability.

Google Calendar App
===================

With the [Google Calendar](https://developers.google.com/google-apps/calendar/) API, we can create our programs to customize bring Google Calendar functionality to our own app.

We can use it to display, create and modify Google Calendar events.

Also, we can get push notifications, batch requests, and create and get reminders and notifications.

File Sharing App
================

We can use the [Box](https://developer.box.com/), [Dropbox](https://www.dropbox.com/developers), [Google Drive](https://developers.google.com/drive/), or [OneDrive](https://dev.onedrive.com/) APIs to upload and download files from those provides automatically.

They all use OAuth authentication, so we can practice using that. With these APIs, we can automate the upload and download of data the way we please.

Also, we can automatically share data with other people of our choice.

With the [Pastebin](https://pastebin.com/api/) API, we can upload text to Pastebin and share it with other people. All it takes is registering for a free API key then we’re set.

Cryptocurrency Apps
===================

There’re lots of cryptocurrency APIs to get various kinds of cryptocurrency information like exchange rates and prices of various cryptocurrencies.

Also, there are many APIs that are used for trading cryptocurrencies automatically.

This can be our opportunity to beat the market by using programs to help us trade faster than other people that don’t know how to program.

For instance, to get cryptocurrency information, there are the [Coinbase](https://developers.coinbase.com/), [CoinAPI](https://docs.coinapi.io/), and [CoinDesk](http://www.coindesk.com/api/) APIs. They all require an API key to get access to them.

If we want to write programs to trade cryptocurrency, we can use the [Bitfinex](https://docs.bitfinex.com/docs/getting-started), [Bitmex](https://www.bitmex.com/app/apiOverview), and [Bittrex](https://bittrex.com/Home/Api) APIs. They all require an API key to get access to them.

Real Currency Apps
==================

There are also many APIs for getting real currency data.

We can get exchange rates from the [Exchangeratesapi.io](https://exchangeratesapi.io/), [ExchangeRate-API](https://www.exchangerate-api.com/), [Czech National Bank](https://www.cnb.cz/cs/financni_trhy/devizovy_trh/kurzy_devizoveho_trhu/denni_kurz.xml), [Fixer.io](http://fixer.io/) and [Frankfurter](https://www.frankfurter.app/docs) APIs.

Most of them don’t need any authentication to get access to their data except the Frankfurter API, which requires an API key.

Data Validation Apps
====================

We can use data validation APIs to validate various kinds of data.

For instance, we can send email addresses, phone numbers, VAT numbers, and domain names to the [Cloudmersive Validate](https://cloudmersive.com/validate-api) API to validate them.

All we need is an API key to gain access to the API.

To check the language that a given piece of text is written in, we can use the [languagelayer](https://languagelayer.com/) API to check what language it’s written.

It requires no authentication for access.

Conclusion
==========

We can write practice apps to validate various kinds of data like email address and the language that something is written in with various data validation APIs.

Also, we can use free APIs to automate tasks like sending emails and updating our calendars.

Of course, the free version of those APIs aren’t going to very useful compared to the paid counterparts, but it’s still plenty good for using them for practice apps.