Sephora Reviews + Stats Scraper avatar
Sephora Reviews + Stats Scraper

Pricing

from $4.00 / 1,000 results

Go to Apify Store
Sephora Reviews + Stats Scraper

Sephora Reviews + Stats Scraper

Low-cost Sephora Review Actor that turns any Sephora product URL and max_reviews into clean JSON review data. Perfect for ecommerce analytics, sentiment analysis, rating trends, product performance tracking, customer feedback mining and deep beauty brand insights.

Pricing

from $4.00 / 1,000 results

Rating

0.0

(0)

Developer

Wibuild

Wibuild

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Sephora Reviews + Stats Actor

The Sephora Reviews + Stats Actor is a small, low-cost tool that automatically collects and organizes review data from a Sephora product page into clean, analysis-ready JSON.

You don’t have to worry about how the data is fetched or handled behind the scenes.
You just provide a product URL and how many reviews you want, and the actor gives you a structured JSON output you can plug straight into your analysis, dashboards, or models.


What this actor does

Given a Sephora product link, the actor:

  1. Collects customer reviews for that product (up to the maximum you specify).
  2. Standardizes each review into a consistent format so you can easily filter, group, and analyze.
  3. Attaches product-level statistics (like total reviews and rating distribution) to every review object, making it easy to work at either:
    • individual review level, or
    • aggregate product level.

The goal is to save you time and effort so you don’t have to manually copy-paste or clean messy review data.

And yes, this actor is designed to run at very low cost per 1000 results, so it’s safe to use for larger pulls and experiments.


Why this data is useful for analysis

Because the actor outputs clean, structured JSON, it becomes very easy to run:

1. Rating & Recommendation Analysis

  • Track average rating over time.
  • Compare recommended vs not recommended counts.
  • Slice ratings by specific date ranges, campaigns, or product variants (via ProductId / skuId you store separately).

2. Sentiment & Text Analysis

  • Run sentiment analysis on ReviewText.
  • Detect common themes, complaints, or praises by keyword or topic modeling.
  • Identify words/phrases correlated with 1–2 star reviews vs 4–5 star reviews.

3. Product & Variant Comparison

  • Compare multiple Sephora products using:
    • average rating,
    • total review volume,
    • helpful vote patterns,
    • recommendation ratios.
  • See which shade/variant (by ProductId / sku you track) performs best in terms of ratings and sentiment.

4. Marketing & Campaign Measurement

  • Measure review volume spikes around launches or promotions.
  • Monitor changes in rating distribution after:
    • packaging change,
    • formula change,
    • influencer marketing.

5. QA & Trust Monitoring

  • Track how many reviews are marked as helpful or not helpful.
  • Use ModerationStatus and context flags (incentivized, staff) to filter reviews for specific compliance checks.

Inputs

[
{
"URL": "https://www.sephora.com/product/on-til-dawn-waterproof-glitter-setting-spray-brown-sugar-P519904?skuId=2915940&icid2=homepage_productlist_sellingfast_us_ufe_092022",
"maxreviews": 50
}
]

The actor expects two simple inputs:

1. url (required)

A Sephora product page URL, for example:

  • https://www.sephora.com/product/lip-sleeping-mask-P420652?skuId=2895316
  • https://www.sephora.com/product/lip-sleeping-mask-P420652
  • https://www.sephora.com/product/summer-fridays-lip-butter-balm-P455936?skuId=2862480

Any valid product URL in this format will work.

2. max_reviews (optional)

How many reviews you want to collect:

  • If you set a number (e.g. 1000), the actor will stop once that many reviews are collected (or it runs out of reviews).
  • If you set 0 or leave it empty, the actor will collect all available reviews for that product (within reasonable limits).

Output

The actor returns a JSON array of review objects.

[
{
"SourceClient": "sephora",
"BadgesOrder": [
"verifiedPurchaser"
],
"ProductId": "2915940",
"OriginalProductName": "On 'Til Dawn Waterproof Glitter Setting Spray - Brown Sugar Brown Sugar",
"ImageUrl": "https://www.sephora.com/productimages/sku/s2915940-main-zoom.jpg?imwidth=135",
"Rating": 4,
"Helpfulness": 1,
"TotalNegativeFeedbackCount": 0,
"TotalPositiveFeedbackCount": 2,
"ModerationStatus": "APPROVED",
"SubmissionDate": "2025-12-12",
"ReviewText": "It’s very pretty and it’s a warm sparkly it just doesn’t spray evenly, some spots will be more sparkly than others",
"Title": "Doesn’t coat evenly",
"UserNickname": "norahhhhhh",
"IncentivizedReview_Id": "IncentivizedReview",
"IncentivizedReview_ValueLabel": "No",
"IncentivizedReview_DimensionLabel": "I received this product as a free sample",
"StaffContext_Id": "StaffContext",
"StaffContext_ValueLabel": "No",
"StaffContext_DimensionLabel": "I am a Sephora employee",
"IsRecommended": true,
"IsRatingsOnly": false,
"IsFeatured": false,
"IsSyndicated": false,
"UserLocation": null,
"Product_TotalReviewCount": 47,
"Product_AverageOverallRating": 4.76595744680851,
"Product_RecommendedCount": 45,
"Product_NotRecommendedCount": 2,
"Product_HelpfulVoteCount": 41,
"Product_NotHelpfulVoteCount": 42,
"Product_5_Star_Count": 42,
"Product_4_Star_Count": 1,
"Product_3_Star_Count": 3,
"Product_2_Star_Count": null,
"Product_1_Star_Count": 1,
"Product_RatingsOnlyReviewCount": 0,
"Product_FirstSubmissionTime": "2025-11-21"
}
]

Each review object includes:

A. Review-level fields (one row per review)

  • SourceClient – where the review comes from (e.g. "sephora").
  • BadgesOrder – badges like verified purchaser, etc.
  • ProductId – Sephora’s internal product ID.
  • OriginalProductName – full product name as shown on Sephora.
  • ImageUrl – main product image URL.
  • Rating – star rating the customer gave (1–5).
  • Helpfulness – helpfulness score based on other users’ votes.
  • TotalNegativeFeedbackCount – number of “not helpful” votes.
  • TotalPositiveFeedbackCount – number of “helpful” votes.
  • ModerationStatus – e.g. APPROVED.
  • SubmissionDate – date when the review was submitted (YYYY-MM-DD).
  • ReviewText – full review content.
  • Title – review title (when present).
  • UserNickname – reviewer’s nickname.
  • UserLocation – reviewer’s location (if provided).

B. Context about the reviewer

  • IncentivizedReview_Id, IncentivizedReview_ValueLabel, IncentivizedReview_DimensionLabel
    • lets you see if the review was a free sample or paid incentive.
  • StaffContext_Id, StaffContext_ValueLabel, StaffContext_DimensionLabel
    • lets you identify Sephora employee reviews.

C. Product-level review statistics (repeated on each review row)

These fields make it easy to do product-level analysis without a separate join:

  • Product_TotalReviewCount – how many total reviews exist for the product.
  • Product_AverageOverallRating – average star rating for the product.
  • Product_RecommendedCount – number of reviews that recommend the product.
  • Product_NotRecommendedCount – number of reviews that do not recommend it.
  • Product_HelpfulVoteCount – total “helpful” votes across all reviews.
  • Product_NotHelpfulVoteCount – total “not helpful” votes.

Rating distribution

These show how many reviews fall into each star bucket:

  • Product_5_Star_Count
  • Product_4_Star_Count
  • Product_3_Star_Count
  • Product_2_Star_Count
  • Product_1_Star_Count

You also get:

  • Product_RatingsOnlyReviewCount – number of rating-only entries (no text).
  • Product_FirstSubmissionTime – timestamp of the first review for this product.

Overall, the JSON looks like:

[
{ /* review 1 + product stats */ },
{ /* review 2 + product stats */ },
...
]

You can directly export this to:

  • CSV / Excel
  • a database
  • a data warehouse
  • a notebook for analysis

Designed to be low cost

This actor is intended to be:

  • Cheap to run per product – so you can run it across many products without worrying too much about cost.
  • Simple to integrate – only two inputs (url, max_reviews) and one JSON output format.
  • Reusable – once you plug the JSON into your analysis pipeline, you can reuse the same actor for:
    • multiple products,
    • regular monitoring,
    • competitive tracking.

Quick mental model

Think of the Sephora Reviews + Stats Actor as:

“Give me a Sephora product link and how many reviews you want.
I’ll hand you back one clean JSON file full of structured, analysis-ready review data plus product-level stats — for a very low price.”