Sephora Brand & Competitor Radar
Pricing
from $1.00 / 1,000 sephora product records
Sephora Brand & Competitor Radar
Track beauty brands in Sephora Best Selling categories. Compare listing positions, prices, ratings, review growth and sale flags across runs; get a source-linked report.
Pricing
from $1.00 / 1,000 sephora product records
Rating
5.0
(1)
Developer
NexaScout
Maintained by CommunityActor stats
3
Bookmarked
2
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
See where your brand and competitors appear in Sephora US category listings sorted by Best Selling. A first run saves a baseline; repeat the same inputs to detect changed positions, customer review counts, ratings, and sale prices. Each product links to Sephora.
Who uses it
Beauty brand teams and agencies monitoring skincare, makeup, hair, fragrance and body care without manually checking dozens of product cards. Spot a rival gaining visibility, a new sale, or a growing review count, then investigate the source product page.
Output
- Dataset: up to 300 products from up to five category pages, including brand, product, sampled position, displayed price/range, sale price, rating, review count, badges and link.
- Signals: changes affecting
yourBrandandcompetitorBrands: at least five positions moved, at least ten added reviews, a price change, a new sale or bestseller badge, or a rating fall of at least 0.2 stars. - Report and summary: source links, monitored brand counts, coverage and comparison status, saved in the run's key-value store.
The categoryRank is the item's position in Sephora's sampled Best Selling catalog sort, not a sales figure. Results can include promoted placements. Review growth does not establish sales. For prices shown as a range across variants, effectivePriceUsd is null, and only display changes are flagged. No full review text or seller account access is collected. Products outside the configured sample are not counted.
Input
Choose one of the supported Sephora US /shop/ category URLs: face-serum, makeup-cosmetics, shampoo-conditioner, fragrance, or body-lotion-body-oil. Supply the brand exactly as displayed on Sephora; add up to 15 competitors. Use maxPages 1–5 and maxProducts 1–300. A broad category may contain no visible product from a particular brand in the first 60 results, so increase the page limit. The Actor requests Sephora's Best Selling sort from its public Constructor catalog service.
{"listingUrl": "https://www.sephora.com/shop/face-serum","yourBrand": "The Ordinary","competitorBrands": ["rhode", "Paula's Choice"],"maxPages": 1,"maxProducts": 60,"trackerName": "demo-serums"}
The first run establishes a baseline and does not invent changes. Run the same input again, or set an Apify schedule. Snapshot history is stored in the running account under a name derived from the exact category, brand list and trackerName. Avoid simultaneous runs of the same tracker. If storage fails, historyStatus identifies the issue.
Example signal
{"brand": "Example Beauty","productName": "Example Serum","categoryRank": 12,"previousRank": 20,"rankChange": 8,"newReviews": 14,"signalTypes": ["RANK_UP", "REVIEW_GROWTH"],"productUrl": "https://www.sephora.com/product/example-serum-P123456"}
The numbers above illustrate the output format; they are not observations.
Cost and limits
The Actor fetches at most five pages of public catalog results, 60 items each, and does not visit individual product pages or use proxy bandwidth. The supported category IDs and public index identifier come from Sephora's publicly served page configuration; if Sephora changes them, the Actor needs an update. Inspect measured usageTotalUsd in a successful run before scheduling large numbers of jobs.
To run locally: python3 src/main.py --input examples/demo.json --output-dir output --state output/state.json. Python 3.12, no package install.