As a new developer, I find working with APIs intimidating. A lot of websites ask developers to register and get a key before using their APIs. For me, this is always a hassle. It can also sometimes be a security concern if my key shows up on the frontend.
The APIs listed here are easy to get started with. You don't need to register, and you don't need an API key. I've also included a few beginner-, intermediate-, and advanced-level project ideas for your portfolio.
For a more complete list of public APIs (some not needing auth), check out this repository of public APIs.
This API is used to access the Open Library's massive database of books. You can use it to get titles, authors, cover photos, and author photos. If you want to build a book app, this is the perfect API for you!
I was a little confused the first time I read the documentation. But, it's actually so easy to use! There's only two sections you need to pay attention to:
This section goes over how to format your URL to send requests to the API.
To send a general query, use this URL format:
If you want your search for a specific parameter, you can clearly define that parameter in your URL. For example, you can search for title only, author only, or title and author. If you're looking for a specific author, use this URL format:
If you want to use pictures in your app (cover or author photos), this section goes over how to do that.
To get a book cover photo, use this URL format:
To get an author photo, use this URL format:
This project lets users search for books. The user types a query into the search bar and hits "enter". The application then displays title, author, and cover photos. It's straightforward and simple, a beginner project to get new developers used to working with APIs.
I made this app just to practice working with APIs in React. I found that the returned JSON data isn't always neatly-structured, and this caused a lot of errors. Feel free to look at my code if you need some help.
If you've ever used the Libby app, this is a clone of that. This project lets users browse for books. If they find a book they like, they can borrow it. The book is stored in their profile, and the user can read it for 2 weeks. After that, they have to return it.
This project requires users to register for an account. You can even add an extra layer of complexity by letting users place holds on books.
I haven't made this app yet, but it's on my list of projects I want to build. I'll keep you updated on how it goes!
This is an e-commerce store for books. Users browse by subject. When they find something they like, they can add it to their cart. They will need to enter payment details to buy their book.
You can make this project even more challenging by having users sign-in to look at their past orders, and even cancel orders they no longer want.
This API lets you access 4,000+ trivia questions! You can return questions based on subject, difficulty, and type. This is a great API to use if you're making a game or study app.
I had a lot of fun working with this API. The website makes it so easy to get started. To generate an API URL, all you need to do is fill out the "API Helper" form, then "Generate API URL".
This is a multiple choice quiz. The program keeps track the user's score as they answer questions, and displays their score at the end. Like the "Book Search App" project, this is about helping you get used to working with APIs.
I built this project using a helpful React-TypeScript tutorial.
Create a trivia quiz game! Use the category and difficulty parameters to set the questions. You can limit the amount of time a person has to answer a question by setting a timer. Also, make this game more interactive by having players submit their answers. Keep track of each person's score and announce a winner at the end!
This is a website for students to log in and study. They can browse by category and find practice quizzes. Their graded quizzes are stored on their profile.
There are a lot of good public currency conversion APIs. But, this is my favorite because of it's simplicity. The returned JSON data is organized and easy to work with.
This is the easiest API on this list to work with, because the link is all you need to get started. There's nothing else you have to do!
Pick two currencies and create an app that converts between them. This could be a stand-alone project, or you could add it to a bigger project.
Maybe you could build a tourist site and have a currency conversion calculator in the sidebar.
This app allows users to compare any currencies. Users pick currencies from a dropdown, and the app does the calculations for them.
If you need help getting started with this project, feel free to look at my code.
This is a basic e-commerce store, with a twist. The user can pick their country from a dropdown list, and the app automatically converts all prices to the right currency.
Do you have any project ideas or open APIs you want to share?