Static JSON data for Pokémon, games, Pokédexes, box presets, and related PokéPC metadata.
The package also includes TypeScript helpers, Zod schemas, and an OpenAPI description for serving the dataset as a static JSON API.
pnpm add @pokepc/datasetExample imports:
import bulbasaur from '@pokepc/dataset/data/pokemon/bulbasaur'
import { pokemonSchema } from '@pokepc/dataset/lib/schemas'
const pokemon = pokemonSchema.parse(bulbasaur)JSON imports depend on your runtime or bundler configuration. In this repository, the raw files are
always available under data/.
The OpenAPI docs and static JSON API are hosted on GitHub Pages:
- API client (Swagger UI) https://pokepc.github.io/dataset/
- OpenAPI spec: https://pokepc.github.io/dataset/openapi.json
Apart from being able to use it in your code with validators or generators, when combined with AI agents, it unlocks many extras:
-
Tool calling / agent usage: The LLM can know what endpoints exist and how to call them.
-
Code generation: It can generate typed clients, fetch wrappers, SDK helpers, Zod schemas, etc.
-
Documentation Q&A: Users can ask natural-language questions and the LLM can map them to the right endpoint/schema.
-
Safer answers: Enums like language IDs, generation IDs, region IDs, ribbon IDs, etc. reduce hallucinations.
-
Dataset exploration: The LLM can inspect available resources without manually reading every file.
data/
abilities.json
games/
indices/
metadata/
pokedexes/
pokemon/
boxpresets/
classic/
modern/
Root JSON files are collection files. games/, pokedexes/, and pokemon/ contain one JSON file
per entity. indices/ controls the order of those per-entity files.
Requirements: Node.js 24 and pnpm 11.
pnpm install
pnpm format:check
pnpm typecheck
pnpm test
pnpm buildWhen changing data, run the tests before opening a PR. When changing the static API docs, run
pnpm build:pages and check the local Swagger UI with pnpm dev.
Build a GitHub Pages-ready artifact:
pnpm build:pagesThis writes:
dist-pages/
index.html
openapi.json
data/
Preview the Swagger UI locally:
pnpm devThe dev server runs at http://localhost:4173/ by default. Override the port with
PORT=4174 pnpm dev or node src/openapi/dev.ts --port=4174.
This dataset uses public data from:
Thanks to everyone who collects and maintains public Pokémon game data.