Pokémon TCG API

The Pokémon TCG API is a free, community-run REST API created and maintained by Andrew Backes that serves Pokémon Trading Card Game data - more than 20,000 cards across 170+ sets, from Base Set onward. Every card carries full gameplay data (attacks, abilities, weaknesses, resistances, retreat costs), format legalities, high-resolution card images, and daily-updated market prices from TCGplayer and Cardmarket. A Lucene-like query syntax supports keyword, phrase, wildcard, exact, range, and nested-field searches across every field. The API works without authentication at a reduced rate limit; a free API key from the developer portal, sent in the X-Api-Key header, raises the limits. Official SDKs cover Python, Ruby, JavaScript, TypeScript, C#, Kotlin, PHP, Go, Dart, and Elixir.

3 APIs 0 Features
PokemonTrading CardsTCGGamingCard GamesCollectiblesCard Prices

APIs

Pokémon TCG Cards API

Search and retrieve individual Pokémon, Trainer, and Energy cards. Each card includes gameplay data (HP, attacks, abilities, weaknesses, resistances, retreat cost), rarity, arti...

Pokémon TCG Sets API

Search and retrieve trading card game sets (expansions) - Base Set through the latest series - with printed and total card counts, series grouping, release dates, Pokémon TCG On...

Pokémon TCG Metadata API

The controlled vocabularies used across the card catalog - the eleven energy types (Fire, Water, Grass, Lightning, and the rest), forty card subtypes (Basic, Stage 1, EX, GX, V,...

Collections

Pricing Plans

Rate Limits

Pokemon Tcg Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrganization
GitHubOrganization
🌐
PortalSignup
PortalSignup
📦
SDKs
SDKs
🔗
RateLimitsDocumentation
RateLimitsDocumentation
🔑
Authentication
Authentication
🔗
Errors
Errors
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Pokémon TCG API
  version: '2.0'
request:
  auth:
    type: apikey
    apikey:
      key: X-Api-Key
      value: '{{apiKey}}'
      placement: header
items:
- info:
    name: Cards
    type: folder
  items:
  - info:
      name: Search cards.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/cards
      params:
      - name: q
        value: name:charizard subtypes:mega
        type: query
        description: Lucene-like search query. Every card field is searchable, including nested fields (set.id:sm1, legalities.standard:banned),
          wildcards (name:char*), exact match (!name:charizard), and ranges (hp:[150 TO *]).
      - name: page
        value: '1'
        type: query
        description: The page of data to access.
      - name: pageSize
        value: '250'
        type: query
        description: Maximum cards to return (default and max 250).
      - name: orderBy
        value: -set.releaseDate
        type: query
        description: Field(s) to order results by; prefix with - for descending.
      - name: select
        value: ''
        type: query
        description: Comma delimited list of fields to return (e.g. id,name,rarity).
    docs: Search for one or many cards given a Lucene-like search query. Returns paginated card objects with attacks, abilities,
      legalities, images, and TCGplayer/Cardmarket prices.
  - info:
      name: Get a card.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/cards/:id
      params:
      - name: id
        value: xy1-1
        type: path
        description: The ID of the card (set ID plus card number, e.g. xy1-1).
    docs: Fetch the details of a single card by its ID.
- info:
    name: Sets
    type: folder
  items:
  - info:
      name: Search sets.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/sets
      params:
      - name: q
        value: legalities.standard:legal
        type: query
        description: Same Lucene-like query syntax as card search.
      - name: orderBy
        value: -releaseDate
        type: query
        description: Newest sets first.
    docs: Search for one or many sets. Returns set objects with card counts, series, release dates, legalities, PTCGO codes,
      and symbol/logo images.
  - info:
      name: Get a set.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/sets/:id
      params:
      - name: id
        value: base1
        type: path
        description: The ID of the set (e.g. base1, swsh1).
    docs: Fetch the details of a single set by its ID.
- info:
    name: Metadata
    type: folder
  items:
  - info:
      name: Get types.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/types
    docs: Returns all energy types (Colorless, Darkness, Dragon, Fairy, Fighting, Fire, Grass, Lightning, Metal, Psychic,
      Water).
  - info:
      name: Get subtypes.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/subtypes
    docs: Returns all card subtypes (Basic, Stage 1, Stage 2, EX, GX, V, VMAX, VSTAR, MEGA, TAG TEAM, Item, Supporter, Stadium,
      and more).
  - info:
      name: Get supertypes.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/supertypes
    docs: Returns all card supertypes (Energy, Pokémon, Trainer).
  - info:
      name: Get rarities.
      type: http
    http:
      method: GET
      url: https://api.pokemontcg.io/v2/rarities
    docs: Returns all card rarities (Common, Uncommon, Rare, Rare Holo, Ultra Rare, Illustration Rare, Special Illustration
      Rare, and more).