Skip to content

Bulk API — Fetch Thousands of Card Prices at Once

Bulk endpoints let you fetch data for multiple cards in a single request. Bulk resolve endpoints are available from the Starter tier; other bulk endpoints require Pro or Business.

POST /v1/bulk/resolve/tcgplayer

Authentication: API key required (Starter tier or higher)

Resolve many TCGPlayer product IDs to card data + prices in a single request. Ideal for CSV imports where rows contain TCGPlayer IDs.

Request Body:

{
"ids": [12345, 67890, 11111]
}

Tier Limits & Credits:

TierMax ItemsCredit per ItemEffective Daily Resolutions
Starter1001.02,500
Pro5000.520,000
Business1,0000.1500,000

Each request consumes ceil(items x multiplier) credits from your daily quota.

Example:

Terminal window
curl -X POST "https://api.tcgapi.dev/v1/bulk/resolve/tcgplayer" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"ids": [187172, 187171, 999999999]}'

Response:

{
"data": {
"resolved": [
{
"tcgplayer_id": 187172,
"card": {
"id": 12345,
"name": "Full Power Broly, Resonant Evolution",
"tcgplayer_id": 187172,
"game_name": "Dragon Ball Super: Masters",
"set_name": "Galactic Battle",
"image_url": "https://product-images.tcgplayer.com/..."
},
"prices": [
{ "printing": "Normal", "market_price": 0.25, "low_price": 0.15 }
]
}
],
"not_found": [999999999]
},
"meta": {
"total_requested": 3,
"total_resolved": 2,
"credits_consumed": 2
}
}
POST /v1/bulk/resolve/name

Authentication: API key required (Starter tier or higher)

Resolve card names to best-match card data + prices. Supports optional game and set slug hints to narrow results. Returns a confidence level and up to 3 alternatives for ambiguous matches.

Request Body:

{
"items": [
{ "name": "Charizard ex", "game": "pokemon", "set": "obsidian-flames" },
{ "name": "Black Lotus", "game": "magic" },
{ "name": "Some Unknown Card" }
]
}

Tier Limits & Credits: Same as TCGPlayer ID resolve (see table above).

Example:

Terminal window
curl -X POST "https://api.tcgapi.dev/v1/bulk/resolve/name" \
-H "X-API-Key: YOUR_KEY" \
-H "Content-Type: application/json" \
-d '{"items": [{"name": "Charizard ex", "game": "pokemon"}]}'

Response:

{
"data": {
"results": [
{
"query": { "name": "Charizard ex", "game": "pokemon" },
"match": {
"card": { "id": 456, "name": "Charizard EX", "tcgplayer_id": 789, "..." : "..." },
"prices": [{ "printing": "Normal", "market_price": 24.99 }],
"confidence": "exact"
},
"alternatives": [
{ "id": 457, "name": "Charizard ex (Full Art)", "..." : "..." }
]
}
],
"unmatched": [
{ "name": "Some Unknown Card", "reason": "no results" }
]
},
"meta": {
"total_requested": 3,
"total_matched": 2,
"credits_consumed": 2
}
}

Confidence Levels:

  • exact — Name matches exactly
  • high — Name is a prefix match (e.g., query “Charizard” matches “Charizard EX”)
  • medium — Name is a substring match
GET /v1/bulk/prices?ids=1,2,3,...

Authentication: API key required (Pro tier)

Fetch prices for up to 500 cards in one request.

Query Parameters:

ParameterTypeDescription
idsstringComma-separated card IDs (max 500)

Example:

Terminal window
curl "https://api.tcgapi.dev/v1/bulk/prices?ids=12345,12346,12347" \
-H "X-API-Key: YOUR_PRO_KEY"

Response:

{
"data": [
{
"card_id": 12345,
"market_price": 24.99,
"low_price": 19.50,
"foil_market_price": null,
"price_change_24h": 2.15,
"last_updated_at": "2026-02-19T07:00:00.000Z"
},
{
"card_id": 12346,
"market_price": 1.50,
"low_price": 0.99,
"foil_market_price": 3.25,
"price_change_24h": -0.50,
"last_updated_at": "2026-02-19T07:00:00.000Z"
}
]
}
GET /v1/bulk/cards?ids=1,2,3,...

Authentication: API key required (Pro tier)

Fetch full card data for up to 100 cards in one request.

Query Parameters:

ParameterTypeDescription
idsstringComma-separated card IDs (max 100)
GET /v1/bulk/history?ids=1,2,3,...

Authentication: API key required (Business tier)

Fetch price history for up to 50 cards in one request.

Query Parameters:

ParameterTypeDescription
idsstringComma-separated card IDs (max 50)
rangestringmonth, quarter, or year (default: month)
GET /v1/export/set/:id

Authentication: API key required (Business tier)

Download all card and price data for an entire set.

Query Parameters:

ParameterTypeDescription
formatstringjson (default) or csv

Example:

Terminal window
# Download as CSV
curl "https://api.tcgapi.dev/v1/export/set/1234?format=csv" \
-H "X-API-Key: YOUR_BUSINESS_KEY" \
-o obsidian-flames.csv