Skip to main content

CardShowData Python SDK

Official Python client for the CardShowData TCG pricing API.

Install

pip install cardshowdata

Quick Start

from cardshowdata import CardShowData

client = CardShowData(api_key="csd_live_...")

# Get a card by pretty ID
card = client.cards.get("pk_bs_004_holofoil")
print(card.name)  # "Charizard"
print(card.image)  # "https://images.cardshowdata.com/..."

# Search cards
page = client.cards.search(tcg="pk", q="name:charizard")
for card in page.data:
    print(f"{card.name} — {card.expansion.name}")

# v4 pricing — variants[].raw[] keyed by (condition, currency)
price = client.pricing.get("aaaa-bbbb-cccc-dddd")
for variant in price.variants:
    for row in variant.raw:                       # row = RawPriceRow
        print(row.condition, row.currency,        # "NM" "USD"
              row.reference_prices.market_cents)  # 12500
        # Per-vertical recommended sell prices
        if row.recommended_sell.online:
            print("online:", row.recommended_sell.online.price_cents)
        if row.recommended_sell.show:
            print("show:", row.recommended_sell.show.price_cents)
        if row.recommended_sell.lcs:
            print("lcs:", row.recommended_sell.lcs.price_cents)

# Per-grader graded data (population, listings, recent sales)
for grader_slug, block in price.variants[0].graded.items():
    if block.population:
        print(grader_slug, "total pop:", block.population.total)

# Bulk pricing
prices = client.pricing.bulk(["uuid1", "uuid2", "uuid3"])

# Browse the catalog
tcgs = client.catalog.list_tcgs()
sets = client.catalog.list_sets("pk")

Async

from cardshowdata import AsyncCardShowData

async with AsyncCardShowData(api_key="csd_live_...") as client:
    card = await client.cards.get("pk_bs_004_holofoil")
    async for product in client.catalog.list_products_all("pk"):
        print(product.product_name)

Auto-Pagination

Endpoints with pagination have _all() methods that automatically fetch every page:

# Offset-paginated (cards)
for card in client.cards.search_all(tcg="pk", q="name:pikachu"):
    print(card.name)

# Cursor-paginated (catalog products, pricing changes)
for product in client.catalog.list_products_all("pk"):
    print(product.pretty_id)

for change in client.pricing.changes_all(since="2026-04-01T00:00:00Z"):
    print(f"{change.pretty_id}: {change.pct_change}%")

Resources

Resource Methods
client.cards get(), search(), search_all(), list_by_expansion(), get_ebay_sales()
client.pricing get(), bulk(), history(), changes(), changes_all()
client.catalog list_tcgs(), list_sets(), get_taxonomy(), list_products(), list_products_all(), export_csv(), resolve(), search()
client.grading get(), history(), changes(), changes_all()
client.lifecycle get()
client.usage get()
client.sales submit(), submit_batch(), submit_csv()
client.feedback submit()
client.onboarding quickstart()

Error Handling

from cardshowdata import NotFoundError, RateLimitError

try:
    card = client.cards.get("nonexistent")
except NotFoundError:
    print("Card not found")
except RateLimitError as e:
    print(f"Rate limited — retry after {e.retry_after}s")

Errors: AuthenticationError (401), PermissionError (403), NotFoundError (404), RateLimitError (429), ApiError (5xx).

Configuration

client = CardShowData(
    api_key="csd_live_...",                        # or set CSD_API_KEY env var
    base_url="https://api.cardshowdata.com",       # default
    timeout=30,                                     # seconds
    max_retries=3,                                  # auto-retry on 429/5xx
)

Rate limit info is available after any request:

print(client.rate_limit.remaining)  # requests left this minute

Requirements

  • Python 3.10+
  • httpx 0.27+

Metadata

Release files for cardshowdata 4.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cardshowdata 4.0.2
File Size Uploaded Provenance Actions
cardshowdata-4.0.2.tar.gz 38.5 kB Without provenance Details for cardshowdata-4.0.2.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for cardshowdata 4.0.2
File Interpreter ABI Platform Actions
cardshowdata-4.0.2-py3-none-any.whl Python 3 none any Details for cardshowdata-4.0.2-py3-none-any.whl

Total release size: 63.7 kB

Release files / cardshowdata-4.0.2.tar.gz

Download URL cardshowdata-4.0.2.tar.gz
Size 38.5 kB
Tags Source
SHA-256 checksum
How to use checksums
cd042a81e90ad725d40dcc8a4f00a737dfb3cde89283222d51aa207082792038
BLAKE2b-256 checksum
How to use checksums
920898f6e73dd76bac5b777dc8c8416248d1d6726d243969466642e0a997846c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / cardshowdata-4.0.2-py3-none-any.whl

Download URL cardshowdata-4.0.2-py3-none-any.whl
Size 25.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e48d686ec8a967b084a21d7c1065a42da7499236e37e7897c53b938bd2996ba6
BLAKE2b-256 checksum
How to use checksums
e95c969fe77743c73de3ff597f84c0620ac98f4e20399618731a0fae103ca584
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Security for cardshowdata 4.0.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page