Korea's resale market as JSON, with every size and every kind of ask kept apart
The KREAM API turns kream.co.kr, South Korea's largest sneaker and streetwear resale marketplace, into clean JSON in five actions: search, product/detail, product/price_history, category and categories.
5 active endpoints, on 1 and 2 credit tiers.
- POST/kream/v1/search
- POST/kream/v1/product/detail
- POST/kream/v1/product/price_history
- POST/kream/v1/category
- POST/kream/v1/categories
What KREAM endpoints does ReefAPI ship?
5 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.
KREAM API
3 of 5 endpoints, ready to run
KREAM products for a keyword: the immediate-buy price (lowest ask), the discount against the release price, English and Korean names, brand, style code, category and wish, review and trade counts.
{ "ok": true, "meta": { "api": "kream", "endpoint": "search", "mode": "live", "latency_ms": 2033.2, "record_count": 50, "cache_hit": false }, "data": { "results": [ { "product_id": "12831", "url": "https://kream.co.kr/products/12831", "name": "Nike Air Force 1 '07 Low White", "name_ko": "나이키 에어포스 1 '07 로우 화이트", "name_tag": null, "brand": { "id": "4", "name": "Nike" }, "style_code": "315122-111/CW2288-111", "style_codes": [ "315122-111", "CW2288-111" ], "category": { "id": "1", "path": [ "신발", "스니커즈" ] }, "listing_type": "resale", "product_type": "product_100", "image": "https://kream-phinf.pstatic.net/MjAyNDA2MjJfMTMx/MDAxNzE5MDI5ODMzOTg2.8TsdHQrXy3-tcIMHceZOG5eBSdl_-ybtjFhLVIZDOXEg.TUQIZNOi5ptP4zsfcdsi3EBAgTwh2jruSeKGnbMekaQg.PNG/a_56586590956f4404862cbdaeff6a5e63.png", "price": 94000, "price_display": "94,000원", "price_type": "lowest_ask", "currency": "KRW", "pre_coupon_price": null, "coupon_applied": false, "discount_percent": 36, "discount_basis": "release_price", "fast_delivery": true, "sold_out_temporarily": false, "upcoming_release_date": null, "wish_count_approx": 234000, "wish_count_display": "23.4만", "review_count_approx": 35000, "review_count_display": "3.5만", "trade_count_approx": 788000, "trade_count_display": "78.8만", "badges": [ "빠른배송", "내일 도착 예정" ], "rating": null, "rating_scale": null }, { "product_id": "24137", "url": "https://kream.co.kr/products/24137", "name": "Nike P-6000 Metallic Silver", "name_ko": "나이키 P-6000 메탈릭 실버", "name_tag": null, "brand": { "id": "4", "name": "Nike" }, "style_code": "CN0149-001", "style_codes": [ "CN0149-001" ], "category": { "id": "1", "path": [ "신발", "스니커즈" ] }, "listing_type": "resale", "product_type": "product_100", "image": "https://kream-phinf.pstatic.net/MjAyNjAzMjdfMTI3/MDAxNzc0NTkzMTE5ODgz.S8p7iMr8-A5IGNV1uLp0ULLV9b8793y87dekSM1u3SEg.vVftSdZfQZcBI9iLCVa8nFMooirlJ-R2YPeVTRX9wFkg.PNG/a_cdb862ed7b234b8494a4b82568a2c3cc.png", "price": 82000, "price_display": "82,000원", "price_type": "lowest_ask", "currency": "KRW", "pre_coupon_price": null, "coupon_applied": false, "discount_percent": 49, "discount_basis": "release_price", "fast_delivery": true, "sold_out_temporarily": false, "upcoming_release_date": null, "wish_count_approx": 28000, "wish_count_display": "2.8만", "review_count_approx": 4922, "review_count_display": "4,922", "trade_count_approx": 40000, "trade_count_display": "4만", "badges": [ "빠른배송", "내일 도착 예정" ], "rating": null, "rating_scale": null }, { "product_id": "432838", "url": "https://kream.co.kr/products/432838", "name": "Nike P-6000 White Metallic Silver", "name_ko": "나이키 P-6000 화이트 메탈릭 실버", "name_tag": null, "brand": { "id": "4", "name": "Nike" }, "style_code": "CD6404-107", "style_codes": [ "CD6404-107" ], "category": { "id": "1", "path": [ "신발", "스니커즈" ] }, "listing_type": "resale", "product_type": "product_100", "image": "https://kream-phinf.pstatic.net/MjAyNjAzMzBfMjM4/MDAxNzc0ODU2ODQ2MTQ2.cwf9N-1tg6hNNHMjA1xaV5M35ZYqBsntFWK8TTzkrH8g.XQBwSaeOIwos4MC86LAwcFLml4esjywD2tnkqv3mGE0g.PNG/a_fc279e0a14ca46f99bb44974f9515d1f.png", "price": 68000, "price_display": "68,000원", "price_type": "lowest_ask", "currency": "KRW", "pre_coupon_price": null, "coupon_applied": false, "discount_percent": 54, "discount_basis": "release_price", "fast_delivery": true, "sold_out_temporarily": false, "upcoming_release_date": null, "wish_count_approx": 5596, "wish_count_display": "5,596", "review_count_approx": 1009, "review_count_display": "1,009", "trade_count_approx": 5811, "trade_count_display": "5,811", "badges": [ "빠른배송", "내일 도착 예정" ], "rating": null, "rating_scale": null } ], "count": 50, "total_results": 42647, "page": 1, "page_size": 50, "has_more": true, "next_page": 2, "draws_dropped": 0, "sort_applied": "recommended", "query_used": "nike", "corrected": false, "correction_type": null, "rows_matching_query_words": 50, "query": "nike" } }
How the KREAM API works
KREAM 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 252 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.
Price one size of a sneaker on the Korean market, not on a blended number
An overall lowest ask and an overall highest bid usually belong to different sizes, and the same size has a different ask for each delivery type. Three calls get the number that is actually tradeable for the size you hold.
{"query": "jordan 1", "sort": "lowest_ask", "shoe_size": ["270"]}50 products a page, cheapest ask first, with prices for size 270. KREAM DRAW entries priced at the 100 KRW entry fee are removed.
{"product_id": "12831"}Nike Air Force 1 '07 on 2026-09-15: lowest ask 93,000 KRW (size 285), highest bid 137,000 KRW (size 240), release 149,000 KRW, and sizes[] with each size's ask and bid by delivery type.
{"product_id": "12831", "size": "270", "period": "3m"}93 daily points for size 270 on 2026-09-15, from 98,000 to 115,000 KRW. A size the product does not have is rejected instead of returning an empty chart.
For one size: the ask you can buy at by delivery type, the bid you can sell into, and where both sit against three months of KREAM's own chart.
curl -X POST https://api.reefapi.com/kream/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"nike"}'{
"ok": true,
"data": { … },
"meta": {
"api": "kream",
"endpoint": "search",
"mode": "live",
"latency_ms": …,
"record_count": …
},
"error": null
}On KREAM the lowest ask, the last trade and the release price are three different numbers
A resale price is not one number. KREAM publishes the price you can buy at now, the price the last pair traded at, and the retail price at launch, and the overall ask and bid can come from different sizes. The API keeps each one in its own field. Measured on 2026-09-15.
| KREAM product | Lowest ask | Highest bid | Last trade | Release price |
|---|---|---|---|---|
| Nike Air Force 1 '07 Low White | 93,000 KRW (size 285) | 137,000 KRW (size 240) | 93,000 KRW | 149,000 KRW |
| New Balance x Paperboy Paris x Beams 920 Ice Boy | 340,000 KRW | 300,000 KRW | 300,000 KRW | 299,000 KRW |
| Nike Park Swoosh Full Zip Hoodie Black | 48,000 KRW (size XL) | 50,000 KRW (size XXXXL) | 49,000 KRW | not published |
| Nike Air Force 1 '07 Low White, size 240 only | 149,000 KRW (95-point fast delivery) | 137,000 KRW | - | 149,000 KRW |
The overall highest bid can be above the overall lowest ask because they belong to different sizes; compare sizes[] instead. price_premium is the lowest ask minus the release price (41,000 KRW on the New Balance 920), not the last trade. For one size, lowest_ask is the cheapest of three delivery types: on the Air Force 1 in size 240 that was 149,000 KRW for 95-point fast delivery, against 167,000 KRW for fast delivery and 158,000 KRW for normal delivery.
Which market, which price, which size, and what KREAM keeps behind a login
kream.co.kr only - one country, one currency, and no account of yours anywhere in the path. Measured on 2026-09-15 across 20 searches, 37 products in 6 categories, 53 controlled cases and an independent comparison with the public product pages. Four of these lines go against us.
This engine reads KREAM, Korea's largest sneaker and streetwear resale marketplace. There is no country parameter because there is no other storefront. What you send is a ReefAPI key; there is no KREAM account of yours in the call. Prices are KRW as whole numbers, with a display string next to them.
lowest_ask is the immediate-buy price, highest_bid the immediate-sell price, last_sale_price the last trade and release_price the retail price at launch. On the New Balance 920 they were 340,000, 300,000, 300,000 and 299,000 KRW, and price_premium, KREAM's premium over release, was 41,000 KRW: lowest ask minus release price. On 8 of 8 products compared with the public product page, name, style code, brand, price and availability all matched.
sizes[] gives each size its lowest ask, highest bid and the asks for normal delivery, fast delivery from KREAM's warehouse and 95-point fast delivery. The overall ask and bid can come from different sizes: 93,000 KRW for size 285 and 137,000 KRW for size 240 on the Air Force 1, so a bid above the ask is not an error. The 5 most recent trades carry their size, price, time and delivery type.
nike: 42,489 results unfiltered, 13,458 for women, 20,854 in sneakers, 4,408 with fast delivery, 14,013 below release price. A lowest-ask sort came back in ascending order, a highest-bid sort was checked against the product records, and sort_applied is KREAM's confirmation. A discount-rate sort exists on KREAM but replaced the query with unrelated brand-store products in testing, so it is not offered. Pages are real deep into a result: pages 1 to 500 of nike were all distinct.
KREAM DRAW entries, priced at a 100 KRW entry fee, are removed from results by default and counted. Brand-store listings, new items sold by a brand at a fixed price, are marked listing_type brand_store and return a price, list price and discount instead of asks and bids; when a search card shows a KREAM coupon, the pre-coupon price is kept next to it.
10 of 10 nonsense queries came back with 0 products and no filler. A misspelled query that KREAM corrects on its own is flagged: jordna was searched as jordan, and query_used and corrected say so.
KREAM shows the complete ask and bid lists and the full trade history only to signed-in members. The API returns what KREAM publishes without an account: the 5 most recent trades, the 5 best asks and bids, the best ask and bid per size and delivery type, and KREAM's price chart.
KREAM keeps a product when any of its sizes is priced inside the range, while the row shows the overall lowest ask. With 150,000 to 250,000 KRW on nike, 46 of 50 rows showed a lower price, and every one checked had a size inside the range. Filter by size as well when the row price must fall in the band.
KREAM counts reviews but publishes no rating scale, so rating and rating_scale are null; review_count and wish_count are exact on product/detail and abbreviated on search cards. Prices exclude KREAM's buyer fee; delivery fees are returned as KREAM prints them.
KREAM has no release date or release price for many apparel basics and brand-store items. On 37 sampled products across 6 categories, release_date was filled on 22 and release_price on 30, while name, brand, style code, images, price, sizes and wish and review counts were filled on 37 of 37.
What people build with KREAM
The jobs this data is most often used for.
endpoints
credits per call
Sneaker resellers compare the Korean market with StockX and GOAT per size, using lowest ask, highest bid and the delivery-type split.
Price trackers record the lowest ask, last trade and premium over release price for a watch list, with KREAM's own price chart per size.
Market analysts find what is moving with the popular, most wished and highest bid sorts across sneakers, streetwear, trading cards and collectibles.
Cross-border sellers check which sizes trade above the release price in Korea before listing stock there.
What KREAM data costs
The cheapest call here is 1 credit, 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 252 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/kream/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"nike"}'import requests
r = requests.post(
"https://api.reefapi.com/kream/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "nike"
},
)
print(r.json()["data"])Have a question? We got answers.
The questions people actually ask before wiring up KREAM.
Get a free key →What is the difference between lowest ask, highest bid and last sale?▾
lowest_ask is the immediate-buy price (즉시 구매가): the cheapest pair a seller is offering now. highest_bid is the immediate-sell price (즉시 판매가): the most a buyer is offering now. last_sale_price is what the most recent trade actually cleared at. On the New Balance 920 on 2026-09-15 they were 340,000, 300,000 and 300,000 KRW, with a release price of 299,000 KRW.
Why is the highest bid higher than the lowest ask?▾
Because the overall pair comes from different sizes. On the Nike Air Force 1 '07 the lowest ask of 93,000 KRW was for size 285 and the highest bid of 137,000 KRW was for size 240. For a real spread, read one size in sizes[], which carries its own lowest_ask and highest_bid.
What are fast delivery and 95-point fast delivery?▾
Fast delivery is stock already held in KREAM's warehouse, so it ships the next day. 95-point fast delivery is warehouse stock with a minor note on the box or condition. Normal delivery means the seller ships it to KREAM for inspection first. The same size can have a different lowest ask for each, and every size returns all three apart: lowest_ask_fast_delivery, lowest_ask_fast_delivery_95 and lowest_ask_normal_delivery.
Does the API return the full order book and every past trade?▾
No. KREAM shows the full ask and bid lists and the complete trade history only to signed-in members. Without an account, the public record has the 5 most recent trades, the 5 best asks, the 5 best bids, the best ask and bid for every size and delivery type, total trades, and KREAM's price chart, which product/price_history returns for 1 month, 3 months, 6 months, 1 year or all time.
Why do search prices change when I filter by size?▾
Because KREAM then shows that size's price. The Air Force 1 '07 was 93,000 KRW unfiltered and 103,000 KRW with shoe size 270 on 2026-09-15. A price range filter works the other way round: KREAM keeps a product when any of its sizes is priced inside the range, so a row's overall lowest ask can sit below it. With 150,000 to 250,000 KRW on nike, 46 of 50 rows showed a lower price, and every one checked had a size priced inside the range.
What are KREAM DRAW rows and brand-store listings?▾
KREAM DRAW entries appear among products with a 100 KRW price, which is the draw entry fee, not a market price. They are removed by default and counted in draws_dropped; include_draws=true keeps them flagged listing_type draw. Brand-store listings are new items sold by a brand at a fixed price, such as a New Balance ML610 at 79,000 KRW against a 189,000 KRW list price. They have no asks or bids and are marked listing_type brand_store, with the price, list price and discount instead.
Is a misspelled search answered for what I typed?▾
Not always. KREAM corrects some queries on its own: jordna was searched as jordan. query_used shows the query KREAM actually ran and corrected is true when it changed. A query with no match at all returns an empty result: 10 of 10 nonsense queries came back with 0 products and no filler.
What does KREAM NOT publish?▾
No star rating: KREAM counts reviews but has no rating scale, so rating and rating_scale are null. No full order book or trade ledger without an account. No coupon price in the product record: brand-store search rows show the price after a KREAM coupon with the pre-coupon price next to it (37,500 and 41,600 KRW on one AirPods case), while product/detail returns the pre-coupon price. Prices exclude KREAM's buyer fee. Release dates are missing on many basics: on 37 sampled products, release_date was filled on 22 and release_price on 30.
What is the KREAM API?▾
KREAM API is a ReefAPI endpoint group for korea's sneaker and streetwear resale market: asks, bids, trades and prices per size in won. It returns live JSON through POST requests under /kream/v1.
Is the KREAM API free to try?▾
Yes. ReefAPI starts with 1,000 free credits, no card required. KREAM calls use the same shared credit balance as every other ReefAPI engine.
Do I need a KREAM login or account?▾
No login to KREAM 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 KREAM 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 KREAM API use?▾
KREAM actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call KREAM from an AI assistant or MCP client?▾
Yes. Connect ReefAPI once through MCP and your assistant can call kream actions with the same key, credit pool and JSON envelope used by normal REST requests.
91 E-commerce & Marketplaces APIs on the same key
One key, one credit pool, one response envelope. If you are pulling KREAM, 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 251 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-15.