Olive Young Global Bestsellers & Price Tracker avatar

Olive Young Global Bestsellers & Price Tracker

Pricing

$2.00 / 1,000 product results

Go to Apify Store
Olive Young Global Bestsellers & Price Tracker

Olive Young Global Bestsellers & Price Tracker

Collect K-beauty bestseller rankings, USD prices, stock indicators and review counts. Compare complete snapshots across runs.

Pricing

$2.00 / 1,000 product results

Rating

0.0

(0)

Developer

CRNO

CRNO

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Security

Limited permissions

Share

Collect Olive Young Global's bestseller rankings as structured product data. Get names, brands, USD prices, price ranges, discounts, stock indicators, ratings and review counts. Reuse the same history store across scheduled runs to compare prices and ranks.

The Actor uses public HTTP responses. No browser or Olive Young login is required by the implementation. Direct access can still be blocked in some environments; optional proxy configuration is available.

Quick start

Use the default input to collect the overall bestseller ranking, up to 100 products:

{
"categoryIds": ["all"],
"maxItemsPerCategory": 100,
"trackChanges": true,
"historyStoreName": "oliveyoung-global-history-v1",
"proxyConfiguration": { "useApifyProxy": false }
}

For overall, skincare and suncare rankings:

{
"categoryIds": ["all", "1000000008", "1000000011"],
"maxItemsPerCategory": 100,
"trackChanges": true,
"historyStoreName": "my-kbeauty-tracker"
}

The current site's category links are saved in the CATEGORIES key-value store record. The Actor rejects unknown category IDs. A recognized category can still return no bestseller data; that category is reported as failed, not as a successful empty result. Category availability may change.

Input

FieldDefaultPurpose
categoryIds["all"]Up to 10 overall/category rankings; duplicates removed
maxItemsPerCategory100Save the top 1–100 products of each category
trackChangestrueRead and save complete comparison snapshots
historyStoreNameoliveyoung-global-history-v1Named store in your account; reuse for comparisons
proxyConfigurationDirectExplicitly enable an Apify or custom proxy if needed

A lower item limit reduces the output, not the size of the source response. A product appearing in two categories produces two results because it has two separate ranks.

Output

Products go to the default dataset, exportable through Apify as JSON, CSV or Excel. Example values below illustrate the format; live prices change.

{
"schemaVersion": 1,
"productId": "GA240824996",
"name": "MEDIHEAL Essential Mask Sheet 10ea Set (+1ea) (OY-Exclusive) (7 Options)",
"brand": "MEDIHEAL",
"brandKo": "메디힐",
"categoryId": "all",
"categoryName": "All",
"rank": 1,
"market": "global",
"currency": "USD",
"price": 13.5,
"listPrice": 27,
"minPrice": 13.5,
"maxPrice": 13.5,
"discountPercent": 50,
"stockQuantity": 2408,
"sourceStockQuantity": "2408",
"dataWarnings": [],
"isSoldOut": false,
"rating": 4.9,
"reviewCount": 8349,
"productUrl": "https://global.oliveyoung.com/product/detail?prdtNo=GA240824996",
"imageUrl": "https://cdn-image.oliveyoung.com/prdtImg/1219/4d15e768-500a-4a02-a1a4-ddd8bab694e7.png",
"scrapedAt": "2026-11-05T05:30:00.000Z",
"comparisonStatus": "noBaseline",
"previousRunId": null,
"previousScrapedAt": null,
"previousRank": null,
"rankChange": null,
"previousPrice": null,
"priceChange": null,
"priceChangePercent": null,
"stockChange": null,
"isNewEntry": null,
"runId": "example-run"
}
  • rankChange: positive means moving up, e.g. rank 5 → 2 returns 3.
  • priceChange: current price minus previous price. Negative means cheaper.
  • priceChangePercent: percentage change relative to the previous price.
  • stockChange: current displayed stock minus previous displayed stock, when both are valid nonnegative numbers.
  • isNewEntry: whether the product was absent from the previous comparable returned ranking. This does not mean the product itself is newly launched.
  • stockQuantity: site-provided indicator, not independently verified inventory. Negative source values become null; sourceStockQuantity and dataWarnings preserve the reason.
  • Missing optional values remain null. Prices are global USD listing prices, excluding shipping, tax and personalized discounts. price is the listing sale amount, not an individually selected variant price.

Change tracking and scheduling

Schedule the Actor daily or hourly in Apify and keep historyStoreName unchanged. The first complete run establishes a baseline; a later run compares against the latest complete snapshot that started earlier. Categories and storefront/delivery context use separate comparison scopes.

Comparison statuses:

ValueMeaning
noBaselineFirst comparable run; change fields are null
comparedComparable previous snapshot available
baselineSmallerPrevious response covered fewer products; unmatched products get isNewEntry: null
incompleteRankingResponse shrank by at least 5 products and below 80% of the prior count; comparisons are suppressed
disabledChange tracking turned off

Snapshots are written only after all products in that category are saved successfully. An item limit, budget limit, invalid data, failed dataset write or suspicious count drop leaves the previous baseline intact. A partial run can still provide product rows; inspect SUMMARY.

Snapshots are immutable, so concurrent runs cannot overwrite one another's history. Runs do not report disappeared products as deleted or sold out. If a genuinely smaller ranking repeatedly fails the size check, choose a new history store name to establish a fresh baseline after reviewing the source.

History is retained without automatic deletion and consumes storage over time. Avoid unnecessary high-frequency schedules. Automatic run resume is not implemented: a resurrected run with existing dataset rows fails before adding duplicates; start a fresh run instead.

Diagnostics

The uncharged SUMMARY record includes per-category status, fetched/saved counts, baseline handling, errors, duration, request count, retry count and uncompressed response bytes. CATEGORIES lists category IDs discovered from the current site.

No data is emitted for a challenge page, invalid JSON, empty ranking, duplicate product ID or missing required product ID/name/price. HTTP 401/403/418/429 stops that request without repeated retries. Temporary network/5xx errors receive at most two retries. A run with every category failed is marked failed; mixed outcomes are marked partial in SUMMARY.

Scope

This version covers global bestseller rankings and their product-card fields. It does not collect Korean-store prices, review text, full product descriptions, ingredients, individual SKU prices or a complete store catalog. It does not infer revenue or units sold from undocumented site fields. It is an independent tool, not affiliated with Olive Young.

Pricing

$2 per 1,000 saved product/category rows ($0.002 per row), charged through the single product-scraped event. A product appearing in two categories counts as two rows. There is no subscription or startup fee.

There is no additional automatic dataset-item charge. Failed rows and SUMMARY/CATEGORIES records are not charged. Standard platform usage is included in the event price; no proxy is needed with the default configuration. The Actor respects the run's maximum charge limit.