Bulk API — Fetch Thousands of Card Prices at Once
Bulk Endpoints
Section titled “Bulk Endpoints”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.
Bulk Resolve — TCGPlayer IDs
Section titled “Bulk Resolve — TCGPlayer IDs”POST /v1/bulk/resolve/tcgplayerAuthentication: 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:
| Tier | Max Items | Credit per Item | Effective Daily Resolutions |
|---|---|---|---|
| Starter | 100 | 1.0 | 2,500 |
| Pro | 500 | 0.5 | 20,000 |
| Business | 1,000 | 0.1 | 500,000 |
Each request consumes ceil(items x multiplier) credits from your daily quota.
Example:
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 }}Bulk Resolve — Card Names
Section titled “Bulk Resolve — Card Names”POST /v1/bulk/resolve/nameAuthentication: 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:
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 exactlyhigh— Name is a prefix match (e.g., query “Charizard” matches “Charizard EX”)medium— Name is a substring match
Bulk Card Prices
Section titled “Bulk Card Prices”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:
| Parameter | Type | Description |
|---|---|---|
ids | string | Comma-separated card IDs (max 500) |
Example:
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" } ]}Bulk Card Data
Section titled “Bulk Card Data”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:
| Parameter | Type | Description |
|---|---|---|
ids | string | Comma-separated card IDs (max 100) |
Bulk Price History
Section titled “Bulk Price History”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:
| Parameter | Type | Description |
|---|---|---|
ids | string | Comma-separated card IDs (max 50) |
range | string | month, quarter, or year (default: month) |
Set Data Export
Section titled “Set Data Export”GET /v1/export/set/:idAuthentication: API key required (Business tier)
Download all card and price data for an entire set.
Query Parameters:
| Parameter | Type | Description |
|---|---|---|
format | string | json (default) or csv |
Example:
# Download as CSVcurl "https://api.tcgapi.dev/v1/export/set/1234?format=csv" \ -H "X-API-Key: YOUR_BUSINESS_KEY" \ -o obsidian-flames.csv