API Endpoints

Complete reference for all TCG Price Lookup API endpoints — search, card details, price history, sets, games, and batch lookups.


Base URL

https://api.tcgpricelookup.com/v1

All endpoints require the X-API-Key header. See authentication.

Search Cards

Search for cards by name across all supported games. Returns paginated results with pricing data.

GET /v1/search

Parameters

ParameterTypeRequiredDefaultDescription
qstringYesCard name to search for
gamestringNoallFilter by game: pokemon, mtg, yugioh, lorcana, onepiece, swu, fab, pokemonjp
setstringNoallFilter by set code (e.g., sv4, mh3)
limitintegerNo20Results per page (max 100)
offsetintegerNo0Number of results to skip

Example request

curl -H "X-API-Key: your-key" \
  "https://api.tcgpricelookup.com/v1/search?q=charizard&game=pokemon&limit=5"

Example response

{
  "data": [
    {
      "id": "pokemon-sv4-charizard-ex-006",
      "name": "Charizard ex",
      "game": "pokemon",
      "set": "Paradox Rift",
      "rarity": "Double Rare",
      "prices": {
        "market": 42.50,
        "conditions": {
          "near_mint": 42.50,
          "lightly_played": 38.25
        }
      }
    }
  ],
  "total": 47,
  "limit": 5,
  "offset": 0
}

Card Details

Get full pricing data for a specific card, including all conditions and graded values.

GET /v1/cards/{id}

Parameters

ParameterTypeRequiredDescription
cardIdstringYesCard ID (from search results)

Example request

curl -H "X-API-Key: your-key" \
  "https://api.tcgpricelookup.com/v1/cards/pokemon-sv4-charizard-ex-006"

Example response

{
  "data": {
    "id": "pokemon-sv4-charizard-ex-006",
    "name": "Charizard ex",
    "game": "pokemon",
    "set": "Paradox Rift",
    "setCode": "sv4",
    "number": "006",
    "rarity": "Double Rare",
    "image": "https://images.tcgpricelookup.com/pokemon/sv4/006.jpg",
    "prices": {
      "market": 42.50,
      "low": 35.00,
      "mid": 41.00,
      "high": 55.00,
      "conditions": {
        "near_mint": 42.50,
        "lightly_played": 38.25,
        "moderately_played": 34.00,
        "heavily_played": 29.75,
        "damaged": 21.25
      },
      "graded": {
        "psa_10": 125.00,
        "psa_9": 75.00,
        "bgs_9_5": 110.00,
        "cgc_9_5": 95.00
      }
    },
    "sources": ["tcgplayer", "ebay"],
    "updatedAt": "2026-04-10T12:00:00Z"
  }
}

Price History

Get historical price data for a card. Useful for tracking trends and building charts. Requires Trader plan or above.

GET /v1/cards/{id}/history

Parameters

ParameterTypeRequiredDefaultDescription
cardIdstringYesCard ID
periodstringNo30dTime period: 7d, 30d, 90d, 1y, all

Example request

curl -H "X-API-Key: your-key" \
  "https://api.tcgpricelookup.com/v1/cards/pokemon-sv4-charizard-ex-006/history?period=30d"

Example response

{
  "data": {
    "cardId": "pokemon-sv4-charizard-ex-006",
    "period": "30d",
    "history": [
      { "date": "2026-03-11", "market": 38.00, "low": 32.00, "high": 48.00 },
      { "date": "2026-03-12", "market": 39.50, "low": 33.00, "high": 49.00 },
      { "date": "2026-04-10", "market": 42.50, "low": 35.00, "high": 55.00 }
    ]
  }
}

Browse Sets

List all available card sets, optionally filtered by game.

GET /v1/sets

Parameters

ParameterTypeRequiredDefaultDescription
gamestringNoallFilter by game
limitintegerNo50Results per page (max 200)
offsetintegerNo0Number of results to skip

Example request

curl -H "X-API-Key: your-key" \
  "https://api.tcgpricelookup.com/v1/sets?game=pokemon&limit=3"

Example response

{
  "data": [
    {
      "code": "sv4",
      "name": "Paradox Rift",
      "game": "pokemon",
      "cardCount": 182,
      "releaseDate": "2023-11-03"
    },
    {
      "code": "sv3",
      "name": "Obsidian Flames",
      "game": "pokemon",
      "cardCount": 197,
      "releaseDate": "2023-08-11"
    }
  ],
  "total": 156,
  "limit": 3,
  "offset": 0
}

List Games

List all supported games with card counts and metadata.

GET /v1/games

Example request

curl -H "X-API-Key: your-key" \
  "https://api.tcgpricelookup.com/v1/games"

Example response

{
  "data": [
    { "id": "pokemon", "name": "Pokemon", "cardCount": 30000, "setCount": 156 },
    { "id": "mtg", "name": "Magic: The Gathering", "cardCount": 100000, "setCount": 320 },
    { "id": "yugioh", "name": "Yu-Gi-Oh!", "cardCount": 40000, "setCount": 280 },
    { "id": "lorcana", "name": "Disney Lorcana", "cardCount": 3000, "setCount": 6 },
    { "id": "onepiece", "name": "One Piece", "cardCount": 6000, "setCount": 12 },
    { "id": "swu", "name": "Star Wars: Unlimited", "cardCount": 2500, "setCount": 4 },
    { "id": "fab", "name": "Flesh and Blood", "cardCount": 8000, "setCount": 35 },
    { "id": "pokemonjp", "name": "Pokemon Japan", "cardCount": 20000, "setCount": 120 }
  ]
}

Batch Lookup

Look up multiple cards by ID in a single request. Much more efficient than individual requests.

POST /v1/cards/batch

Request body

{
  "ids": ["pokemon-sv4-charizard-ex-006", "mtg-mh3-flare-of-cultivation", "yugioh-lede-fiendsmith"]
}
FieldTypeRequiredDescription
idsstring[]YesArray of card IDs (max 20)

Example request

curl -X POST \
  -H "X-API-Key: your-key" \
  -H "Content-Type: application/json" \
  -d '{"ids":["pokemon-sv4-charizard-ex-006","mtg-mh3-flare-of-cultivation"]}' \
  "https://api.tcgpricelookup.com/v1/cards/batch"

Example response

{
  "data": [
    {
      "id": "pokemon-sv4-charizard-ex-006",
      "name": "Charizard ex",
      "game": "pokemon",
      "prices": { "market": 42.50 }
    },
    {
      "id": "mtg-mh3-flare-of-cultivation",
      "name": "Flare of Cultivation",
      "game": "mtg",
      "prices": { "market": 12.75 }
    }
  ]
}

Cards that don’t exist are omitted from the response (no error). Check the response length against your input to detect missing cards.