npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

pokemon-tcg-pocket-database

v2.5.1

Published

Pokemon TCG Pocket complete cards and sets JSON database

Downloads

868

Readme

Pokemon Trading Card Game Pocket Cards Database

npm version

You’re consulting the v2 of this dataset. If you wish to see older version of this README, please refer to the v1 branch. Please refer to the changelog for the migration guide.

Overview

This npm package provides a database of Pokemon Trading Card Game Pocket cards and sets (Pokemon TCG Pocket). It includes multiples JSON files:

  • cards.json which contains basic informations about the cards,
  • cards.extra.json which contains detailed informations about the cards,
  • cards.min.json which contains basic informations about the cards, but minified to save bandwidth (~25% smaller),
  • cards.no-image.min.json which contains basic informations about the cards without image name (~50% smaller),
  • sets.json which contains all sets grouped by Series (A, B, …),
  • rarities.json for informations about rarity codes and cost,
  • pullRates.json for informations with all statistics about the pull rates of the cards.

Cards are also available as sets separated JSON files in cards/ folder (e.g. dist/cards/A1a.json or dist/cards/A1a.min.json).

Installation

To install the package, use the following command:

npm install -D pokemon-tcg-pocket-database

Or you can using it as an API :

GitHub API

Latest version :

https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards.min.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards.extra.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards.no-image.min.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/sets.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/rarities.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/pullRates.json

For a specific set, like B1a :

https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards/B1a.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards/B1a.min.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/main/dist/cards/B1a.no-image.min.json

With a specific version number, like 1.3.0 (see Releases page) :

https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/refs/tags/1.3.0/dist/cards.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/refs/tags/1.3.0/dist/sets.json
https://raw.githubusercontent.com/flibustier/pokemon-tcg-pocket-database/refs/tags/1.3.0/dist/rarity.json

JSDelivr

To avoid rate limits, you can use the JSDelivr CDN :

https://cdn.jsdelivr.net/npm/pokemon-tcg-pocket-database/dist/cards.json

Or with specific version number, like 1.14.0 :

https://cdn.jsdelivr.net/npm/[email protected]/dist/cards.json

Usage

Importing the Database

You can import the database into your project using the following code:

import sets from "pokemon-tcg-pocket-database/dist/sets.json";
import cards from "pokemon-tcg-pocket-database/dist/cards.json";
import rarities from "pokemon-tcg-pocket-database/dist/rarities.json";

Accessing the Data

Cards

The cards.json file contains an array of card objects, each with the following properties:

  • set: The set code of the card.
  • number: The card number within the set.
  • name: English name of the card.
  • rarity: The rarity code of the card (see rarities.json for labels).
  • image: The name of the card image file (more details in images).
  • packs: An array of packs where the card can be found.

Cards Extra

The cards.extra.json file contains an array of card objects, each with the following properties:

  • set: The set code of the card.
  • number: The card number within the set.
  • name: English name of the card.
  • rarity: The rarity code of the card (see rarities.json for labels).
  • image: The name of the card image file (more details in images).
  • element: The element type of the card (e.g., "fire", "water", "grass", "lightning", "psychic", "fighting", "darkness", "metal", "fairy", "dragon", "colorless").
  • type: The type of the card (e.g., "pokemon", "trainer", "energy").
  • stage: The stage of the card (e.g., "basic", "stage1", "stage2", "ex", "mega").
  • health: The health points of the card (if applicable).
  • retreatCost: The retreat cost of the card (if applicable).
  • weakness: The weakness of the card (if applicable).
  • goodWith: When supported, an array of elements that the card is good with (ex. "grass").

Rarities

The file rarities.json contains :

  • label (see bellow),
  • image: The image name of the rarity illustration (like "diamond.webp"),
  • count: Number of times the image is repeated,
  • group: Helper to group rarities (ex. "Diamond" category),
  • tradeable: true or false, if trade is allowed for this rarity,
  • tradePrice: Price in shine dust for trading this rarity,
  • points: Booster points required to craft this card from the booster shop.

Rarity labels are as follows :

  • C: Common,
  • U: Uncommon,
  • R: Rare,
  • RR: Double Rare,
  • SR: Super Rare,
  • AR: Art Rare,
  • SAR: Special Art Rare,
  • IM: Immersive Rare,
  • UR: Crown Rare,

Sets

The file sets.json is not an array, but an object with Series names as keys, and arrays of sets as values :

{
  "A": [...],
  "B": [...]
}

If you want a flat array of sets, you can use Object.values(sets).flat() in JavaScript.

Each set object contains :

  • code: Set code (like "A1"),
  • releaseDate: Release date of the set,
  • count: Number of cards in the set,
  • name: Set name in different languages (Object with language codes as keys, Names as values),
  • packs: List of packs in the set (Array of strings).

Example

Here is an example of a card object (cards.json):

{
  "set": "A1",
  "number": 1,
  "rarity": "C",
  "image": "cPK_10_000010_00_FUSHIGIDANE_C.webp",
  "name": "Bulbasaur",
  "packs": ["Mewtwo"]
}

Here is an example of a card extra object (cards.extra.json):

{
  "set": "PROMO-B",
  "number": 11,
  "name": "Eevee",
  "rarity": "R",
  "image": "cPK_90_012660_00_EIEVUI_R.webp",
  "element": "colorless",
  "type": "pokemon",
  "stage": "basic",
  "health": 50,
  "retreatCost": 1,
  "weakness": "fire"
}

Here is an example of a set object (sets.json):

{
  "code": "A1",
  "releaseDate": "2024-10-30",
  "count": 286,
  "name": {
    "en": "Genetic Apex",
    "fr": "Puissance Génétique",
    "de": "Unschlagbare Gene",
    "zh": "最強的基因",
    "pt": "Dominação Genética",
    "es": "Genes Formidables",
    "it": "Geni Supremi",
    "ja": "最強の遺伝子",
    "ko": "최강의유전자"
  },
  "packs": ["Charizard", "Mewtwo", "Pikachu"]
}

Images

If you’re looking for images, you can find them here or in latest release.

Since 2.1.0, you can also use the directory cards-by-set which contains images renamed as predictable names, group by set directory :

cards-by-set/A1/1.webp
...
cards-by-set/B2a/23.webp

To calculate the path, you can simply do cards-by-set/${card.set}/${card.number}.webp.

Roadmap

  • [ ] Add German language (de_DE)
  • [ ] Add Spanish language (es_ES)
  • [ ] Add French language (fr_FR)
  • [ ] Add Italian language (it_IT)
  • [ ] Add Japanese language (ja_JP)
  • [ ] Add Korean language (ko_KR)
  • [ ] Add Portuguese language (pt_BR)
  • [ ] Add Chinese language (zh_TW)

Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or submit a pull request.