BinderDex API

Quickstart

One key, one curl, a working call.

1. Create a key

Sign up for a free developer account, open API keys, and create a live key. Copy the secret now: it is shown once. Keep it on your server, never in a browser or mobile binary.

2. Make your first call

Code examplebash
curl 'https://api.binderdex.com/v1/cards?q=pikachu&limit=5' \
  -H "Authorization: Bearer $BINDERDEX_API_KEY"
Example card search responsejson
{
  "data": [
    {
      "game": "pokemon",
      "game_name": "Pokemon TCG",
      "id": "card_9f2c1b7a",
      "image_url": "https://assets.binderdex.com/cards/card_9f2c1b7a.png",
      "name": "Pikachu ex",
      "number": "025",
      "price": {
        "currency": "USD",
        "market_price_cents": 1299,
        "price_updated_at": "2026-09-18T04:00:00Z"
      },
      "rarity": "Double Rare",
      "set": {
        "id": "set_ssp",
        "name": "Surging Sparks"
      },
      "url": "https://binderdex.com/cards/pikachu-ex-ssp-025"
    }
  ],
  "next_cursor": null
}

3. Get one card's full detail

Use the id from a search result (or a card's slug) to get every tracked variant and condition, with 7-day and 30-day change:

Code examplebash
curl 'https://api.binderdex.com/v1/cards/card_9f2c1b7a' \
  -H "Authorization: Bearer $BINDERDEX_API_KEY"
Example card responsejson
{
  "game": "pokemon",
  "game_name": "Pokemon TCG",
  "id": "card_9f2c1b7a",
  "image_url": "https://assets.binderdex.com/cards/card_9f2c1b7a.png",
  "name": "Pikachu ex",
  "number": "025",
  "prices": [
    {
      "change_30d_cents": -50,
      "change_30d_percent": -3.71,
      "change_7d_cents": 10,
      "change_7d_percent": 0.78,
      "condition": "Near Mint",
      "currency": "USD",
      "market_price_cents": 1299,
      "price_updated_at": "2026-09-18T04:00:00Z",
      "variant": "Holofoil"
    }
  ],
  "rarity": "Double Rare",
  "set": {
    "id": "set_ssp",
    "name": "Surging Sparks"
  },
  "url": "https://binderdex.com/cards/pikachu-ex-ssp-025"
}

4. Price a whole list in one call

prices_batch accepts up to 200 ids depending on your plan and counts as a single request against your rate limit and quota:

Example batch request bodyjson
{
  "ids": [
    "card_9f2c1b7a",
    "pikachu-ex-ssp-025",
    "card_unknown"
  ]
}
Code examplebash
curl 'https://api.binderdex.com/v1/prices/batch' \
  -H "Authorization: Bearer $BINDERDEX_API_KEY" \
  -H 'Content-Type: application/json' \
  --data '{"ids":["card_9f2c1b7a","pikachu-ex-ssp-025","card_unknown"]}'
Example batch responsejson
{
  "data": [
    {
      "currency": "USD",
      "id": "card_9f2c1b7a",
      "market_price_cents": 1299,
      "price_updated_at": "2026-09-18T04:00:00Z"
    }
  ],
  "not_found": [
    "card_unknown"
  ]
}

Any id BinderDex does not recognize comes back in not_found, not as an error. Use integer cents for math; market_price_cents can be null when BinderDex has no current price.

5. Handle errors

A 401 means the key is missing or invalid. A 403 sandbox_key means you sent a sandbox key; create a live key in the console. A 429 means you hit the per-minute rate limit or the daily quota; read Retry-After before retrying. See rate limits and errors.

What's next

Read conventions for money, time, pagination, and null handling, or jump to the full reference. Building an AI agent or assistant integration? See Use with AI assistants.