The popularity of Pokémon shows no signs of slowing and now spans generations of kids from the 90s into today. Many developers love these games and often create apps to display information and share data from the games.
This is the goal of Pokéapi, a free RESTful API made specifically for Pokémon game information. It is by far the largest database of free Pokémon info and the API is completely free to use.
Many developers have already created simple API wrappers to help you build apps quicker. They aren’t available in all programming languages but here are the most popular:
- PHP developers can use PokePHP
- Node developers can use Pokedex Promise
- Swift developers can use PokemonKit
I haven’t found any Java wrappers for Android or Ruby/Python wrappers for backend web work, but hopefully in the future other developers will be kind enough to build these libraries.
If you visit the documentation page you’ll find live code examples and everything you need to pull data from the site. This can range from specific Pokémon movesets to in-game berries, items, and even generations of games.
You can build an entire web app based on this API for pulling absolutely everything about every game from the 1st generation up the most current generation (and everything in-between).
At the moment, this API pulls over 100,000 requests per day which is pretty significant for a free resource. Since it is free, the API comes with limitations. Specifically, the total number of requests per resource are limited to 300 per day per IP address.
So if you run an API request for Pikachu it can only happen 300 times in one day. But you can call other API requests from the site and they all have a cap of 300. If you properly cache these requests you shouldn’t ever hit that limit!
It’s hard to tell if the site will remain free forever or if the creator will need to offer premium plans to cover the heavy load. But either way, Pokéapi is a brilliant project and it’s a fun way to learn API development.
Recommended Reading: The Basics of REST and RESTful API Development