Sephora Reviews Scraper
Pricing
Pay per usage
Sephora Reviews Scraper
Scrape Sephora reviews & ratings to analyze product sentiment, track competitor feedback, and drive beauty e-commerce decisions. Collect detailed customer reviews, ratings, and metadata for market intelligence.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Shahid Irfan
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Extract customer reviews for any Sephora product at scale. Provide a product URL or product ID and collect detailed review data including ratings, reviewer profiles, helpfulness votes, verified purchaser status, and customer photos. Perfect for sentiment analysis, product research, and competitive intelligence.
Features
- Any Product URL — Paste any Sephora product page URL and reviews are collected automatically
- Product ID Support — Alternatively supply just the product ID (e.g.
P449116) - Full Review Detail — Captures rating, review title, full text, reviewer name, and submission date
- Reviewer Profiles — Collects skin type, skin tone, eye color, and hair color when available
- Verified Purchaser Flag — Identifies reviews from confirmed buyers
- Helpfulness Votes — Captures positive and negative helpfulness counts per review
- Review Photos — Extracts URLs of customer-uploaded photos
- Flexible Sorting — Sort by newest, oldest, most helpful, highest or lowest rated
- Pagination Support — Automatically pages through all available reviews
- Configurable Limits — Control exactly how many reviews to collect
- Proxy Ready — Built-in proxy configuration support for reliable large-scale runs
Use Cases
Sentiment Analysis
Aggregate hundreds of verified customer reviews to understand how shoppers feel about a product. Identify recurring praise or complaints and map them to specific product attributes like scent, longevity, or packaging.
Competitor Benchmarking
Compare review volume, average ratings, and reviewer feedback across competing products in the same category. Understand what drives high ratings and where competitors fall short.
Product Research & Sourcing
Evaluate product quality before sourcing decisions by analysing authentic customer experiences, skin type fit, and repurchase intent signals hidden in review text.
Brand Monitoring
Track review velocity and sentiment over time for your own brand's products on Sephora. Detect sudden drops in rating that may signal quality or fulfilment issues.
Market Research Reports
Build rich datasets of consumer opinions for cosmetics and fragrance market research reports, academic studies, or investor presentations.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
productUrl | String | Recommended | — | Full Sephora product URL (product ID extracted automatically) |
productId | String | Optional | — | Sephora product ID (e.g. P449116). Used if no URL provided |
results_wanted | Integer | No | 20 | Maximum number of reviews to collect |
max_pages | Integer | No | 10 | Safety cap on the number of review pages fetched |
sort | String | No | SubmissionTime:desc | Sort order for reviews |
proxyConfiguration | Object | No | disabled | Proxy settings for reliable scraping |
Sort Options
| Value | Description |
|---|---|
SubmissionTime:desc | Newest reviews first (default) |
SubmissionTime:asc | Oldest reviews first |
Helpfulness:desc | Most helpful reviews first |
Rating:desc | Highest rated first |
Rating:asc | Lowest rated first |
Output Data
Each item in the dataset contains one review with the following fields:
| Field | Type | Description |
|---|---|---|
review_id | String | Unique review identifier |
product_id | String | Sephora product ID |
product_title | String | Product name |
product_url | String | Link to the product page |
reviewer_name | String | Reviewer username or nickname |
rating | Number | Star rating out of 5 |
title | String | Review headline |
review_text | String | Full review body |
is_recommended | Boolean | Whether reviewer recommends the product |
submission_time | String | ISO datetime of submission |
helpful_votes | Number | Positive helpfulness votes |
not_helpful_votes | Number | Negative helpfulness votes |
total_feedback | Number | Total helpfulness votes |
verified_purchaser | Boolean | Confirmed buyer flag |
skin_type | String | Reviewer's skin type (if provided) |
skin_tone | String | Reviewer's skin tone (if provided) |
eye_color | String | Reviewer's eye color (if provided) |
hair_color | String | Reviewer's hair color (if provided) |
rating_details | Object | Secondary attribute ratings (longevity, value, etc.) |
review_photos | Array | URLs of customer review photos |
scraped_at | String | ISO timestamp when scraped |
Fields with no value from the source are omitted from the output — no null-filled rows in your dataset.
Usage Examples
Scrape Reviews for a Product by URL
Paste any Sephora product URL and collect the 20 most recent reviews:
{"productUrl": "https://www.sephora.com/product/born-in-roma-P449116?skuId=2249696","results_wanted": 20,"sort": "SubmissionTime:desc"}
Collect All Reviews for a Product by ID
Supply a product ID and collect up to 500 reviews sorted by helpfulness:
{"productId": "P449116","results_wanted": 500,"max_pages": 20,"sort": "Helpfulness:desc"}
Large-Scale Run with Proxies
Collect all available reviews with residential proxy rotation for maximum reliability:
{"productUrl": "https://www.sephora.com/product/fragrance-name-P123456","results_wanted": 1000,"max_pages": 50,"sort": "SubmissionTime:desc","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Lowest Rated Reviews First
Collect 1-star and 2-star reviews for quality monitoring:
{"productUrl": "https://www.sephora.com/product/born-in-roma-P449116","results_wanted": 100,"sort": "Rating:asc"}
Sample Output
{"review_id": "237891234","product_id": "P449116","product_title": "Donna Born In Roma Eau de Parfum","product_url": "https://www.sephora.com/product/born-in-roma-P449116?skuId=2249696","reviewer_name": "FragranceLover88","rating": 5,"title": "My absolute signature scent","review_text": "I have been wearing this for two years and always get compliments. The longevity is incredible — 8+ hours on my skin. Worth every penny.","is_recommended": true,"submission_time": "2025-11-14T18:32:00.000+00:00","helpful_votes": 47,"not_helpful_votes": 2,"total_feedback": 49,"verified_purchaser": true,"skin_type": "Combination","skin_tone": "Light","rating_details": {"Longevity": 5,"Value": 4},"scraped_at": "2026-05-21T08:45:00.000Z"}
Tips for Best Results
Use the Full Product URL
Pasting the complete Sephora product URL (including skuId) is the easiest and most reliable way to start — the product ID is extracted automatically.
Start with a Small Test Run
Set results_wanted to 20 for an initial run to confirm data quality before scaling up to hundreds of reviews.
Use Proxies for Large Runs
For collections over 200 reviews, enabling Apify Residential Proxies in the proxy configuration significantly improves reliability and reduces the chance of rate limiting.
Sort by Helpfulness for Quality Insights
Use Helpfulness:desc to surface the most informative, community-validated reviews — ideal for product research reports.
Monitor Review Velocity
Schedule the actor to run weekly with sort: SubmissionTime:desc and results_wanted: 50 to track new feedback trends over time without re-collecting old reviews.
Integrations
Connect your review data with:
- Google Sheets — Export CSV for instant pivot table analysis
- Airtable — Build a searchable, filterable review database
- Slack — Get notified when new negative reviews appear via webhook
- Make (Integromat) — Automate sentiment reporting pipelines
- Zapier — Trigger alerts or CRM updates from new review data
- OpenAI / LLMs — Feed review text into AI models for summarisation and theme extraction
Export Formats
- JSON — For developers and API integrations
- CSV — For spreadsheet tools (Excel, Google Sheets)
- XML — For system-to-system data exchange
- Excel — Ready-made business reports
Frequently Asked Questions
Which Sephora website does this support?
This actor supports the US Sephora website (sephora.com). Product reviews are powered by the BazaarVoice platform used by Sephora.
How do I find the product URL?
Navigate to any Sephora product page in your browser and copy the URL from the address bar. Example: https://www.sephora.com/product/born-in-roma-P449116
How many reviews can I collect?
You can collect all publicly available reviews for any product. Some products have thousands of reviews — use max_pages and results_wanted to cap the run size.
What does the product ID look like?
Sephora product IDs start with P followed by digits, for example P449116. They appear in every product URL.
Are the reviews verified?
The verified_purchaser field indicates whether the reviewer is confirmed to have purchased the product through Sephora.
Can I scrape reviews for multiple products?
To scrape multiple products, simply run the actor multiple times — once per product URL. You can use the Apify Scheduler or API to automate this across a list of product URLs.
Why are some fields missing from a review?
Fields like skin_type, skin_tone, and rating_details are only present when the reviewer provided that information. Missing fields are omitted from the output rather than set to null.
How often is review data updated?
Reviews are collected live from Sephora in real time each time the actor runs. There is no caching — every run fetches fresh data.
Support
For issues or feature requests, contact support through the Apify Console.
Resources
Legal Notice
This actor is designed for legitimate data collection purposes. Users are responsible for ensuring their use complies with Sephora's Terms of Service, BazaarVoice's Terms of Service, and all applicable local and international laws. Collected data should be used responsibly and not redistributed without appropriate permissions. This tool does not bypass authentication and only accesses publicly visible review data.