PokéAPI logo

PokéAPI

PokéAPI (pokeapi.co) is a free, open-source RESTful and GraphQL API serving comprehensive Pokémon data — including Pokémon species, abilities, moves, items, types, locations, evolution chains, encounters, berries, contests, games, and machines. Built as an educational tool licensed under BSD-3-Clause, it is community-funded via Open Collective and GitHub Sponsors, requires no authentication, and is hosted with a fair-use policy encouraging clients to cache responses locally. The API powers tutorials, fan apps, machine-learning experiments, and game tooling worldwide and consistently serves one billion-plus requests per month.

2 APIs 12 Capabilities 10 Features
PokémonOpen SourceOpen DataRESTGraphQLGamingEducationalCommunity

APIs

PokéAPI REST API v2

The PokéAPI v2 REST API exposes the canonical Pokémon dataset across 12 resource families and roughly 60 endpoints — Pokémon, Pokémon Species, Abilities, Moves, Types, Items, Be...

PokéAPI GraphQL API (Beta)

The PokéAPI GraphQL beta exposes the same Pokémon dataset as the REST API through a single endpoint with field-level selection, joins, and filtering. It is well suited to client...

Capabilities

PokéAPI — Berries

PokéAPI Berries capability. 6 read-only operations covering the berries resource family.

Run with Naftiko

PokéAPI — Contests

PokéAPI Contests capability. 4 read-only operations covering the contests resource family.

Run with Naftiko

PokéAPI — Encounters

PokéAPI Encounters capability. 6 read-only operations covering the encounters resource family.

Run with Naftiko

PokéAPI — Evolution

PokéAPI Evolution capability. 3 read-only operations covering the evolution resource family.

Run with Naftiko

PokéAPI — Games

PokéAPI Games capability. 8 read-only operations covering the games resource family.

Run with Naftiko

PokéAPI — Items

PokéAPI Items capability. 10 read-only operations covering the items resource family.

Run with Naftiko

PokéAPI — Locations

PokéAPI Locations capability. 8 read-only operations covering the locations resource family.

Run with Naftiko

PokéAPI — Machines

PokéAPI Machines capability. 2 read-only operations covering the machines resource family.

Run with Naftiko

PokéAPI — Moves

PokéAPI Moves capability. 14 read-only operations covering the moves resource family.

Run with Naftiko

PokéAPI — Pokémon

PokéAPI Pokémon capability. 23 read-only operations covering the pokémon resource family.

Run with Naftiko

PokéAPI — Utility

PokéAPI Utility capability. 2 read-only operations covering the utility resource family.

Run with Naftiko

Pokémon Research

Cross-resource Pokémon research workflow. Combines PokéAPI's Pokémon, species, ability, move, type, and evolution-chain endpoints into a single capability that lets an agent or ...

Run with Naftiko

Features

No Authentication

All endpoints are publicly accessible without API keys, tokens, or signup.

REST and GraphQL Interfaces

Choose REST under /api/v2 or GraphQL at beta.pokeapi.co/graphql/v1beta — same dataset, two access patterns.

Comprehensive Pokémon Dataset

Roughly 60 endpoints covering Pokémon, species, moves, abilities, items, berries, types, locations, encounters, evolution chains, contests, games, and machines.

Multi-Generation Coverage

Data spans every released generation of Pokémon games with version-specific and version-group-specific resource variants.

Multi-Language Localization

Names, flavor text, and descriptions are returned in multiple languages selectable via the Language utility resource.

Cacheable Resources

Resources are immutable game data — responses are highly cacheable, and the fair-use policy actively encourages clients to cache locally.

Pokémon Sprites Library

Companion sprites repo (PokeAPI/sprites) provides every official artwork, sprite, and shiny variant referenced by the REST responses.

Static Data Dump

PokeAPI/api-data publishes a static JSON snapshot of every resource for offline / build-time use cases.

Self-Hostable

Docker image, Kubernetes Kustomize manifests, and Firebase deployment scripts let teams run a private mirror.

Open Source (BSD-3-Clause)

Source code, sprites, GraphQL schema, and client wrappers are open source.

Use Cases

Pokédex Apps

Build mobile, web, or desktop Pokédex applications that render species, abilities, moves, and sprites.

Team Builders and Battle Simulators

Power competitive team-builder, damage-calculator, and battle-simulator tools with type matchups, base stats, and movesets.

Educational Coding Tutorials

PokéAPI is widely used in tutorials teaching REST, GraphQL, caching, pagination, and client-side data binding.

Machine Learning Datasets

Researchers use the static dataset to train and benchmark recommendation, embedding, and image-classification models on Pokémon entities.

AI Assistant Demos

A favorite first example for MCP servers, agent demos, and tool-use tutorials — the data is rich, recognizable, and unauthenticated.

Fan Wikis and Trading Apps

Provide reference data for fan-built wikis, trading marketplaces, and card-collection trackers.

Integrations

pokeapi-js-wrapper

Browser-friendly async JavaScript wrapper with built-in cache.

pokedex-promise-v2

Node.js / TypeScript promise-based client.

pokebase

Python 3 wrapper covering all v2 endpoints.

pokepy

Alternative Python wrapper for PokéAPI.

pokekotlin

Kotlin Multiplatform client for PokéAPI.

PokeAPI Sprites

Companion repo of sprite images served alongside REST responses.

Static API Data Dump

GitHub-hosted JSON snapshot for offline / build-time consumption.

Model Context Protocol Servers

Numerous community MCP servers wrap PokéAPI as agent tools (poke-mcp, pokeapi-mcp-server, MCP_Pokemon, pokedex-mcp, etc.).

Semantic Vocabularies

Pokeapi Context

54 classes · 133 properties

JSON-LD

API Governance Rules

PokéAPI API Rules

27 rules · 8 errors 11 warnings 8 info

SPECTRAL

Resources

🌐
Portal
Portal
🚀
GettingStarted
GettingStarted
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
BSD-3-Clause
License
💰
Open Collective (Donations)
Pricing
💰
GitHub Sponsors
Pricing
🔗
About
About
📜
Fair Use Policy
TermsOfService
💬
Slack Community
Support
👥
StackOverflow
StackOverflow
🔗
IssueTracker
IssueTracker
📄
ChangeLog
ChangeLog
📦
Docker Image
SDK
📦
Pokémon Sprites (Static Assets)
SDK
📦
Static API Data Dump + JSON Schema
SDK
🔗
PokéAPI Spectral Rules
SpectralRules
🔗
Pokémon Research
NaftikoCapability
🔗
PokéAPI Vocabulary
Vocabulary

Sources

Raw ↑
aid: pokeapi
name: PokéAPI
description: >-
  PokéAPI (pokeapi.co) is a free, open-source RESTful and GraphQL API serving comprehensive Pokémon data — including Pokémon species, abilities, moves, items, types, locations, evolution chains,
  encounters, berries, contests, games, and machines. Built as an educational tool licensed under BSD-3-Clause, it is community-funded via Open Collective and GitHub Sponsors, requires no authentication,
  and is hosted with a fair-use policy encouraging clients to cache responses locally. The API powers tutorials, fan apps, machine-learning experiments, and game tooling worldwide and consistently serves
  one billion-plus requests per month.
type: Index
position: Consumer
access: 3rd-Party
image: https://kinlane-productions.s3.amazonaws.com/apis-json/apis-json-logo.jpg
tags:
  - Pokémon
  - Open Source
  - Open Data
  - REST
  - GraphQL
  - Gaming
  - Educational
  - Community
created: '2026-05-30'
modified: '2026-05-30'
url: >-
  https://raw.githubusercontent.com/api-evangelist/pokeapi/refs/heads/main/apis.yml
specificationVersion: '0.19'
apis:
  - aid: pokeapi:pokeapi-rest
    name: PokéAPI REST API v2
    description: >-
      The PokéAPI v2 REST API exposes the canonical Pokémon dataset across 12 resource families and roughly 60 endpoints — Pokémon, Pokémon Species, Abilities, Moves, Types, Items, Berries, Locations,
      Evolution Chains, Encounters, Games (Generations / Pokédex / Versions / Version Groups), Contests, Machines, and Utility (Languages). Every endpoint is GET-only, returns JSON, and is reachable
      under https://pokeapi.co/api/v2/ without authentication.
    humanURL: 'https://pokeapi.co/docs/v2'
    tags:
    - Pokémon
    - REST
    - Open Data
    - Educational
    - Open Source
    properties:
    - url: https://pokeapi.co/docs/v2
      type: Documentation
    - url: https://pokeapi.co/docs/v2
      type: APIReference
    - url: https://raw.githubusercontent.com/api-evangelist/pokeapi/refs/heads/main/openapi/pokeapi-openapi.yml
      type: OpenAPI
    - url: https://pokeapi.co/docs/v2#fairuse
      type: TermsOfService
      title: Fair Use Policy
    - url: https://www.npmjs.com/package/pokeapi-js-wrapper
      type: SDK
      title: JavaScript Wrapper (pokeapi-js-wrapper)
    - url: https://www.npmjs.com/package/pokedex-promise-v2
      type: SDK
      title: Node.js Client (pokedex-promise-v2)
    - url: https://pypi.org/project/pokebase/
      type: SDK
      title: Python Wrapper (pokebase)
    - url: https://pypi.org/project/pokepy/
      type: SDK
      title: Python Wrapper (pokepy)
    - url: https://github.com/PokeAPI/pokekotlin
      type: SDK
      title: Kotlin Multiplatform Client (pokekotlin)
    baseURL: https://pokeapi.co/api/v2
  - aid: pokeapi:pokeapi-graphql
    name: PokéAPI GraphQL API (Beta)
    description: >-
      The PokéAPI GraphQL beta exposes the same Pokémon dataset as the REST API through a single endpoint with field-level selection, joins, and filtering. It is well suited to clients that want to
      cherry-pick fields across Pokémon, species, moves, and abilities in a single round trip.
    humanURL: 'https://pokeapi.co/docs/graphql'
    tags:
    - Pokémon
    - GraphQL
    - Open Data
    - Beta
    properties:
    - url: https://pokeapi.co/docs/graphql
      type: Documentation
    - url: https://beta.pokeapi.co/graphql/console/
      type: GettingStarted
      title: GraphQL Console
    - url: https://beta.pokeapi.co/graphql/v1beta
      type: Endpoint
      title: GraphQL Endpoint
    baseURL: https://beta.pokeapi.co/graphql/v1beta
maintainers:
  - FN: Kin Lane
    email: [email protected]
common:
  - url: https://pokeapi.co
    type: Portal
  - url: https://pokeapi.co/docs/v2
    type: GettingStarted
  - url: https://github.com/PokeAPI
    type: GitHubOrganization
  - url: https://github.com/PokeAPI/pokeapi
    type: GitHubRepository
  - url: https://github.com/PokeAPI/pokeapi/blob/master/LICENSE.md
    type: License
    title: BSD-3-Clause
  - url: https://opencollective.com/pokeapi
    type: Pricing
    title: Open Collective (Donations)
  - url: https://github.com/sponsors/PokeAPI
    type: Pricing
    title: GitHub Sponsors
  - url: https://pokeapi.co/about
    type: About
  - url: https://pokeapi.co/docs/v2#fairuse
    type: TermsOfService
    title: Fair Use Policy
  - url: https://pokeapi.slack.com
    type: Support
    title: Slack Community
  - url: https://stackoverflow.com/questions/tagged/pokeapi
    type: StackOverflow
  - url: https://github.com/PokeAPI/pokeapi/issues
    type: IssueTracker
  - url: https://github.com/PokeAPI/pokeapi/releases
    type: ChangeLog
  - url: https://hub.docker.com/r/pokeapi/pokeapi
    type: SDK
    title: Docker Image
  - url: https://github.com/PokeAPI/sprites
    type: SDK
    title: Pokémon Sprites (Static Assets)
  - url: https://github.com/PokeAPI/api-data
    type: SDK
    title: Static API Data Dump + JSON Schema
  - type: Features
    data:
    - name: No Authentication
      description: All endpoints are publicly accessible without API keys, tokens, or signup.
    - name: REST and GraphQL Interfaces
      description: Choose REST under /api/v2 or GraphQL at beta.pokeapi.co/graphql/v1beta — same dataset, two access patterns.
    - name: Comprehensive Pokémon Dataset
      description: Roughly 60 endpoints covering Pokémon, species, moves, abilities, items, berries, types, locations, encounters, evolution chains, contests, games, and machines.
    - name: Multi-Generation Coverage
      description: Data spans every released generation of Pokémon games with version-specific and version-group-specific resource variants.
    - name: Multi-Language Localization
      description: Names, flavor text, and descriptions are returned in multiple languages selectable via the Language utility resource.
    - name: Cacheable Resources
      description: Resources are immutable game data — responses are highly cacheable, and the fair-use policy actively encourages clients to cache locally.
    - name: Pokémon Sprites Library
      description: Companion sprites repo (PokeAPI/sprites) provides every official artwork, sprite, and shiny variant referenced by the REST responses.
    - name: Static Data Dump
      description: PokeAPI/api-data publishes a static JSON snapshot of every resource for offline / build-time use cases.
    - name: Self-Hostable
      description: Docker image, Kubernetes Kustomize manifests, and Firebase deployment scripts let teams run a private mirror.
    - name: Open Source (BSD-3-Clause)
      description: Source code, sprites, GraphQL schema, and client wrappers are open source.
  - type: UseCases
    data:
    - name: Pokédex Apps
      description: Build mobile, web, or desktop Pokédex applications that render species, abilities, moves, and sprites.
    - name: Team Builders and Battle Simulators
      description: Power competitive team-builder, damage-calculator, and battle-simulator tools with type matchups, base stats, and movesets.
    - name: Educational Coding Tutorials
      description: PokéAPI is widely used in tutorials teaching REST, GraphQL, caching, pagination, and client-side data binding.
    - name: Machine Learning Datasets
      description: Researchers use the static dataset to train and benchmark recommendation, embedding, and image-classification models on Pokémon entities.
    - name: AI Assistant Demos
      description: A favorite first example for MCP servers, agent demos, and tool-use tutorials — the data is rich, recognizable, and unauthenticated.
    - name: Fan Wikis and Trading Apps
      description: Provide reference data for fan-built wikis, trading marketplaces, and card-collection trackers.
  - type: Integrations
    data:
    - name: pokeapi-js-wrapper
      description: Browser-friendly async JavaScript wrapper with built-in cache.
    - name: pokedex-promise-v2
      description: Node.js / TypeScript promise-based client.
    - name: pokebase
      description: Python 3 wrapper covering all v2 endpoints.
    - name: pokepy
      description: Alternative Python wrapper for PokéAPI.
    - name: pokekotlin
      description: Kotlin Multiplatform client for PokéAPI.
    - name: PokeAPI Sprites
      description: Companion repo of sprite images served alongside REST responses.
    - name: Static API Data Dump
      description: GitHub-hosted JSON snapshot for offline / build-time consumption.
    - name: Model Context Protocol Servers
      description: Numerous community MCP servers wrap PokéAPI as agent tools (poke-mcp, pokeapi-mcp-server, MCP_Pokemon, pokedex-mcp, etc.).
  - type: Tools
    data:
    - name: pokeapi-mcp-server (npm)
      description: Community MCP server (Asthanaji05) exposing roughly 47 PokéAPI endpoints as MCP tools.
      url: https://www.npmjs.com/package/pokeapi-mcp-server
    - name: poke-mcp (NaveenBandarage)
      description: Reference MCP server connecting Claude Desktop, Continue, Cline, and other clients to PokéAPI via SSE transport.
      url: https://github.com/naveenbandarage/poke-mcp
    - name: poke-mcp (ChiragAgg5k)
      description: MCP server exposing stats, types, abilities, moves, and evolution chains as tools.
      url: https://github.com/chiragagg5k/poke-mcp
    - name: pokedex-mcp (hollanddd)
      description: MCP server exposing Pokémon data, type-effectiveness charts, and encounter locations.
      url: https://github.com/hollanddd/pokedex-mcp
    - name: Pokemon-MCP-Server (Sachin-crypto)
      description: MCP server exposing list-popular-Pokémon and tournament-squad-builder tools.
      url: https://github.com/Sachin-crypto/Pokemon-MCP-Server
    - name: pokemon-mcp-server (indroneelray)
      description: MCP server fetching Pokémon data via the official API.
      url: https://github.com/indroneelray/pokemon-mcp-server
    - name: poke-mcp (kaishin)
      description: Swift MCP wrapper around PokéAPI.
      url: https://github.com/kaishin/poke-mcp
    - name: poke_api_mcp_rb (katakyo)
      description: Ruby MCP server built on mcp_rb for retrieving Pokémon information.
      url: https://github.com/katakyo/poke_api_mcp_rb
  - url: https://raw.githubusercontent.com/api-evangelist/pokeapi/refs/heads/main/rules/pokeapi-rules.yml
    type: SpectralRules
    title: PokéAPI Spectral Rules
  - url: https://raw.githubusercontent.com/api-evangelist/pokeapi/refs/heads/main/capabilities/pokemon-research.yaml
    type: NaftikoCapability
    title: Pokémon Research
  - url: https://raw.githubusercontent.com/api-evangelist/pokeapi/refs/heads/main/vocabulary/pokeapi-vocabulary.yaml
    type: Vocabulary
    title: PokéAPI Vocabulary