Skip to main content
POST
Look up prices in bulk
Send the printings you hold and get one priced row back for each, in the order you sent them. Up to 500 per request, so a 1,000-card collection is two calls rather than a thousand.

Identify a printing, not a card

card_variant_id is the id on a card’s variants, from Get a card. A card id alone is not enough: one card can carry several printings, they are priced separately, and they move independently. Pair it with the condition you own. The default is NM.

One date per item

since rides on the item, not on the request. Two copies of one card acquired six months apart are two entries with two different since values, and each gets its own change. Repeat the same card_variant_id as many times as you hold copies. change_bp is basis points: 1293 is +12.93%. It is rounded to whole basis points and every amount is an integer number of cents, so no float reaches you and nothing is left for your client to round.

Reading an answer that is missing

Four absences mean four different things, and an app usually shows something different for each: The last one is common for a card acquired the week its set came out, where no price exists from that far back. It is an answer rather than a gap: show it as “no price from then” rather than as zero movement. Two rarer cases answer null the same way, and in both a price does exist on since: a start of exactly 0, which no percentage can be measured from, and a printing that carries no current price to compare against.

Telling a held price from a stale one

start_as_of is usually earlier than the since you sent. A price carries a point only for the days it changed, so the day you acquired a card generally has no point of its own, and the last price before it is the one that stood. Compare the two dates to tell a price that held steady from one that had not been seen in a while.

What listing_count covers

listing_count describes the current price and has no equivalent inside change. A listing_count of 1 means a single seller’s asking price rather than a market consensus. Treat a valuation built on those with the same caution you would treat the listing itself.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
items
object[]
required

The printings to price, at most 500 per request. Send the same printing more than once to price several copies acquired on different days: each entry gets its own answer.

Required array length: 1 - 500 elements

Response

One priced row per item, in the order sent

data
object
required
error
object | null
required