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 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...

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é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-images.s3.amazonaws.com/shared/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
  - url: graphql/pokeapi-graphql.md
    type: GraphQL
  baseURL: https://beta.pokeapi.co/graphql/v1beta
maintainers:
- FN: Kin Lane
  email: kin@apievangelist.com
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/vocabulary/pokeapi-vocabulary.yaml
  type: Vocabulary
  title: PokéAPI Vocabulary