SNKRDUNK card prices as JSON, with the grade on every listing
The SNKRDUNK API turns snkrdunk.com, Japan's largest sneaker and trading-card marketplace, into clean JSON in ten actions.
10 active endpoints, on 0 and 1 credit tiers.
- POST/snkrdunk/v1/search
- POST/snkrdunk/v1/product/detail
- POST/snkrdunk/v1/product/listings
- POST/snkrdunk/v1/prices_by_condition
- POST/snkrdunk/v1/products/batch
- POST/snkrdunk/v1/product/variations
- POST/snkrdunk/v1/browse
- +3 more
What SNKRDUNK endpoints does ReefAPI ship?
10 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
SNKRDUNK API
4 of 10 endpoints, ready to run
Cards for a keyword: product id, the site code, the product URL, name, product number, the current floor price in US dollars, the live listing count, the offer count, the release date and the image. Sneakers come back as well when you ask for them.
// Press "Try it" and this pane shows exactly what the // live site returned this second — including an empty // result, if that is the truth. No key, no account.
How the SNKRDUNK API works
SNKRDUNK is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.
No OAuth app, no request signing, no per-site account. One key covers all 257 engines.
Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.
Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.
One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.
Track the PSA 10 floor for a whole set, one call per card per day
Find the cards once, then keep two cheap calls in your daily job: a batch call that refreshes the catalogue and its floor prices, and one small per-card call for the floor of each grade.
{"query": "umbreon vmax", "limit": 30}Card rows with product_id, code, url, name, product_number, min_price_usd and listing_count. Store product_id once; it is what every other action takes. brand/products does the same job set by set when you want a whole brand rather than a keyword.
{"product_ids": [107574, 882281]}Up to 30 of those ids in one call, each with its current min_price_usd and listing_count. missing lists the ids the marketplace no longer carries, so retired cards leave your catalogue instead of freezing at their last price.
{"product_id": "107574"}prices[] with condition, condition_id and min_price_usd for each grade, so a PSA 10 series and a raw A series stay separate instead of collapsing into one number.
{"product_id": "107574", "only_on_sale": true}The asks behind the floor, each with its grade, price and listing id, for the days the floor moves and you want to know which copy moved it.
A daily floor per grade per card, a catalogue that retires dead ids by itself, and the individual asks to check any move against.
curl -X POST https://api.reefapi.com/snkrdunk/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'{
"ok": true,
"data": { … },
"meta": {
"api": "snkrdunk",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}What SNKRDUNK publishes, what it does not, and what a price on it means
One marketplace, two halves, prices in US dollars on the English storefront. The lines below describe the engine's measured surface as of 2026-09-22 and the limits it enforces. Three of them go against us, starting with the one a price tracker has to know first.
The source does not publish sold prices, a price history, offers or rankings, so this API returns live listings and current floors and nothing else. There is no trend line here, invented or otherwise. If you need sold prices for Japanese cards, that is a different source: Mercari publishes sold listings for Japan, and TCGplayer and Cardmarket publish price history for the US and EU markets.
search returns the trading-card matches by default and adds the sneaker matches when include_sneakers is set. brand/products switches the whole catalogue between tradingCard, sneaker and streetwear with department, so the sneaker half is the same three actions with one parameter changed. It reads the Japanese resale market; StockX and GOAT on this site read the US one, and the three answer the same question for different countries.
Every row carries the price as a number in price_usd or min_price_usd and as the storefront prints it in price_display or min_price_display, plus currency on a listing. Nothing is converted here, so no exchange rate of ours sits between you and the asking price.
condition on each listing is the marketplace's own grade: PSA 10 for a slab, A to D for raw cards. conditions returns the enum with the id, name and key behind each label, and prices_by_condition returns the current floor for each grade of one card, which is what a per-grade price series needs.
product/listings returns recently sold listings alongside live ones, each with is_sold, so a sale does not silently vanish from a page you are diffing. only_on_sale true restricts the call to listings still for sale.
products/batch takes up to 30 ids, codes or URLs and answers with products, requested, returned and missing. Ids the marketplace has dropped are listed in missing rather than returned as an error, so a nightly refresh over thousands of cards reports its own attrition.
sort is latest or the source's own order, because those are the only two the source actually applies. A page size above 100 is refused rather than trimmed. Sort a page by price yourself if you need it; the API will not re-order one page and call it a market ranking.
There is no brand index and no category index to walk. The brand slug is the one in a snkrdunk URL, such as pokemon, one-piece or yu-gi-oh, and the category ids that browse takes come from brand/detail for that brand.
What people build with SNKRDUNK
The jobs this data is most often used for.
endpoints
credits per call
Trading-card price trackers store one row per card per day from prices_by_condition, which returns the floor price for PSA 10 and for each of the A to D grades.
Catalogue pipelines refresh thousands of cards with products/batch, up to 30 products per call, and read the missing list to retire ids the marketplace no longer carries.
Card shops and portfolio tools read product/listings to see every ask with its grade and its sold flag instead of pricing a card from one headline number.
Sneaker and streetwear resale analysts read the Japanese market with include_sneakers on search and department on brand/products.
What SNKRDUNK data costs
The cheapest call here is 0 credits, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.
Full pricing →- 1,000 free credits on signup, no card
- One key, all 257 APIs, one credit pool
- Failed and blocked calls are never charged
- Credits roll over and never expire
Call it in two lines
Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.
curl -X POST https://api.reefapi.com/snkrdunk/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{}'import requests
r = requests.post(
"https://api.reefapi.com/snkrdunk/v1/search",
headers={"x-api-key": REEF_KEY},
json={},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up SNKRDUNK.
Get a free key →Which cards and games does the SNKRDUNK API cover?▾
Whatever the marketplace lists: Pokémon, Yu-Gi-Oh!, One Piece, Magic and the Japanese-only promos western marketplaces tend not to carry, plus the sneaker and streetwear half of the site. Brands are addressed by the slug in their snkrdunk URL, such as pokemon, one-piece, yu-gi-oh or nike, and brand/detail returns the category ids under a brand so browse can be narrowed to one of them.
What does the grade on a listing mean?▾
Every listing carries condition, which is the marketplace's own grade: PSA 10 for a graded slab, and A, B, C or D for raw cards. The conditions action returns the whole enum with the id, name and key behind each label, prices_by_condition returns the current floor for each grade of one card, and a listing can also carry the condition_note the seller typed.
Are prices in yen or in US dollars?▾
US dollars. This engine reads the English storefront, which prices in USD, so every listing comes back with price_usd as a number, price_display exactly as the storefront prints it, and currency. Nothing is converted here, so no exchange rate of ours sits between you and the asking price.
Can I get sales history or sold prices?▾
No, and the API does not pretend otherwise. SNKRDUNK does not publish sold prices, a price history, offers or rankings. What it publishes is live listings and current floors, and that is what comes back. A listing that has just sold is still visible with is_sold true, and only_on_sale true restricts a call to listings that are still for sale.
How do I track a few thousand cards without spending a call per card?▾
products/batch takes up to 30 product ids, codes or URLs in one call and returns the name, floor price, listing count and image for each, with requested, returned and missing so you can see which ids the marketplace no longer has. For the floor per grade you still call prices_by_condition per card, which is the smaller call.
How do I find a product id?▾
From search, browse, brand/products or product/variations: every row carries product_id, the SW code and the product URL. All three forms work as product_id on the other actions, so a pasted snkrdunk.com product URL is enough.
How far can I page, and can I sort by price?▾
Up to 100 rows per page, which is the source's own ceiling; asking for more is refused rather than silently trimmed. sort takes latest for newest first or default for the source's own order, and those are the only two orders the source actually applies. There is no sort by price, and this API does not fake one by re-ordering a single page.
What is the SNKRDUNK API?▾
SNKRDUNK API is a ReefAPI endpoint group for japan's sneaker and trading-card marketplace: live listings with grade and price in us dollars, floor price per grade. It returns live JSON through POST requests under /snkrdunk/v1.
Is the SNKRDUNK API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. SNKRDUNK calls use the same shared credit balance as every other ReefAPI engine.
Do I need a SNKRDUNK login or account?▾
No login to SNKRDUNK is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the SNKRDUNK data?▾
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the SNKRDUNK API use?▾
SNKRDUNK actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call SNKRDUNK from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call snkrdunk actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the SNKRDUNK API a SNKRDUNK scraper?▾
It is the managed alternative to a DIY SNKRDUNK scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same japan's sneaker and trading-card marketplace: live listings with grade and price in us dollars, floor price per grade back as clean JSON.
95 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling SNKRDUNK, you are one call away from the rest of the category — no second contract, no second integration.
Need something this API does not do?
Name the endpoint, the field, or a source we do not carry yet. We ship new APIs every week and you would be first to get the key. Real people read every message and reply the same day.
Try it on your own data before you pay anything
The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 256 APIs, and the same envelope everywhere.
Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts. Field notes were captured on 2026-09-22.