Looking for the overview — what this API returns, what it costs, and a call you can run without a key? See the SNKRDUNK API page →
docs / snkrdunk

SNKRDUNK

Japan's sneaker and trading-card marketplace: live listings with grade and price in US dollars, floor price per grade.

base /snkrdunk/v110 endpoints
post/snkrdunk/v1/product/detail1 credit

One product record by id, code or URL: name, product number, brand, the current floor price, how many listings are live and the images. Optionally merges the floor price per grade and the other prints of the same card in the SAME call.

ParameterAllowed / rangeDescription
product_idoptionalThe product to read. Accepts the numeric id (107574), the site code (SW---107574) or a snkrdunk.com product URL.
include_prices = falseoptionalAlso return the floor price per grade (one extra upstream call).
include_variations = falseoptionalAlso return the other prints/variants of this card.
Try in playground →
post/snkrdunk/v1/product/listings1 credit

Every live listing on one product: price in USD, grade (PSA 10, A, B, C, D), whether it is still for sale and an opaque listing id. This is the order book a pricing model reads, and the only place the source publishes individual asks.

ParameterAllowed / rangeDescription
product_idoptionalThe product to read. Accepts the numeric id (107574), the site code (SW---107574) or a snkrdunk.com product URL.
page = 1optional1–1-based page number.
limit = 30optional1–100Rows per page (1-100). The source refuses more than 100.
sort = defaultoptionallatest · default`latest` for newest first, anything else for the source's own order. Measured: these are the only two orders the source actually applies.
only_on_sale = falseoptionalOnly listings that are still for sale. Default false, which also returns recently sold ones (each carries `is_sold`).
Try in playground →
post/snkrdunk/v1/prices_by_condition1 credit

The current floor price for each grade of one card (PSA 10, A, B, C, D and the rest). One small call per card, which is what a daily price tracker stores.

ParameterAllowed / rangeDescription
product_idoptionalThe product to read. Accepts the numeric id (107574), the site code (SW---107574) or a snkrdunk.com product URL.
Try in playground →
post/snkrdunk/v1/products/batch1 credit

Up to 30 products in ONE call: name, floor price, listing count and image for each. This is how a catalogue of thousands is refreshed without spending a call per card. Ids that no longer exist are simply absent from the answer.

ParameterAllowed / rangeDescription
product_idsrequired–30Up to 30 product ids, codes or URLs. Accepts a JSON array or a comma-separated string.
Try in playground →
post/snkrdunk/v1/product/variations1 credit

The other prints and variants of the same card (or the other colourways of a sneaker), each with its own id and floor price.

ParameterAllowed / rangeDescription
product_idoptionalThe product to read. Accepts the numeric id (107574), the site code (SW---107574) or a snkrdunk.com product URL.
Try in playground →
post/snkrdunk/v1/browse1 credit

Walk the used trading-card market: every card with a live listing, filtered by brand and category, newest first or in the source's own order. Use it to build a catalogue without a keyword.

ParameterAllowed / rangeDescription
brandoptionalBrand slug ('pokemon', 'one-piece', 'yu-gi-oh'). Omit for all.
category_idoptionalCategory id from brand/detail. Omit for all categories.
page = 1optional1–1-based page number.
limit = 30optional1–100Rows per page (1-100). The source refuses more than 100.
sort = defaultoptionallatest · default`latest` for newest first, anything else for the source's own order. Measured: these are the only two orders the source actually applies.
only_on_sale = falseoptionalOnly listings that are still for sale. Default false, which also returns recently sold ones (each carries `is_sold`).
Try in playground →
post/snkrdunk/v1/brand/products1 credit

One brand's catalogue, paged: every product SNKRDUNK carries for that brand with its floor price and listing count. With `department=tradingCard` this is the route that builds a card database set by set.

ParameterAllowed / rangeDescription
brandrequiredBrand slug exactly as it appears in a snkrdunk URL. Trading cards: pokemon, yu-gi-oh, onepiece, dragonball, mtg. Sneakers and apparel use their own slugs ('nike', 'supreme', 'air-jordan', 'newbalance').
department = tradingCardoptionaltradingCard · sneaker · streetwearWhich half of the marketplace to read.
page = 1optional1–1-based page number.
limit = 30optional1–100Rows per page (1-100). The source refuses more than 100.
Try in playground →
post/snkrdunk/v1/brand/detail1 credit

One brand record and the category ids under it — the ids `browse` takes.

ParameterAllowed / rangeDescription
brandrequiredBrand slug exactly as it appears in a snkrdunk URL. Trading cards: pokemon, yu-gi-oh, onepiece, dragonball, mtg. Sneakers and apparel use their own slugs ('nike', 'supreme', 'air-jordan', 'newbalance').
Try in playground →
post/snkrdunk/v1/conditionsfree

The grade enum the marketplace uses (A, B, C, D and the PSA grades), with the id and key behind each label. The values `condition` fields come back as.

Try in playground →