{"uid":"cap_IjA8_SfkBsmyetLlLz-mU","slug":"tcg-api-bulk-condition-prices-caf16795","name":"TCG API Bulk Condition Prices","description":"Bulk per-condition prices (Near Mint, Lightly Played, Moderately Played, Heavily Played, Damaged) for up to 500 trading cards in one request — price entire Pokemon, Magic: The Gathering, Yu-Gi-Oh, or Lorcana collections and store inventories by condition.","url":"https://api.tcgapi.dev/v1/bulk/conditions","method":"POST","headers":{},"bodySchema":null,"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.05","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.05/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.05","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_GqVlQ-6xpEk9AsCsaFYtA","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.05","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns per-condition prices (Near Mint, Lightly Played, Moderately Played, Heavily Played, Damaged) for up to 500 trading cards in a single bulk request.","exampleAgentPrompt":"Can you pull condition-based prices — Near Mint through Damaged — for all 300 cards in my Magic: The Gathering inventory list? I have their TCGPlayer product IDs and need the full breakdown so I can price them for my store.","exampleUseCases":[{"title":"LGS inventory condition pricing","prompt":"I run a local game store and have about 450 cards I want to price for resale — can you get me the Near Mint, Lightly Played, Moderately Played, Heavily Played, and Damaged prices for all of them using their TCGPlayer IDs?"},{"title":"Pokemon collection bulk valuation","prompt":"I'm selling my Pokemon collection and want to know what each card is worth in every condition so buyers can pick what grade they want — can you price all 200 cards by condition at once?"},{"title":"Buylist pricing for card shop","prompt":"I need to build a buylist for my shop — can you get me the current market prices for each condition (NM, LP, MP, HP, Damaged) for these 350 Yu-Gi-Oh cards so I can set my buy prices at a percentage of market?"}],"resultDescription":"A JSON object containing per-condition prices (Near Mint, Lightly Played, Moderately Played, Heavily Played, Damaged) for each requested card, identified by TCGPlayer product ID, covering up to 500 cards per request.","failureModes":["Request exceeds 500 card limit — API returns an error indicating batch size exceeded","Invalid or unrecognized TCGPlayer product IDs — missing or null prices returned for those entries","Payment failure (x402) — request rejected if USDC payment of $0.05 not completed","Cards with no condition pricing data on TCGPlayer — fields returned as null or zero","Rate limiting if too many requests are made in rapid succession"],"whenToPreferThis":"Use this endpoint when you need condition-graded prices for a large batch of cards (up to 500) in one call, rather than making individual per-card condition lookups. Prefer this over the single-card condition endpoint when processing store inventories, collection valuations, or buylists where all five condition tiers matter. If you only need a single overall market price without condition breakdowns, use the standard bulk prices endpoint instead.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-13T18:33:24.033Z","isFirstParty":false}