TCGplayer
TCGplayer Price History API
Sales price history for one TCGplayer product (US marketplace, prices in USD) over a month, quarter, half year or year, per SKU (condition, printing, language): total quantity sold, transaction count, average daily sales, and buckets newest first (daily for month, 3-day for quarter, weekly for semi_annual and annual), each with the market price, quantity sold, transaction count and the low and high sale price with and without shipping. Totals across SKUs included. A product with no history in the range is a 404. 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
rangestringmonth (daily buckets), quarter (default, 3-day buckets), semi_annual (weekly) or annual (weekly).
Request
from scavio import ScavioClient
client = ScavioClient(api_key="sk_live_your_key")
res = client.tcgplayer.price_history(product_id=219058, range="annual")["data"]
nm = next(s for s in res["skus"] if s["condition"] == "Near Mint" and s["printing"] == "Normal")
print(nm["total_quantity_sold"], "sold in a year")
for b in nm["buckets"]:
print(b["date"], b["market_price"], b["quantity_sold"], b["low_sale_price"], b["high_sale_price"])Response