YesStyle Scraper - K-Beauty, Fashion, Prices & Reviews avatar

YesStyle Scraper - K-Beauty, Fashion, Prices & Reviews

Pricing

from $1.70 / 1,000 product results

Go to Apify Store
YesStyle Scraper - K-Beauty, Fashion, Prices & Reviews

YesStyle Scraper - K-Beauty, Fashion, Prices & Reviews

Scrape YesStyle products by keyword or URL. Extract prices, discounts, ratings, stock, images, categories, variants and customer reviews across K-beauty, fashion and lifestyle. Incremental mode tracks daily changes.

Pricing

from $1.70 / 1,000 product results

Rating

0.0

(0)

Developer

Abot API

Abot API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 hours ago

Last modified

Categories

Share

YesStyle Scraper: K-Beauty, Fashion & Lifestyle Products + Reviews

YesStyle Scraper turns the YesStyle store into structured product and review data. Search by keyword or paste product, brand, category or search links, and get each product's price, discount, rating, review count, stock status, images and category trail, plus the store's own customer reviews. Export to JSON, CSV or Excel, or read the results straight through the API. Incremental mode tracks what changed since your last run.

Why This Scraper?

  • Two ways in. Run keywords through the store's own search, or paste product, brand, category and search links for a fixed catalogue.
  • 75+ fields per product. Price in local currency and USD, original price, discount, rating to two decimals, review count, brand id, variant and variant family, bestseller rank, awards, sale status, every active promotion, origin country, plus where the row came from and its rank in those results.
  • Full product pages. Every gallery image at full size, the complete product details (size, benefits, how to use), ingredients, the rating breakdown by star, bestseller ranks per category, brand profile and satisfaction score, bundle offers, catalog number, delivery estimate and the category trail with ids.
  • Customer reviews attached. Each product can carry its reviews as a nested list: title, rating, text, date, reviewer, helpful-vote counts, review images with thumbnails and the exact variant reviewed, sorted and filtered the way you choose.
  • Regional storefronts. The connection's exit country decides which YesStyle storefront and currency a run reads (US by default).
  • Built for schedules. Incremental mode returns only new, changed, reappeared or expired products on later runs, with the changed fields named on each row.

Use Cases

  • Price and discount monitoring: schedule a daily run over your brands or keywords and let incremental mode return only what changed.
  • Review mining: pull ratings, review text, dates and helpful-vote counts for sentiment analysis or competitor research.
  • Catalogue feeds: build a structured feed of a brand's or category's listings with full image galleries, ingredients, product details and category trails.
  • Stock, ranking and launch tracking: watch availability, bestseller ranks and search positions, and catch new arrivals as they enter the results.

Data You Get

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

FieldExample
productId"1000000001"
url"https://www.yesstyle.com/en/sample-sheet-mask/info.html/pid.1000000001"
name"Sample Hydrating Sheet Mask"
brand / brandId"Sample Brand" / 300001
variant"25ml"
price / currency12.34 / "USD"
originalPrice / discountPercent18.0 / 31
priceUsd12.34
rating / reviewCount4.82 / 1000
ratingBreakdown{"5": 800, "4": 150, "3": 30, "2": 10, "1": 10}
bestsellerRank2
promotions["limitedDeal", "highDiscount"]
itemStatus"FLASH SALE"
imagesmain shot plus every gallery image at full size (detail enrichment)
productDescription"Full product description appears here when detail enrichment is on."
productDetailssize, benefits, types and how to use, as text (detail enrichment)
ingredients"Water, Glycerin, Niacinamide, ..." (detail enrichment)
brandOrigin"South Korea" (detail enrichment)
bestsellerRanks[{"rank": 2, "category": "Face Masks", "categoryId": 15561}] (detail enrichment)
variantProductIdsids of the other variants in the family
bundlesbundle offers that contain the product (detail enrichment)
categories["Home", "Beauty", "Skin Care", "Face Masks"] (detail enrichment)
searchRank / sourceQuery3 / "sheet mask"
reviewsnested review rows, each key prefixed review (review enrichment)

Every listing row also carries originalPriceDisplay, priceDisplay, discountAmountUsd, isNew, hasVideos, variantCount, awards, productPackLabel, badges, originCountry, imageUrl and sourceUrl. Detail enrichment adds imageCount, coverImageUrl, productDetailSections, size, howToUse, benefits, brandUrl, brandDescription, brandSatisfactionPercent, brandReviewCount, brandPositiveReviewCount, yesStylerCount, availability, availabilityText, isSellable, condition, selectedOption, dealClaimedPercent, saleEndDate, parentProductId, productInformation, importedFrom, catalogNumber, categoryId, categoryIds, categoryUrls, searchKeywords, shipsTo, freeShippingOffer, deliveryEstimate, purchaseNote and nonReturnable. Review enrichment adds reviewsSummary (total, satisfaction and per-star counts). Both enrichments are on by default. With Incremental mode on, every row also carries changeType (NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED) and changedFields.

How to Use

  1. Pick a mode: search (run keywords through the store's own search) or url (paste product, browse or search links).
  2. Toggle Fetch product details and Fetch customer reviews for the enriched fields; both are on by default.
  3. Set Max products to control run size and cost, then click Start.
  4. Download the dataset as JSON, CSV or Excel, or read it through the API.

Search by keyword:

{
"mode": "search",
"queries": ["sheet mask"],
"sortBy": "bestsellers",
"maxItems": 50
}

Watch one brand's full catalogue:

{
"mode": "url",
"urls": ["https://www.yesstyle.com/en/anua/list.html/bpt.299_bid.325602"],
"maxItems": 0,
"fetchReviews": false
}

One product, all its reviews, newest first:

{
"mode": "url",
"urls": ["https://www.yesstyle.com/en/aplb-glutathione-niacinamide-sheet-mask-25ml/info.html/pid.1124536886"],
"reviewSort": "newest",
"maxReviewsPerProduct": 0
}

Daily change monitoring:

{
"mode": "search",
"queries": ["sheet mask"],
"incrementalMode": true,
"stateKey": "my-monitor",
"maxItems": 100
}

Run it from your code

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("abotapi/yesstyle-com-scraper").call(run_input={
"mode": "search", "queries": ["sheet mask"], "maxItems": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["productId"], item["name"], item.get("price"), item.get("currency"))

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('abotapi/yesstyle-com-scraper').call({
mode: 'search', queries: ['sheet mask'], maxItems: 50,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.map((i) => [i.productId, i.name, i.price]));

How maxItems shapes a scheduled run

Max products (maxItems, default 20) caps the whole run; 0 removes the cap. Max pages (maxPages) caps each keyword or listing separately; leave it empty to walk every page. Reviews are read only for products actually returned, and Max reviews per product (default 20, 0 = all) caps each product's list.

Resume and recurring updates

  • Resume (resumeFromRunId) continues one interrupted 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 input. Each product is classified NEW, UPDATED (with changedFields), UNCHANGED (suppressed and not billed unless emitUnchanged is on), REAPPEARED, or EXPIRED (only after a complete scan, and only with emitExpired on). stateKey names or shares the stored state. Change detection tracks product-level fields (price, rating, review count, availability and so on), so a product with a new review comes back as UPDATED without re-sending every historical review. List any fields you don't want treated as changes in ignoreFieldsForChanges.

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 record, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. 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. maxNotifyListings caps how many products are sent per run (default 50).

Input Parameters

ParameterTypeDefaultDescription
modestringsearchsearch (keywords) or url (pasted links, routed by their own shape).
queriesarray["sheet mask"] (prefilled)Keywords for search mode.
sortBystringbestsellersSearch mode only: bestsellers, new_arrivals, price_low_high, price_high_low, best_value, availability or discount_high_low. Pasted links keep their own sort.
urlsarraysample (prefilled)Product, brand, category or search links for URL mode.
minPricestring(none)Both modes: keep only products priced at or above this value.
maxPricestring(none)Both modes: keep only products priced at or below this value.
inStockOnlybooleanfalseBoth modes: keep only products the store marks in stock (needs product details).
fetchDetailsbooleantrueRead each product's own page for the description, images, variant, stock wording and categories.
fetchReviewsbooleantrueAttach the product's customer reviews as a nested list, billed per review.
reviewSortstringrelevantrelevant, newest, highest or helpful.
reviewFilterstringallall, five_star to one_star, positive, negative, photo or video.
maxReviewsPerProductinteger20Stop after this many reviews per product (0 = all).
maxItemsinteger20Product cap for the whole run (0 = no limit).
maxPagesinteger(none)Page cap per keyword or listing (empty = all pages).
resumeFromRunIdstring(none)Continue one interrupted run; products it already collected are skipped.
incrementalModebooleanfalseReturn only new and changed products on scheduled runs.
stateKeystring(none)Name or share an incremental-mode state.
emitUnchangedbooleanfalseAlso return (and bill) unchanged products.
emitExpiredbooleanfalseAlso return (and bill) products that disappeared after a complete scan.
ignoreFieldsForChangesarray(none)Field names that alone should not mark a product UPDATED.
proxyobjectApify Proxy, Residential, US (prefilled)Connection settings; the exit country decides the regional storefront and currency.
mcpConnectorsarray(none)Optional: send a summary of each record to apps you authorized under Integrations.
notionParentPageUrlstring(none)Notion connector only: page under which records are created.
maxNotifyListingsinteger50Cap on products written to each connector per run.

Output Example

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

{
"productId": "1000000001",
"url": "https://www.yesstyle.com/en/sample-sheet-mask/info.html/pid.1000000001",
"name": "Sample Hydrating Sheet Mask",
"brand": "Sample Brand",
"brandId": 300001,
"variant": "25ml",
"price": 12.34,
"currency": "USD",
"priceDisplay": "US$ 12.34",
"originalPrice": 18.0,
"originalPriceDisplay": "US$ 18.00",
"discountPercent": 31,
"priceUsd": 12.34,
"discountAmountUsd": 5.66,
"rating": 4.82,
"reviewCount": 1000,
"ratingBreakdown": {"5": 800, "4": 150, "3": 30, "2": 10, "1": 10},
"itemStatus": "FLASH SALE",
"promotions": ["limitedDeal", "highDiscount"],
"bestsellerRank": 2,
"bestsellerRanks": [{"rank": 2, "category": "Face Masks", "categoryId": 10002}],
"variantProductIds": ["1000000002", "1000000003"],
"variantCount": 3,
"originCountry": "KR",
"images": [
"https://d1flfk77wl2xk4.cloudfront.net/Assets/00/000/l_p0000000000.jpg",
"https://d1flfk77wl2xk4.cloudfront.net/Assets/GalleryImage/00/000/L_g0000000001.jpg"
],
"imageCount": 2,
"productDescription": "Full product description appears here when detail enrichment is on.",
"size": "25ml",
"howToUse": "Apply to cleansed skin and remove after 15 minutes.",
"ingredients": "Water, Glycerin, Niacinamide",
"brandOrigin": "South Korea",
"brandSatisfactionPercent": 98.5,
"availability": "InStock",
"dealClaimedPercent": 60,
"saleEndDate": "2026-01-01T00:00:00Z",
"categories": ["Home", "Beauty", "Skin Care", "Face Masks"],
"categoryIds": [10000, 10001, 10002],
"bundles": [{"bundleProductId": "1000000009", "bundleTitle": "Sample Sheet Mask Bundle Set", "bundlePrice": 49.0}],
"importedFrom": "South Korea",
"deliveryEstimate": "6 - 8 business days",
"searchRank": 3,
"sourceQuery": "sheet mask",
"scrapedAt": "2026-01-01T00:00:00Z",
"reviewsSummary": {"totalReviews": 1000, "satisfactionPercent": "98%", "ratingBreakdown": {"5": 800, "4": 150, "3": 30, "2": 10, "1": 10}},
"reviews": [
{
"reviewId": 10000001,
"reviewTitle": "Excellent for hydrating",
"reviewRating": 5,
"reviewText": "Review text appears here.",
"reviewDate": "January 1, 2026",
"reviewerName": "Jane Doe",
"reviewHelpfulVotes": 10,
"reviewTotalVotes": 12,
"reviewImages": [],
"reviewImageThumbnails": [],
"reviewProductId": "1000000001"
}
]
}

Plan Requirement

The prefilled connection (Apify Proxy, Residential, US) works out of the box. Change the proxy country to read another regional storefront and its currency.

FAQ

How much does it cost?

You pay per product returned, plus detail enrichment per product whose page was read and review enrichment per review attached. Turning both enrichments off gives the cheapest run. The Pricing tab shows the current rates. Use Max products and Max reviews per product to cap the cost of any run.

This actor collects only publicly available store data, without logging in. You are responsible for how you use it: follow YesStyle's terms and the laws that apply to you, including privacy law for reviewer names, and get legal advice if you plan commercial redistribution. Product photos and review text may be subject to third-party rights.

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

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. The first run records a baseline; later runs return only new, updated and reappeared products (and expired ones after a complete scan, if you turn on Emit expired products). Unchanged products are not billed.

Why did a run return fewer products than the store shows?

Max products, Max pages, the price bounds and In stock only all narrow results. The store also reorders results between visits, so two runs of the same keyword can differ slightly near the cut-off.

Why did my run fail instead of returning an empty dataset?

If every listing page is refused after retries, the run stops with a clear message, so "no products" is never confused with "nothing could be read". Run it again in a few minutes, or check the connection setting you selected.

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:

πŸ‘— 24S Scraper
Scrape 24S luxury fashion by category, filters, or URL. Extract brand, name, price...
πŸ₯¦ El Corte InglΓ©s Scraper
Scrape El Corte InglΓ©s elcorteingles.es products across fashion, electronics, home...
πŸ‘— ZOZOTOWN
Scrape ZOZOTOWN (zozo.jp), Japan's largest fashion marketplace: name, brand, JPY price...
πŸ‘— OTTO.de Scraper
Scrape OTTO.de products by search or URL. Extract prices, discounts, variants...
πŸ‘— Next.co.uk Scraper
Scrape Next.co.uk: keyword search, category and product-listing walks, full product...
🏷️ Vinted Multi-Country Scraper
Scrape Vinted across 27 country marketplaces: keyword search with brand, price and...

πŸ‘‰ 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.