DEV Community

MOON
MOON

Posted on

How to get Olive Young and Daiso Korea product data as JSON — no code, no Korean IP

If you sell, source, or research K-beauty, the two Korean retailers you actually want data from are Olive Young (Korea's #1 beauty retailer, ~1,300 stores) and Daiso Korea (the ₩1,000 store where VT Reedle Shot went viral). Both have Korean-only websites, both block most scrapers, and neither has a public API.

This is a 5-minute walkthrough for getting their data as clean JSON or CSV using three small scrapers I published on Apify. No coding required; there's an API/Python section at the end if you want to automate it.

What you can get

Source What it returns
Olive Young search Products for any keyword (Korean or English), ordered by Olive Young's popularity ranking: price, sale price, discount %, rating, review count, brand (Korean + English), category, sold-out / coupon / today's-special flags
Olive Young reviews Reviews for any product: text, star rating, date, photos, verified repurchase flag, one-month-use flag, helpful votes, reviewer skin type / tone / concerns
Daiso Korea Products for any keyword with price, rating, review count and cumulative units sold — plus reviews with repurchase flag, attribute ratings and photos

Step 1 — Create a free Apify account

Go to apify.com and sign up (Google login works). The free plan includes $5 of platform credit every month, which is enough for a few thousand results — no card needed to try this.

Step 2 — Open the Actor and enter a keyword

Apify calls each scraper an "Actor". Open one of these:

Click Try for free. You'll land on an input form. For the Olive Young search scraper:

  • Keywords: one per line. Korean gives the best results (선크림 = sunscreen, 토너 = toner, 앰플 = ampoule), but English brand names work too (anua, mediheal, cosrx).
  • Max items: how many products to collect in total. Start with 100.
  • Leave proxy settings on the default.

Click Start. A typical run takes 10–30 seconds.

Step 3 — Look at the results and export

When the run finishes, open the Output tab. You'll see a table with an image, name, prices, rating and review count per product. Click Export to download it as JSON, CSV, Excel, or XML, or copy the dataset URL to load it directly into Google Sheets.

A single Olive Young product row looks like this:

{
  "keyword": "선크림",
  "position": 1,
  "totalResults": 614,
  "goodsNo": "A000000232672",
  "name": "[미니어처 단독기획] 메디힐 마데카소사이드 수분 선세럼 흔적 리페어 50+50+15g 기획",
  "brand": "메디힐",
  "brandEn": "mediheal",
  "originalPrice": 34900,
  "salePrice": 21200,
  "discountRate": 39,
  "currency": "KRW",
  "rating": 4.9,
  "reviewCount": 16595,
  "isRepurchase": null,
  "hasCoupon": true,
  "isTodaySpecial": true,
  "isSoldOut": false,
  "categoryMid": "선케어",
  "url": "https://www.oliveyoung.co.kr/store/goods/getGoodsDetail.do?goodsNo=A000000232672"
}
Enter fullscreen mode Exit fullscreen mode

Step 4 — Get the reviews for a product

Copy the goodsNo value from the search results (e.g. A000000232672) and paste it into the Products field of the Oliveyoung Review Scraper. You can paste product URLs instead of IDs.

Useful options:

  • Sort by: newest first (default), most helpful, highest / lowest rating.
  • Review type: all, photo reviews only, one-month-use reviews, or repurchase reviews only.
  • Max reviews per product: 100 by default; a hit product has 10,000+.

Each review comes back with rating, text, date, isRepurchase, isOneMonthUse, images, helpfulCount, and a reviewer object with skinType, skinTone and skinConcerns in English (Olive Young stores these as codes; the Actor translates them).

Step 5 — Daiso Korea: products with real sales volume

The Daiso Korea Scraper works the same way. Enter keywords (화장품 cosmetics, 마스크팩 sheet mask, 주방 kitchen, 수납 storage…) and you get every matching product with a field most retailers never expose:

{
  "name": "[수분충전]VT PDRN 광채 시트 마스크 1매 25 g",
  "price": 1000,
  "rating": 4.9,
  "reviewCount": 7781,
  "totalSold": 499272,
  "categorySmall": "시트팩",
  "isSoldOut": false
}
Enter fullscreen mode Exit fullscreen mode

totalSold is Daiso's cumulative order count for the listing. Sort your export by that column and you have Daiso Korea's real best-seller list for any category.

Switch the Actor's Mode to reviews and paste productNo values to get review text, star rating, repurchase flag and Daiso's structured attribute ratings ("thickness: thicker than it looks", "durability: sturdy").

Step 6 — Schedule it (price / trend monitoring)

On any finished run, click Save as a task, then Schedule the task (daily, weekly, cron). Each run writes a fresh dataset; you can push it to Google Sheets, S3, a webhook, or Slack from the Integrations tab. That's a K-beauty price/rating monitor for a few cents a day.

Optional — Run it from code

Every Actor has a REST API. With the Apify Python client:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("cocomoon/oliveyoung-scraper").call(run_input={
    "keywords": ["선크림", "toner"],
    "maxItems": 200,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["brandEn"], item["name"], item["salePrice"], item["rating"], item["reviewCount"])
Enter fullscreen mode Exit fullscreen mode

Or with curl:

curl -X POST "https://api.apify.com/v2/acts/cocomoon~oliveyoung-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["선크림"], "maxItems": 50}'
Enter fullscreen mode Exit fullscreen mode

The Actors also work as tools for AI agents through Apify's MCP server, so Claude, Cursor or a custom agent can query Olive Young or Daiso directly.

Pricing and limits

All three are pay-per-result: $3–4 per 1,000 results plus a fraction of a cent per run, with platform usage included. The $5 monthly free credit covers roughly 1,000+ results, so you can evaluate the data before paying anything.

Common questions

Do I need a Korean IP? No. The Actors handle proxies; the review scraper uses Korean residential proxies by default because Olive Young's review API blocks datacenter IPs.

Korean or English keywords? Both work on Olive Young. Korean returns more results; English works for brand names. Daiso is Korean-only.

Is it legal? The Actors read publicly listed product and review data — no login, no personal data (reviewer names on Daiso are masked by the platform; Olive Young exposes only nicknames). You're responsible for how you use the data.

Something broke? Open an issue on the Actor page — retailers change their sites and I maintain these.


I'm a marketer in Seoul who works with Korean retail data daily; I built these because every foreign brand and seller I talked to was copying Olive Young rankings by hand. If there's a Korean platform you need data from, tell me in the comments.

Top comments (0)