tcgdex
python-sdk
Python

⚡️ TCGdex Python SDK for Pokémon TCG data | Zero config • Multi-language

Last updated Jun 24, 2026
24
Stars
11
Forks
2
Issues
0
Stars/day
Attention Score
70
Language breakdown
No language data available.
Files click to expand
README

TCGdex Main Image

Pypi Version Pypi Downloads Github stars Build Status Discord Link

TCGdex Python SDK

A fast, type-safe Python SDK for the TCGdex API. Query Pokémon Trading Card Game data easily. 🚀

from tcgdexsdk import TCGdex

Fetch a card in one line

card = await TCGdex().card.get("swsh3-136") card = TCGdex().card.getSync("swsh3-136") print(f"Found: {card.name} ({card.localId}/{card.set.cardCount.total})")

⚡️ Quick Install

pip install tcgdex-sdk

🚀 Features

  • Type-Safe: Full typing support for better IDE integration
  • Async/Await: Built for modern Python applications and compatible with synchronous operations
  • Zero Config: Works out of the box
  • Multi-Language: Support for English, French, German, Japanese, Chinese, and more
  • Rich Data: Access cards, sets, series, rarities, and more
  • Lightweight: Minimal dependencies (only dacite)

🎯 Quick Examples

Find Cards by Various Criteria

sdk = TCGdex("en")

Get the cards made by the illustrator

cards = await sdk.illustrator.get("5ban Graphics") cards = sdk.illustrator.getSync("5ban Graphics")

Get the data about the Sword & Shield serie by ID

series = await sdk.serie.get("swsh") series = sdk.serie.getSync("swsh")

Get all cards with 110 HP

hp_cards = await sdk.hp.get("110") hp_cards = sdk.hp.getSync("110")

List all available rarities

rarities = await sdk.rarity.list() rarities = sdk.rarity.listSync()

List all cards with the name being "Furret"

rarities = await sdk.card.list(Query().equal("name", "Furret")) rarities = sdk.card.listSync(Query().equal("name", "Furret"))

Working with Sets and Series

# Get set details
darkness_ablaze = await sdk.set.get("Darkness Ablaze")

darkness_ablaze = sdk.set.getSync("Darkness Ablaze")

print(f"Set: {darknessablaze.name} ({darknessablaze.cardCount.total} cards)")

Get series info

swsh = await sdk.serie.get("swsh")

swsh = sdk.serie.getSync("swsh")

print(f"Series: {swsh.name} ({len(swsh.sets)} sets)")

🛠 Available Endpoints

Card Data

sdk.card         # Core card data
sdk.rarity       # Card rarities
sdk.hp           # HP values
sdk.illustrator  # Card illustrators

Game Mechanics

sdk.type         # Pokémon types
sdk.energyType   # Energy types
sdk.retreat      # Retreat costs
sdk.stage        # Evolution stages

Card Details

sdk.variant        # Card variants
sdk.suffix         # Card suffixes
sdk.regulationMark # Regulation marks
sdk.dexId         # Pokédex IDs

Collections

sdk.set           # Card sets
sdk.serie         # Card series

🌐 Language Support

from tcgdexsdk import TCGdex, Language

Using string

sdk = TCGdex("en") # English sdk = TCGdex("fr") # French

Using enum (type-safe)

sdk = TCGdex(Language.EN) sdk = TCGdex(Language.FR)

After creating the instance you can change at any time the language

sdk.setLanguage(Language.FR)

or

sdk.setLanguage("fr")

full list of languages available here_

__

🤝 Contributing

We love contributions! Here's how:

  • 🍴 Fork it
  • 🌿 Create your feature branch (git checkout -b feature/amazing)
  • 🔧 Make your changes
  • 🚀 Push to the branch (git push origin feature/amazing)
  • 🎉 Open a PR

📘 Documentation

💬 Community & Support

📜 License

MIT © TCGdex

🔗 More in this category

© 2026 GitRepoTrend · tcgdex/python-sdk · Updated daily from GitHub