TCGplayer
TCGplayer Listings API
Every live marketplace listing for one TCGplayer product (US marketplace, prices in USD), up to 50 per page, sorted by price plus shipping or by item price, and filtered by condition, printing, language, verified sellers or TCGplayer Direct. Each listing has its listing id, price, shipping, total, quantity, condition, printing, language and listing type (standard or custom, with the custom title and description), and the seller: key, id, name, URL, rating percent, sales, gold star, verified and Direct flags, programs and location. Also returns the total listing count, has_more and counts by condition, printing, language and listing type. Costs 1 credit per request.
Authorizations
AuthorizationstringheaderrequiredBearer authentication header of the form Bearer <token>, where <token> is your Scavio API key (e.g. Bearer sk_live_your_key).
Body
application/jsonproduct_idintegerTCGplayer product id: the number after /product/ in a tcgplayer.com URL, or a search result's product_id. A number or a string of digits. Pass product_id or url.
Example: 219058
urlstringA tcgplayer.com product URL (/product/<id>/...). Used when product_id is not given.
Example: https://www.tcgplayer.com/product/219058/pokemon-battle-academy-charizard-3-70-39-charizard-stamped
conditionstring[]Only these conditions: Near Mint, Lightly Played, Moderately Played, Heavily Played, Damaged, Unopened, or NM, LP, MP, HP, DM, U. An array or a comma-separated string.
Example: Near Mint
printingstring[]Only these printings, as a product's skus[].printing spells them (Normal, Foil, Holofoil, Reverse Holofoil, 1st Edition, Unlimited...).
Example: Foil
languagestring[]Only these languages (English, Japanese, French, German, Italian, Spanish, Portuguese, Korean, Chinese (S), Chinese (T), Russian).
Example: English
verified_sellersbooleanOnly verified sellers.
direct_onlybooleanOnly TCGplayer Direct listings.
sortstringprice_shipping (default, price plus shipping) or price (item price only).
pageintegerPage, 1-based, up to 200. Defaults to 1.
Example: 1
limitintegerListings per page, 1-50. Defaults to 10.
Example: 10
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.tcgplayer.listings(
product_id=1479, condition=["Near Mint"], verified_sellers=True, limit=50
)["data"]
cheapest = sorted(res["listings"], key=lambda l: l["total_price"])
for l in cheapest[:5]:
print(l["total_price"], l["printing"], l["seller"]["name"], l["seller"]["rating_percent"], l["seller"]["sales"])Response