PUBLIC BETA

CardDex API docs

CardDex exposes live Pokemon TCG cards, sets, prices, and format data through a simple REST API. The docs below only cover the public beta surface that is available right now.

Base URL https://api.carddex.dev
Format application/json

Authentication

Most read endpoints work without a key. When you need higher limits or account-level routes, send your free API key in X-API-Key or as a bearer token.

HTTP
X-API-Key: pk_live_your_key_here
Authorization: Bearer pk_live_your_key_here

Rate limits

The public beta has one simple rule set for now.

Access Limit Notes
Public read access 30 req/min No key required for most read endpoints
Free API key 100 req/min Available through the beta signup flow

Responses include standard rate-limit headers:

HTTP
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99
X-RateLimit-Reset: 1712345678

Free key flow

The public site routes signup through the homepage modal, but the same flow is also available by API: POST /v1/auth/register.

curl
curl -X POST "https://api.carddex.dev/v1/auth/register"   -H "Content-Type: application/json"   -d '{"email":"[email protected]","name":"My App"}'
JSON
{
  "data": {
    "tier": "free",
    "rate_limit": 100,
    "api_key": "pk_live_..."
  }
}

Save the returned key immediately. CardDex does not expose a polished public reset or recovery flow in this beta.

Beta limitations

The public beta is meant to make the data surface usable first and the surrounding account tooling better over time.

Area Status
Core data endpoints Live and part of the beta launch surface
Account tooling Minimal during beta
Paid plans and webhooks Not part of the public beta launch
Feedback Email [email protected]

Core endpoints

Cards

GET /v1/cards List, filter, and sort cards
GET /v1/cards/{id} Fetch one card by ID
GET /v1/cards/random Return a random card
GET /v1/cards/{id}/prices Fetch current price data for one card
GET /v1/cards/rarities List distinct rarity values

Sets

GET /v1/sets List sets ordered by release date
GET /v1/sets/{id} Fetch one set by ID
GET /v1/sets/{id}/cards List cards in a set

Prices

GET /v1/prices/top Highest-valued cards
GET /v1/prices/trends Biggest recent movers

Meta

GET /v1/meta/formats Supported competitive formats
GET /v1/meta/{format}/top Top cards in a format

Cards query parameters

The cards listing endpoint is the main entry point for search, filters, and sorting.

Parameter Meaning
namePartial card name match
qGeneral search string
setFilter by set ID
typeFilter by Pokemon type
rarityFilter by rarity
supertypePokemon, Trainer, Energy, and similar groups
artistFilter by artist name
hp_gte / hp_lteFilter by HP range
page / pageSizePagination, max page size 250

Sort fields

name, number, hp, rarity, set, artist, release_date

Include values

attacks, abilities, weaknesses, resistances, images, translations, prices, rulings, synergies, meta, variants

curl
curl "https://api.carddex.dev/v1/cards?name=Charizard&include=prices,images&sort=release_date&order=desc&pageSize=10"

Error format

Errors follow a small consistent JSON shape:

JSON
{
  "error": {
    "code": "NOT_FOUND",
    "message": "Card not found"
  }
}
Status Meaning
400Validation error
401Missing or invalid API key
404Resource not found
429Rate limit exceeded
500Unexpected server error

Next step

Open the machine-readable spec, or claim a free key and start sending requests right away.