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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
q | string | Yes | — | Card name to search for |
game | string | No | all | Filter by game: pokemon, mtg, yugioh, lorcana, onepiece, swu, fab, pokemonjp |
set | string | No | all | Filter by set code (e.g., sv4, mh3) |
limit | integer | No | 20 | Results per page (max 100) |
offset | integer | No | 0 | Number 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
| Parameter | Type | Required | Description |
|---|---|---|---|
cardId | string | Yes | Card 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
cardId | string | Yes | — | Card ID |
period | string | No | 30d | Time 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
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
game | string | No | all | Filter by game |
limit | integer | No | 50 | Results per page (max 200) |
offset | integer | No | 0 | Number 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"]
}
| Field | Type | Required | Description |
|---|---|---|---|
ids | string[] | Yes | Array 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.