Sephora Scraper
Pricing
Pay per usage
Sephora Scraper
Extract product details, prices, and reviews directly from Sephora's vast catalog. Unlock valuable beauty market insights, track cosmetics trends, and power your competitor analysis with ease. For the most reliable and seamless data extraction, residential proxies are recommended.
Pricing
Pay per usage
Rating
5.0
(4)
Developer
Shahid Irfan
Maintained by CommunityActor stats
2
Bookmarked
18
Total users
0
Monthly active users
2 days ago
Last modified
Categories
Share
Sephora Product Scraper
Extract complete product listings from Sephora category pages with pricing, ratings, reviews, stock status, and direct product links. Build reliable datasets for beauty market research, pricing visibility, and merchandising intelligence across any Sephora category.
Features
- Complete product data - Collect brand, title, prices, ratings, review counts, shade information, stock status, and product type from every listing
- Duplicate-safe output - Built-in product-level deduplication prevents repeated records across paginated pages
- Stock awareness signals - Capture in-stock and low-stock flags to track product availability
- Clean dataset structure - Empty fields are automatically omitted to keep output analysis-ready
- Automatic pagination - Continues through listing pages until your target count is reached
Use Cases
Pricing Intelligence
Track current and original prices across categories to monitor discount patterns and promotional behavior. Identify price changes between scheduled runs.
Merchandising Analysis
Analyze new and exclusive product flags to understand launch timing and campaign focus. Track product nature classifications and brand positioning.
Inventory Monitoring
Monitor stock status changes across product ranges. Identify low-stock items and track availability patterns over time.
Category Research
Compare product mix, shade depth, pricing structure, and brand distribution across different Sephora categories for competitive benchmarking.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | Sephora new makeup URL | Sephora category page to start scraping from |
results_wanted | Integer | No | 20 | Maximum number of products to collect |
max_pages | Integer | No | 10 | Safety cap on listing pages to visit |
proxyConfiguration | Object | No | Apify default | Proxy settings for reliable collection |
Output Data
Each dataset item can include:
| Field | Type | Description |
|---|---|---|
product_id | String | Stable Sephora product identifier |
brand | String | Brand name |
title | String | Product title |
image_url | String | Product image URL |
product_url | String | Product detail page URL |
current_price | Number | Current listed price |
original_price | Number | Original price when on sale |
currency | String | Currency code (typically AED) |
rating | Number | Average customer rating |
review_count | Integer | Number of customer reviews |
shades | String | Shade or variant count label |
is_new | Boolean | New arrival badge indicator |
is_exclusive | Boolean | Sephora exclusive badge indicator |
in_stock | Boolean | Product availability status |
is_low_stock | Boolean | Low stock warning indicator |
product_type | String | Product type classification |
product_nature | String | Product nature or formulation category |
scraped_at | String | ISO timestamp of extraction |
Usage Examples
Quick Validation Run
Collect a small sample to verify settings:
{"results_wanted": 20,"max_pages": 3}
Full Category Extraction
Scrape an entire category with all available products:
{"startUrl": "https://www.sephora.me/ae-en/shop/skincare/view-all/skincare","results_wanted": 500,"max_pages": 20}
Proxy-Enabled Collection
Use residential proxies for larger or recurring runs:
{"startUrl": "https://www.sephora.me/ae-en/shop/makeup/face","results_wanted": 100,"max_pages": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Sample Output
{"product_id": "P10064328","brand": "HUDA BEAUTY","title": "Liquid Matte Mousse","image_url": "https://img-product.sephora.me/dw/image/v2/BKWK_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwce76b30f/images/hi-res/SKU/SKU_7634/818919_swatch.jpg","product_url": "https://www.sephora.me/ae-en/p/liquid-matte-mousse/P10064328","current_price": 125,"currency": "AED","rating": 4.59,"review_count": 41,"shades": "8 shades","is_new": true,"is_exclusive": true,"in_stock": true,"is_low_stock": false,"product_type": "master","scraped_at": "2026-07-19T09:18:27.133Z"}
Tips for Best Results
Start With Small Batches
Use results_wanted between 20 and 50 for initial validation. Gradually increase for production snapshots.
Use Stable Category URLs
Prefer permanent Sephora category URLs over short-lived campaign links for consistent, repeatable runs.
Enable Proxies for Scale
Residential proxy groups help maintain reliability when collecting large datasets or running frequent schedules.
Integrations
Connect your collected data with:
- Google Sheets - Build tracking dashboards from exported product data
- Airtable - Create searchable product intelligence bases
- Zapier - Trigger downstream automations when new runs finish
- Make - Route scraped data into CRM, BI, or reporting workflows
- Webhooks - Push dataset events to custom services
Export Formats
- JSON - Great for APIs and pipelines
- CSV - Spreadsheet-friendly format
- Excel - Business reporting and sharing
- XML - System interoperability
Frequently Asked Questions
Can I scrape categories other than new makeup?
Yes. Set startUrl to any Sephora category listing URL. The actor automatically detects the category from the URL path.
What stock information is available?
The output includes in_stock and is_low_stock boolean fields that reflect real-time product availability from the listing data.
Why are some fields missing in certain rows?
If the source does not provide a value, that field is omitted from the record to keep the output clean and analysis-ready.
Does the actor handle duplicate products?
Yes. Product-level deduplication by product ID and URL is applied before saving any records.
How many products can I collect per run?
You can scale via results_wanted and max_pages based on category size. Most categories return results within seconds.
Can I schedule recurring runs?
Yes. You can schedule regular runs directly from the Apify platform for ongoing market monitoring.
Support
For bug reports or feature requests, use the Apify Console issue and contact options for this actor.
Legal Notice
This actor is intended for legitimate data collection and analysis. You are responsible for complying with applicable laws and website terms when using scraped data.