Skip to content
Prepaid, no subscription trap. Top up a balance and we draw the monthly fee from it.
tcggraph

Get sealed price history

One sealed product's price over time, on one marketplace.

GEThttps://api.tcggraph.com/v1/sealed/{id}/history3 credits · metering

Points are dense, as a card's are: every day carries the last reading forward, so a flat run is a price that did not move. A product first priced inside the range starts on that day.

Both marketplaces are read daily from the day a product is listed, 18 October 2026 at the earliest. Products TCGplayer quoted on that day have their TCGplayer series filled a year further back from TCGplayer's own price chart: a reading every day for the last month, every three days for the two months before, and weekly before that, each held forward until the next. Those older points carry market only; low is null.

Amounts are market and low in major units of the source's currency: USD on TCGplayer, EUR on Cardmarket.

Path parameters

ParameterTypeDescription
idrequiredstringA sealed product id.

Query parameters

Any other query parameter is a 400 naming it and listing these, so a misspelt one is never silently ignored. api_key is accepted on every endpoint as an alternative to the header.

ParameterTypeDescription
sourcestringThe marketplace. Case-insensitive. meta.sources lists every series held for the product.

One of: tcgplayer, cardmarket

Default: tcgplayer, or cardmarket for a product TCGplayer does not sell

intervalstringPoint spacing. Weeks run Monday to Sunday and months are calendar months, UTC. A WEEK or MONTH point is the bucket's last day inside the range, with the price held on that day. Case-insensitive.

One of: DAY, WEEK, MONTH

Default: DAY

fromstringFirst day, YYYY-MM-DD, inclusive.

Default: to minus 90 days

tostringLast day, YYYY-MM-DD, inclusive. At most 1,826 days after from.

Default: today, UTC

Response

200 The series.

FieldTypeDescription
dataobjectThe series.
data.sealedIdstringThe product's id.
data.sourcestringThe marketplace used.

One of: tcgplayer, cardmarket

data.intervalstringThe spacing used.

One of: DAY, WEEK, MONTH

data.pointsobject[]Oldest first.
data.points[].daystringYYYY-MM-DD: the day, or the last day of the week or month inside the range.
data.points[].marketnumber | nullThe headline price that day.
data.points[].lownumber | nullThe low that day.
data.points[].currencystringThe currency.

One of: EUR, USD

metaobjectThe range and what else exists.
meta.fromstringThe first day used.
meta.tostringThe last day used.
meta.countintegerPoints returned.
meta.sourcesstring[]Every marketplace with a series for this product, longest first.

One of: tcgplayer, cardmarket

meta.notestringHow to read the points.

Examples

Real responses from the production API, recorded on 2026-10-05 by the script that also checks every field above against them. Arrays are shown in full.

Errors

Every error has the same body; switch on error.code. Any endpoint can also answer 401, 402, 403 or 429 for reasons of key, plan or rate; those are on Errors.

StatusCodeWhen
400invalid_requestA date that is not YYYY-MM-DD, from after to, or a range over 1,826 days.
400invalid_requestA source or interval outside its list, or a parameter this endpoint does not take.
404not_foundNo sealed product has that id.