Sephora Product Details & Reviews Scraper (with Demographics)
Pricing
Pay per event
Sephora Product Details & Reviews Scraper (with Demographics)
Sephora reviews scraper + product details by Product ID. Reviews mode: demographics (skin type, age, verified purchase), helpfulness, photos. Details mode: SKUs, variants, prices, ingredients. Bulk IDs supported. No Sephora API key. Pairs with our catalog scraper.
Pricing
Pay per event
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
2
Bookmarked
24
Total users
5
Monthly active users
11 days ago
Last modified
Categories
Share
Sephora Product Details & Reviews Scraper (with Demographics) 💬
🎉 Sephora reviews scraper + product details extractor — pull reviews with demographics (skin type, age, verified purchase) OR full product specs by Sephora Product ID
Built for beauty research teams, sentiment-analysis platforms, brand monitors, and product-intelligence pipelines who need Sephora.com reviews + ingredient + variant data — no Sephora API, no setup
📋 Overview
Two modes in one actor:
- 💬 Product Reviews — full BazaarVoice review records with skin type, skin tone, eye color, hair color, age range, verified purchase, helpfulness score, and photo URLs for any Sephora product ID
- 📋 Product Details — full SKU + variants + ingredients + descriptions + highlights + images + videos for any Sephora product ID
Paste one or more Sephora Product IDs (e.g. P507574), choose a mode, and get a flat structured dataset. One run, one tidy dataset out.
Why teams choose SIÁN for Sephora reviews + product data:
- ✅ Demographic filters on reviews —
skinType,skinTone,eyeColor,hairColor,ageRangepopulated per review (the input-shape moat — no other Sephora actor exposes these) - ✅ Two modes, one actor —
productReviewsandproductDetailscover both major buy-side queries in a single listing - ✅ Verified-purchase + helpfulness filters — surface the reviews that actually move conversion
- ✅ Bulk Product IDs supported — process a list of productIds from your catalog dataset in one run
- 🧼 HTML stripped from descriptions — long descriptions, suggested usage, ingredient lists arrive as clean text, not raw
<br><p>markup - ⚡ 23-field review records (rating, title, text, demographics, photos, helpfulness, verified-purchase, recommendation rate)
- ⚡ 35+ field product detail records (SKUs, variants, prices, ingredients, descriptions, highlights, images, videos)
- 💰 Pay-per-result pricing — only charged for successful extractions
- 💎 No Sephora API key, no setup, no proxies — paste a product ID and run
- 📊 HTML run report — rating distribution pie, top reviews, success stats
✨ Features
Product Reviews Mode (action: "productReviews")
- 💬 Full review records — rating (1–5★), title, body, username, submission time
- 👤 Demographics —
skinType(Combination / Dry / Normal / Oily),skinTone,eyeColor,hairColor,ageRange - ✅ Verified purchase flag — separate genuine buyers from anonymous reviewers
- 👍 Helpfulness score + positive/negative feedback counts + total feedback count
- 📷 Photo URLs — array of reviewer-uploaded photos (when present)
- ⭐ Rating filter — only return reviews at or above N stars (1–5)
- 🔄 Sort by — MOST_HELPFUL (default), HIGHEST_RATING, LOWEST_RATING, NEWEST, OLDEST
- 📄 Pagination —
limit(1–1000 per call) +offsetfor full review-history pulls
Product Details Mode (action: "productDetails")
- 📦 All SKUs / variants — full size + price + stock arrays
- 💰 Min / max price range computed across variants
- 🧪 Ingredients list —
currentSku.ingredientDesc, HTML-stripped to clean text - 📝 Descriptions —
shortDescription,longDescription,suggestedUsageall HTML-stripped - ⭐ Highlights —
["Good for: Dry Skin", "Clean at Sephora", "Cruelty-Free", ...] - 🖼️ Hero image + alternate images array (HTTPS URLs)
- 🎥 Product video URLs when present
- 🏷️ Stock + availability flags —
isOutOfStock,isOnlineOnly,isLimitedEdition - 🗂️ Parent category — links back to the catalog taxonomy
- 📊 Variant count + flattened
allVariantsarray (skuId, size, price, stock)
🎬 Quick Start
Paste any Sephora Product ID (find it in any Sephora URL after /product/).
{"productId": "P507574","action": "productReviews"}
Returns the top 10 most-helpful reviews for that product with full demographics and photo URLs.
🚀 Getting Started (4 Simple Steps)
Step 1: Find a Sephora Product ID
Open any product page on sephora.com — the URL ends with -P{ID} (e.g. https://www.sephora.com/product/the-dewy-skin-cream-P441101 → P441101).
You can also pipe IDs straight from the Sephora Product Catalog Scraper — every row has productId ready to paste.
Step 2: Pick a mode
productReviews— customer reviews with demographicsproductDetails— full product spec, variants, ingredients, media
Step 3: (Reviews) Add filters
Minimum rating, sort order, limit (1–1000), offset for pagination.
Step 4: Click "Start"
Reviews or details stream into the Apify dataset. JSON, CSV, Excel ready.
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
productId | string | Either this or bulkProductIds | Single Sephora Product ID (e.g. P507574). |
bulkProductIds | array of strings | Either this or productId | Multiple Product IDs in one run (e.g. ["P507574", "P441101", "P393151"]). |
action | string (enum) | Yes | productReviews (default) or productDetails. |
reviewRating | integer | No (reviews only) | 1–5★ floor. Use 1 for all reviews. |
reviewSortBy | string (enum) | No (reviews only) | MOST_HELPFUL (default), HIGHEST_RATING, LOWEST_RATING, NEWEST, OLDEST. |
reviewLimit | integer | No (reviews only) | Max reviews per product (1–1000). Default 10. |
reviewOffset | integer | No (reviews only) | Skip the first N reviews (for pagination). Default 0. |
Example — Top 50 most-helpful 4★+ reviews for a product:
{"productId": "P441101","action": "productReviews","reviewRating": 4,"reviewSortBy": "MOST_HELPFUL","reviewLimit": 50}
Example — Full product details for one Sephora SKU:
{"productId": "P507574","action": "productDetails"}
Example — Bulk reviews for an entire bestseller list:
{"bulkProductIds": ["P507574", "P441101", "P393151", "P520773"],"action": "productReviews","reviewLimit": 20,"reviewRating": 1}
📤 Output
Reviews Mode (itemType: "product-review")
| Field | Type | Example |
|---|---|---|
reviewId | string | 336871156 |
productId | string | P507574 |
productName | string | 2% Stem Cell H-2 Grow Complex Scalp Serum |
brandName | string | Act+Acre |
productUrl | URL | sephora.com canonical link |
productImage | URL | hero image |
rating | number | 4 |
reviewTitle | string | "Definitely helps appearance" |
reviewText | string | full review body |
userNickname | string | Jackson404 |
submissionTime | ISO 8601 | "2025-02-07T15:19:01.000+00:00" |
isRecommended | boolean | true |
helpfulness | number | 95.65 (percent positive of total feedback) |
totalFeedback | number | 23 |
positiveFeedback | number | 22 |
negativeFeedback | number | 1 |
verifiedPurchase | boolean | false |
skinType | string | "Combination" |
skinTone | string | "Light" / "Medium" / "Deep" |
eyeColor | string | "Brown" |
hairColor | string | "Black" |
ageRange | string | "25 to 34" |
hasPhotos | boolean | true |
photoUrls | array of URLs | reviewer-uploaded photos |
moderationStatus | string | "APPROVED" |
processedAt | ISO 8601 | "2026-05-23T15:19:57.530Z" |
Details Mode (itemType: "product-detail")
35+ fields per product. Key fields:
| Field | Type | Example |
|---|---|---|
productId | string | P507574 |
productName | string | 2% Stem Cell H-2 Grow Complex |
brandName | string | Act+Acre |
rating | number | 4.39 |
reviewCount | number | 1872 |
lovesCount | number | 12500 |
shortDescription | string (HTML-stripped) | "What it is: Powered by 2% Apple Stem Cells..." |
longDescription | string (HTML-stripped) | full marketing copy |
suggestedUsage | string (HTML-stripped) | application instructions |
ingredients | string (HTML-stripped) | full INCI list |
highlights | array | ["Good for: Flaky/Dry Scalp", "Clean at Sephora", ...] |
currentSize / currentPrice | string | "4.6 oz/ 130mL" / "$55.00" |
minPrice / maxPrice | string | "$25.00" / "$93.00" |
variantCount | number | 3 |
allVariants | array | [{skuId, size, price, isOutOfStock}, ...] |
alternateImages | array | additional hero images |
videoUrls | array | product videos |
isOutOfStock / isOnlineOnly / isLimitedEdition | boolean | stock flags |
category | string | parent category name |
Plus an HTML run report saved to the key-value store.
💼 Use Cases & Examples
- Scrape Sephora reviews for sentiment analysis — Pull reviews by skin type or age range, then run NLP over
reviewText - Sephora reviews API alternative — Programmatic access to BazaarVoice review data without a vendor contract
- Sephora ingredient data extraction — Pull
ingredientsfield for INCI auditing, allergen detection, formulation research - Sephora product details API — Full SKU + variant + price spec for catalog enrichment
- Extract Sephora customer reviews with skin type filter — Build a "reviews from people with my skin type" tool
- Sephora verified purchase reviews — Filter for
verifiedPurchase: trueto discard non-buyers - Sephora review sentiment analysis pipeline — Schedule daily pulls, run sentiment scoring, surface trending issues
- Sephora rating data export — Per-product rating distribution for retail dashboards
- Sephora SKU and variant data export — Full variant matrix for retail allocation planning
- Beauty review aggregator alternative — Build your own review aggregator from a clean Sephora data feed
- Influencer marketing research — Pair with our Catalog Scraper — find bestsellers in a category, then pull their reviews to see what real buyers say
- Product launch monitoring — Track review velocity and rating trajectory in the first 30 days after launch
📊 Performance & Pricing
- Speed: ~3–8 seconds per Product ID (single upstream call + transform)
- Throughput: bulk-paste up to hundreds of Product IDs per run
- Reviews limit: up to 1000 reviews per product per call (paginate beyond with
reviewOffset) - FREE tier: 5 products per run for evaluation
- PAID tier: unlimited products, priority infrastructure
- Pay-per-result: only charged for successful extractions
❓ Frequently Asked Questions
Q: Does Sephora have a reviews API? A: Sephora doesn't publish a public reviews API. This actor reads from a structured Sephora-data feed and exposes both review and product-detail surfaces.
Q: How do I find a Sephora Product ID?
A: Open any product page on sephora.com — the URL ends with -P{ID} (e.g. P441101). Or pipe IDs directly from our Sephora Product Catalog Scraper.
Q: Can I scrape all reviews for a product?
A: Yes — set reviewLimit: 1000 and paginate via reviewOffset if a product has more than 1000 reviews.
Q: What demographic data is exposed?
A: skinType, skinTone, eyeColor, hairColor, ageRange — populated when the reviewer filled them in on Sephora's site (most reviews do).
Q: Is there a free Sephora reviews scraper? A: This actor's FREE tier returns 5 products per run with full feature access — enough for evaluation and small audits. Upgrade for unlimited.
Q: How much does the Sephora reviews scraper cost? A: Pay-per-result pricing. You're billed per successful review or product detail extracted. See the current rate on the actor page.
Q: Can I scrape Sephora data legally? A: We only extract data Sephora has chosen to publish publicly (no user logins, no private contact data). See the Legal section below.
Q: Are HTML tags stripped from descriptions?
A: Yes — shortDescription, longDescription, suggestedUsage, and ingredientDesc arrive as clean text with <br>/<p> normalized to line breaks and HTML entities decoded.
Q: What output formats are available? A: JSON, CSV, Excel, RSS, HTML, XML — export directly from the Apify dataset UI or via API.
Q: Where can I find a Sephora review dataset on GitHub? A: Most GitHub Sephora review datasets are months-stale snapshots. This actor returns live reviews on demand — schedule it for fresh data daily.
🐛 Troubleshooting
Empty review dataset
- The product may have no reviews at or above your
reviewRatingfloor. SetreviewRating: 1to fetch all reviews. - Some new products have zero reviews — verify on sephora.com.
Only 5 results when I expected more
- You're on the FREE tier. Upgrade for unlimited.
HTML tags appearing in description fields
- Should never happen on
shortDescription/longDescription/suggestedUsage/ingredients— they're stripped automatically. If you see tags in another field, open an Issue.
productId not found
- The product may have been delisted. Open the URL
https://www.sephora.com/product/anything-{productId}in a browser to confirm.
Pagination cuts off early
reviewLimitcaps at 1000 per call. For >1000 reviews, incrementreviewOffsetacross multiple runs.
⚠️ Trademark Disclaimer
This actor is an independent scraping tool and is not affiliated with, endorsed by, or sponsored by Sephora USA, Inc. or any of its subsidiaries. "Sephora" is used solely in a descriptive sense to identify the public data source the actor reads from. Sephora® and all brand names appearing in product records are trademarks of their respective owners. All other trademarks are the property of their respective owners.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses or contact information. They only extract what Sephora has chosen to share publicly on sephora.com. Review data is published publicly by reviewers who explicitly consented to public display. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.
However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union, the CCPA in California, and by other regulations around the world. Review demographics (skinType, ageRange, etc.) are non-PII but the combination of nickname + photo + demographics may raise privacy considerations in some jurisdictions. Consult your lawyers when processing review data at scale.
You can also read Apify's blog post on the legality of web scraping.
✨ More by SIÁN Agency
Part of the SIÁN Agency Apify portfolio — production-grade scrapers used by agencies, research teams, and brands. A few that pair well with this Sephora reviews actor:
Beauty & E-commerce
- Sephora Product Catalog Scraper — Brands, Categories & Filters — Pull catalog by brand / category / keyword, then pipe productIds here for full enrichment
- Taobao & Tmall Product Scraper — China's #1 beauty marketplace
- TikTok Shop Scraper — TikTok Shop beauty product reviews
Social Discovery & Sentiment
- Best TikTok AI Transcript Extractor — Find creator-mentioned Sephora bestsellers
- Instagram AI Transcript Extractor — Reels + Stories transcription
- YouTube AI Comments Scraper — Beauty influencer comment sentiment
⭐ Leave a 5-Star Review
Love this actor? Leave a 5-star review here — it helps us build more features and lets other beauty data teams find it.
🤝 Support
Join our active support community
- For issues or questions, open an issue in the actor's Apify Console Issues tab
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools