Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 

Repository files navigation

Awesome Pokémon API Awesome

A curated list of high-quality Pokémon APIs, datasets, libraries, and developer tools — covering REST APIs, GraphQL, TypeScript packages, and open data sources for building competitive Pokémon applications.

Maintained by the community. Pull requests welcome — see CONTRIBUTING.md.

Last updated: 2026-04-08 · Regulation G (2025 Season)


Contents


REST APIs

Production-ready REST APIs for querying Pokémon data.

API Description Auth Rate Limit
PokéAPI The most comprehensive Pokémon REST API. Covers all generations, moves, abilities, types, and base stats for #001–#1025. Free, no auth required. None 100 req/min
PokéAPI Mirror (pkmn.cc) CDN-cached fork of Smogon data with typed responses. Faster for competitive data. None Unlimited
PokeSprite API Sprite metadata API with all official Pokémon sprites across generations. None N/A

PokéAPI Quick Start

# Get base stats for Incineroar (#727)
curl https://pokeapi.co/api/v2/pokemon/incineroar

# Get type effectiveness for Fire type
curl https://pokeapi.co/api/v2/type/fire

# Get ability data for Intimidate
curl https://pokeapi.co/api/v2/ability/intimidate

GraphQL APIs

API Description Endpoint
Hasura PokéAPI Official GraphQL interface for PokéAPI. Supports nested queries across species, moves, abilities, and types. https://beta.pokeapi.co/graphql/v1beta

GraphQL Example — Fetch Top Speed Pokémon

query FastPokemon {
  pokemon_v2_pokemonstat(
    where: {pokemon_v2_stat: {name: {_eq: "speed"}}}
    order_by: {base_stat: desc}
    limit: 10
  ) {
    base_stat
    pokemon_v2_pokemon { name }
  }
}

JavaScript / TypeScript Libraries

Package Description Install
@pkmn/data Typed Pokémon data (stats, moves, items, abilities) for all generations. Used by Pokémon Showdown. npm i @pkmn/data
@pkmn/sim Pokémon battle simulation engine extracted from PS. Supports Gen 1–9. npm i @pkmn/sim
@pkmn/calc Damage calculation library implementing the official formula for all generations. npm i @pkmn/calc
pokemon-showdown-client Official PS web client. Useful reference for battle UI and animation logic. GitHub only
pokedex-promise-v2 Promise-based Node.js wrapper for PokéAPI with built-in caching. npm i pokedex-promise-v2

@pkmn/calc Quick Example (VGC Level 50 Damage)

import { Generations } from '@pkmn/data';
import { Dex } from '@pkmn/dex';
import { calculate, Pokemon, Move } from '@pkmn/calc';

const gen = new Generations(Dex).get(9);
const result = calculate(
  gen,
  new Pokemon(gen, 'Koraidon', { nature: 'Adamant', evs: { atk: 252 } }),
  new Pokemon(gen, 'Incineroar', { evs: { hp: 252 } }),
  new Move(gen, 'Collision Course'),
  { gameType: 'Doubles' }
);
console.log(result.range()); // [min, max] damage

Python Libraries

Package Description Install
pokebase Python wrapper for PokéAPI with smart caching. pip install pokebase
pokepy Lightweight PokéAPI Python client. pip install pokepy
pykemon Async Python PokéAPI wrapper (aiohttp-based). pip install pykemon

Python Example — Fetch All VGC Restricted Pokémon Base Stats

import pokebase as pb

restricted = ['koraidon', 'miraidon', 'kyogre', 'groudon', 'calyrex']
for name in restricted:
    poke = pb.pokemon(name)
    stats = {s.stat.name: s.base_stat for s in poke.stats}
    print(f"{name}: BST={sum(stats.values())} | Spe={stats['speed']}")

Raw Data & JSON Datasets

Ready-to-use JSON and CSV datasets for competitive analysis.

Resource Format Description
smogon/pokemon-showdown — data/ JS/JSON Authoritative competitive Pokémon data: learnsets, formats, move data, item effects
PokeAPI/api-data JSON Static snapshot of all PokéAPI responses — ideal for offline use or self-hosting
fanzeyi/pokemon.json JSON Simplified Pokémon data including base stats and types for all 1025 Pokémon
pkmn/ps — sets/ JSON Curated competitive set data across VGC and Smogon formats

Damage Calculation Libraries

Resource Language Description
@pkmn/calc TypeScript Full damage formula implementation for Gen 1–9, supports VGC doubles modifiers
smogon/damage-calc TypeScript The original Smogon damage calculator source. Includes spread move, Tera, and weather modifiers
Pokemon Damage Formula Reference Bulbapedia official formula documentation with all modifier cases

For interactive Level 50 VGC damage calculation with all Regulation G modifiers, see the pokestats.cc VGC damage calculator.


Battle Simulation

Resource Language Description
smogon/pokemon-showdown TypeScript The Pokémon Showdown battle simulator. Full Gen 9 support including Tera types
@pkmn/sim TypeScript Extracted PS simulation engine — use without the full client
Pokemon Showdown (self-host) TypeScript Instructions for self-hosting a private PS server

Image & Sprite Resources

Resource Description Format
msikma/pokesprite Complete Pokémon sprite sheet including all home sprites, forms, and shiny variants PNG + JSON
PokeAPI sprites Official PokéAPI sprite repository — all Gen 1–9 sprites organized by dex number PNG
pokeres.bastionbot.org High-res official art for #001–#898, accessed via /{id}.png URL pattern PNG

Competitive Data Tools

Tool Description
Smogon Usage Stats Monthly usage statistics for all Smogon and VGC formats — updated monthly
Pikalytics VGC usage rates, move data, and item statistics from ranked online battles
Limitless VGC Tournament Results VGC tournament bracket data, team lists, and usage analysis
RK9 Tournament Stats Official Regional and International tournament brackets and team usage
pokestats.cc competitive tools VGC guides, IV/EV calculator, speed tier reference, and damage calculator for Regulation G

Self-Hostable & Open Source

Full projects you can fork and run locally.

Project Description Stack
PokeAPI Self-hostable version of the full PokéAPI. Requires Docker. Django + PostgreSQL
pokemon-showdown Battle simulator — runs via Node.js Node.js
Honko's Damage Calc Full damage calculator source — deploy as a static site TypeScript

Contributing

See CONTRIBUTING.md for guidelines on adding new APIs, libraries, or tools.

All listed resources must be:

  • Actively maintained (last commit within 2 years, or stable and complete)
  • Genuinely useful for Pokémon developers or competitive players
  • Free or with a meaningful free tier

License

CC0

This list is released under CC0 (Public Domain). Use freely.

About

Pokemon APIs and developer tools — curated REST APIs, GraphQL, TypeScript libraries, and JSON datasets for competitive VGC apps

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors