KREAM Scraper - Sneakers, Prices, Bids & Market Data avatar

KREAM Scraper - Sneakers, Prices, Bids & Market Data

Pricing

from $1.20 / 1,000 product results

Go to Apify Store
KREAM Scraper - Sneakers, Prices, Bids & Market Data

KREAM Scraper - Sneakers, Prices, Bids & Market Data

Scrape KREAM (kream.co.kr) sneaker and fashion resale data by keyword search, filters, sorts, or product URLs. Extract 34+ fields, including lowest ask, highest bid, market price, premium, retail price, style code, sizes, and optional price history.

Pricing

from $1.20 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

19

Total users

2

Monthly active users

9 days ago

Last modified

Share

KREAM Scraper: Sneaker & Streetwear Resale Prices

KREAM Scraper turns KREAM (kream.co.kr), Korea's sneaker and streetwear resale marketplace, into a clean pricing data feed. Search by keyword or paste product and search links to get lowest ask, highest bid, market price, premium, retail price, style code, release date, sizes and wish counts for every result, then export to JSON, CSV or Excel, or pull the results straight into your app through the API.

Why This Scraper?

  • Two ways to find products. Search by keyword, or paste KREAM product and search links directly.
  • Market data on every result. Lowest ask, highest bid, market price, last sale, premium and total sales come back with the base listing, no separate detail fetch needed.
  • Full listing detail out of the box. Style code, colorway, release date, retail price, every size and the full image set are already included.
  • Optional deep detail. Turn on Fetch full details for price history, per-size ask/bid inventory and recent sales, asks and bids.
  • Eleven sort orders and five filters. Order by popularity, price, premium, wish count or release date, and narrow by quick delivery, below-retail, sold-out status, category or gender, in either mode.
  • Built for schedules. Incremental mode returns only new and changed products on recurring runs, and a refused run ends with a clear BLOCKED status message, so it is never mistaken for a search with no matches.
  • Resume large crawls. Continue an interrupted or capped run without paying twice for products already collected.

Use Cases

  • Resale price tracking and arbitrage: watch lowest ask, highest bid and premium across sneakers and streetwear to spot mispriced listings.
  • Market research and trend analysis: build historical datasets of prices, wish counts and sales volume by brand or category.
  • Drop and release monitoring: track new releases and price movement in the period after launch.
  • Inventory and pricing tools: feed live ask/bid data into a reseller's own pricing or listing tool.
  • Fashion and sneaker media: source current market prices and premiums for articles and price guides.

Data You Get

Sample shape: values are illustrative placeholders, not from a live record.

FieldExample
productId30001
urlKREAM link to the product
productName / productNameKo"Nike Dunk Low Retro Black" / "나이키 덩크로우 레트로 블랙"
brand / brandId"Nike" / 1
category / categoryName"sneakers" / "스니커즈"
styleCode"DD1391-100"
colorway"BLACK/WHITE"
gender"men"
releaseDate"2024-01-20"
retailPrice / retailPriceFormatted109000 / "109,000원"
currency"KRW"
imageUrl / imageUrlsmain product photo / the full image set
lowestAsk / highestBid135000 / 128000
marketPrice / lastSalePrice132000 / 130000
totalSales842
changeValue / changePercentage2000 / 1.5
premium / premiumPercentage26000 / 23.9
hasImmediateDeliverytrue
wishCount / reviewCount / haveCount5210 / 312 / 890
isActive / isTradabletrue / true
sizes / sizeOptions["250","260","270","280"] / per-size id, key and display name
priceHistory / inventoryBySizeprice series by time span and per-size ask/bid (when Fetch full details is on, and always for pasted product URLs)
recentSales / recentAsks / recentBidsmost recent trade rows (when Fetch full details is on, and always for pasted product URLs)
changeType / changedFields / firstSeenAt / lastSeenAt"NEW" / [] / run timestamps (incremental mode only)

Prices are in KRW. A product marked EXPIRED (incremental mode only) carries the same fields as its last successful scrape, unchanged, plus the changeType and timestamp fields above.

How to Use

  1. Pick a mode: search (by keyword) or url (paste KREAM product or search links).
  2. Fill in keywords or URLs, and set the sort and filters you want; they apply in both modes.
  3. Turn on Fetch full details if you need price history and per-size inventory, and set Max items to control run size and cost.
  4. Click Start, then download the dataset as JSON, CSV or Excel, or read it through the API.

Basic keyword search:

{
"mode": "search",
"keywords": ["nike dunk", "jordan 1"],
"maxItems": 20
}

Filtered search: below retail, in stock, quick delivery:

{
"mode": "search",
"keywords": ["stussy"],
"belowRetail": true,
"excludeSoldOut": true,
"quickDelivery": true,
"sort": "premium_low",
"maxItems": 30
}

Paste KREAM product and search links:

{
"mode": "url",
"urls": [
"https://kream.co.kr/products/23879",
"https://kream.co.kr/search?keyword=asics"
],
"maxItems": 40
}

Daily incremental monitoring with full detail:

{
"mode": "search",
"keywords": ["yeezy"],
"fetchDetails": true,
"incrementalMode": true,
"stateKey": "yeezy-daily",
"maxItems": 100
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/kream-scraper").call(run_input={"mode": "search", "keywords": ["nike dunk"], "maxItems": 20})
for product in client.dataset(run["defaultDatasetId"]).iterate_items():
print(product["productName"], product["lowestAsk"])

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/kream-scraper').call({ mode: 'search', keywords: ['nike dunk'], maxItems: 20 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();

Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.

Resume and recurring updates

  • Resume (resumeFromRunId) continues one interrupted or capped run: paste its run or dataset ID and the actor skips every product already collected there, so you don't pay twice.
  • Incremental mode (incrementalMode) is for scheduled runs over the same search or URLs. Each product is classified NEW, UPDATED (with changedFields), UNCHANGED (suppressed and not billed unless emitUnchanged is on), REAPPEARED or EXPIRED. A product only becomes REAPPEARED if an earlier run had already marked it EXPIRED; EXPIRED itself is only produced after a run that reached the natural end of the tracked search, with emitExpired on, not capped by Max items, not a Resume and not blocked. stateKey names or shares the stored state; leave it empty to derive one automatically from the search scope (keywords or URLs, sort, filters and Fetch full details; Max items and Max pages are output caps and don't affect the key). With incremental mode off, output is exactly as before.

Send results into your apps (MCP connectors)

Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.

What gets written to the connector: a condensed, human-readable summary of each product, not the full JSON record. For Notion, each item becomes its own page with its name, brand, style code, lowest ask, highest bid, retail price, premium, release date, wish count and URL. Other connectors receive one combined digest of up to 25 items. The complete record always stays in the Apify dataset.

  1. Authorize a connector once under Apify → Settings → Integrations (Notion, Linear, Airtable, or Apify).
  2. Select it in the "Pipe results into your apps" input field. (If the picker is empty, you haven't authorized a connector yet.)
  3. For Notion, also set notionParentPageUrl to the page where items should be created.

The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (keyword) or url (paste KREAM URLs).
keywordsarray["nike"]Search terms. Search mode only; in URL mode the keyword is read from each pasted search URL instead.
urlsarraynone (prefill: https://kream.co.kr/products/23879)KREAM product URLs or search URLs (url mode).
sortstringpopularityOrder results: popularity, lowest_ask, highest_bid, wish, style_tags (most reviewed), date_released, discount_rate, premium_high, premium_low, male_popularity, female_popularity. Applies in both search mode and URL mode.
quickDeliverybooleanfalseOnly products with KREAM Quick Delivery stock. Applies in both search mode and URL mode.
belowRetailbooleanfalseOnly products whose lowest ask is below retail. Applies in both search mode and URL mode.
excludeSoldOutbooleanfalseDrop products with no live ask. Applies in both search mode and URL mode.
categorystringnoneOptional KREAM category slug (e.g. sneakers). Applies in both search mode and URL mode.
genderstringnone (Any)men, women, kids, or leave empty for any. Applies in both search mode and URL mode.
fetchDetailsbooleanfalseAdd price history, per-size ask/bid inventory and recent sales/asks/bids.
maxItemsinteger20Stop after this many products across all keywords/URLs. 0 = unlimited.
maxPagesinteger0Safety bound on result pages walked per keyword. 0 = no page limit; the run still stops at Max items.
resumeFromRunIdstringnoneContinue one interrupted or capped run without re-collecting products already returned there.
incrementalModebooleanfalseReturn only new and changed products on recurring runs of the same search.
stateKeystringnoneName or share an incremental-mode monitoring campaign. Leave empty to derive one from the search scope.
emitUnchangedbooleanfalseIncremental mode only. Also return (and bill) products marked UNCHANGED.
emitExpiredbooleanfalseIncremental mode only. Also return (and bill) products marked EXPIRED, only after a run that fully scanned the tracked search.
proxyobjectApify ResidentialConnection settings.
mcpConnectorsarraynoneOptional: send a summary of each product to apps you authorized under Integrations.
notionParentPageUrlstringnoneNotion connector only: page under which items are created.
maxNotifyListingsinteger50Cap on items written to each connector per run (non-Notion digests are further limited to 25).

Output Example

Sample shape: values are illustrative placeholders, not from a live record.

{
"productId": 30001,
"url": "https://kream.co.kr/products/30001",
"productName": "Nike Dunk Low Retro Black",
"productNameKo": "나이키 덩크로우 레트로 블랙",
"brand": "Nike",
"brandId": 1,
"category": "sneakers",
"categoryName": "스니커즈",
"styleCode": "DD1391-100",
"colorway": "BLACK/WHITE",
"gender": "men",
"releaseDate": "2024-01-20",
"retailPrice": 109000,
"retailPriceFormatted": "109,000원",
"currency": "KRW",
"imageUrl": "https://image.kream.co.kr/products/30001/main.jpg",
"imageUrls": ["https://image.kream.co.kr/products/30001/main.jpg"],
"lowestAsk": 135000,
"highestBid": 128000,
"marketPrice": 132000,
"lastSalePrice": 130000,
"totalSales": 842,
"changeValue": 2000,
"changePercentage": 1.5,
"premium": 26000,
"premiumPercentage": 23.9,
"hasImmediateDelivery": true,
"wishCount": 5210,
"reviewCount": 312,
"haveCount": 890,
"isActive": true,
"isTradable": true,
"sizes": ["250", "260", "270", "280"],
"sizeOptions": [
{ "id": 1, "key": "270", "name": "270", "displayName": "270" }
]
}

Plan Requirement

KREAM gates its product API by request headers rather than by country, so a residential connection from any country can return data; a Korea pin is not required. Apify Residential is the default and is recommended for the best success rate. Pick a different connection setting under Proxy configuration if you need one.

FAQ

How much does it cost?

You pay per product returned, plus a small per-run start fee. Detail enrichment is billed when Fetch full details is on, and for every pasted product URL, which always returns full detail. The Pricing tab on the actor page shows the current rates. Use Max items to cap the cost of any run.

This actor collects only publicly available marketplace data. You are responsible for how you use it: follow KREAM's terms and the laws that apply to you, and get legal advice before any commercial redistribution. Prices and stock levels reflect the moment the run was made, not a live feed.

Can I get only new or changed prices on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared products, since a price, ask, bid or wish-count move is real signal on a resale marketplace, not noise, and unchanged products are not billed unless you turn on Emit unchanged.

Yes. sort, quickDelivery, belowRetail, excludeSoldOut, category and gender all apply in both search mode and URL mode: a pasted KREAM search URL is re-run through KREAM's search with them applied. The one exception is a pasted product URL, which always returns that single product in full, unfiltered.

How do I tell a blocked run from a search with no matches?

If KREAM keeps refusing requests, the run stops early and its status message reads 0 listings (BLOCKED), while a genuine empty search reads 0 listings (ZERO_RESULTS). Products collected before a block are kept. Switch the connection to Apify Residential and run it again.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

🔗 Want more fashion data?

Pair this actor with these related scrapers from the same team:

👗 StockX Scraper
Scrape StockX market data by keyword, category or URL. Every row carries lowest ask...
👗 GOAT Scraper
Scrape GOAT (goat.com), the sneaker and streetwear resale marketplace. Search or paste...
👗 KLEKT Sneaker & Apparel Resale Scraper
Scrape sneaker and streetwear listings from KLEKT (klekt.com). Browse the catalog with...
🏷️ ThredUp Scraper
Scrape ThredUp resale listings by keyword, department, brand, size, condition, price or...
👗 24S Scraper
Scrape 24S luxury fashion by category, filters, or URL. Extract brand, name, price...
👗 Poshmark Scraper
Scrape Poshmark fashion-resale listings: keyword search, brand and category browse, sold...

👉 Browse all abotapi scrapers

💬 Support & custom scrapers

  • 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
  • 🛠️ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
  • ⭐ Enjoying it? A quick review on the actor page helps other users find it.