Get card prices
Cards
Get card prices
Daily price history for every printing of a card.
GET
Get card prices
Every printing gets its own price history, and inside a printing you get one USD history per
condition. A holo Charizard priced in
NM, LP, MP, HP and DMG returns five tcgplayer
histories for that one printing rather than one. See the card object for what
separates a printing from a condition.
The window defaults to the last 90 days. Pass from and to as YYYY-MM-DD for a different
one, up to 366 days wide. A window that is malformed, inverted, or wider than that is a 400,
not an empty result. The full history stays reachable one bounded window at a time.
Charting a range
Passrange instead of from and to to get a series ready to plot. Each preset ends today,
and the wider ones group days into buckets so a longer window does not return proportionally
more points.
A series starts at its first observation, so a printing first priced part way through the window
returns fewer points than the table shows. Read the count off the response rather than assuming
it.
range and from/to are alternatives. Sending both is a 400. Override the bucket width with
interval, as a day count such as 7d, or auto to keep the width the preset chose.
Each point covers bucket_start through observed_on inclusive. The newest bucket always ends
on to, so the oldest is the short one when the window does not divide evenly.
Filling the gaps
A price produces a point only on the days it moved. A printing that has not moved inside the window returns no points at all, and one that moved once returns a single point. Plotted directly, both read as missing data even though the price is known for every day.range sets fill=locf, which carries the last observed price forward across days with no
movement. You get one point per bucket, and a condition that has not moved inside the window
stays in the response instead of dropping out of it.
Set fill=none for only the days the price changed. interval requires fill=locf; sending it
alongside fill=none is a 400.
Telling a sighting from a carried value
Two fields on every point separate the two:as_ofis the date the price was actually observed. It matchesobserved_onfor a real sighting and is earlier when the value was carried forward.observationscounts the real observations inside the point.0means every day it covers was carried forward.
observations: 0 does not on its own tell you a price was steady. It tells you no price was
observed inside that point. Read as_of to see how far back the value came from, and decide how
far a carried value should be trusted before you draw it as flat.Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Query Parameters
A window ending today: 1W, 1M, 3M, 6M or 1Y. An alternative to from and to, and sending both is a 400. Defaults fill to locf and picks an interval so that a wider window does not return proportionally more points.
Bucket width as a day count such as 3d, or auto to derive it from the width of the window. Requires fill=locf.
locf carries the last observed price forward across days with no movement. none returns only the days the price changed, and is the default when range is absent.