# Sephora ProductUrl Scraper (`hello.datawizards/sephora-producturl-scraper`) Actor

The Sephora ProductUrl Scraper Apify Actor extracts detailed product data like name, brand, ingredients, pricing, and ratings from Sephora URLs in JSON format. Ideal for beauty market research, price tracking, and e-commerce automation. Uses residential proxies for reliable, scalable scraping.

- **URL**: https://apify.com/hello.datawizards/sephora-producturl-scraper.md
- **Developed by:** [datawizards](https://apify.com/hello.datawizards) (community)
- **Categories:** E-commerce, Automation, Lead generation
- **Stats:** 15 total users, 0 monthly users, 100.0% runs succeeded, 3 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.005 / actor start

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### 📦 Sephora ProductUrl Scraper · Apify Actor

Effortlessly extract **detailed product information** from Sephora product listings in clean, structured JSON format. Perfect for e-commerce research, price monitoring, or beauty product analytics.\
Built and maintained by [DataWizards](https://linkedin.com/in/data-wizards-aa8080342).

***

### 📌 What Is `Sephora ProductUrl Scraper`?

The `Sephora ProductUrl Scraper` Apify Actor enables you to **scrape comprehensive product details** from specific Sephora product URLs. Retrieve key data such as product name, brand, description, ingredients, pricing, images, and user ratings without manual browsing or logins.

This actor is designed for developers, e-commerce analysts, beauty enthusiasts, and businesses seeking to streamline data collection from Sephora’s vast product catalog.

***

### 🧠 Key Features

- ✅ **Rich Product Data** in structured JSON format
- ✅ Extracts product name, brand, description, ingredients, images, pricing, and ratings
- ✅ Supports **multiple product URLs** for batch processing
- ✅ Proxy support via Apify Proxy (including **RESIDENTIAL IPs**)
- ✅ Fast, reliable, and scalable for small or large datasets
- ✅ Easy integration with APIs or data pipelines

***

### �jontools Input Schema

To use the actor, provide a list of Sephora product URLs and configure proxy settings:

```json
{
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"]
  },
  "urls": [
    "https://www.sephora.com/product/patrick-ta-major-headlines-cream-powder-blush-duo-P458747?skuId=2849768&icid2="
  ]
}
```

#### 🔐 Proxy Configuration

- **useApifyProxy**: Set to `true` (required for reliable scraping).
- **apifyProxyGroups**: Use `"RESIDENTIAL"` to ensure high-quality results and minimize blocking risks.

***

### 📤 Output Example

The actor returns detailed product data in JSON format:

```json
[
  {
    "Product_Url": "https://www.sephora.com/product/patrick-ta-major-headlines-cream-powder-blush-duo-P458747",
    "Product_Name": "Major Headlines Double-Take Crème & Powder Blush Duo",
    "Brand": "PATRICK TA",
    "Description": "Shop PATRICK TA’s Major Beauty Headlines - Double-Take Crème & Powder Blush at Sephora. This duo compact has powder and cream blush formulas.",
    "Image": [
      "https://www.sephora.com/productimages/sku/s2849768-main-hero.jpg"
    ],
    "Ingredient": "Crème: PPG-3 Benzyl Ether Myristate, Phenyl Trimethicone, Dipentaerythrityl Hexahydroxystearate/Hexastearate/Hexarosinate, Ethylhexyl Stearate, Triisostearyl Citrate, Diisostearyl Malate, Polyethylene, Polybutene, Silica, Vinyl Dimethicone/Methicone Silsesquioxane Crosspolymer, Nylon-12, Disteardimonium Hectorite, Octyldodecanol, Propylene Carbonate, Pentaerythrityl tetra-di-t-butyl hydroxyhydrocinnamate, Tocopheryl Acetate, Fragrance (Parfum), Benzyl Salicylate, Farnesol, Linalool, May Contain (+/-): Titanium Dioxide (CI 77891), Iron Oxides (CI 77491, CI 77492, CI 77499), Red 28 Lake (CI 45410), Red 30 Lake (CI 73360), Yellow 5 Lake (CI 19140). Powder: Synthetic Fluorphlogopite, Mica, Magnesium Myristate, Nylon-12, Silica, Octyldodecyl Stearoyl Stearate, Glyceryl Triacetyl Ricinoleate, Caprylic/Capric Triglyceride, PEG-12 Dimethicone, Polyhydroxystearic Acid, Trimyristin, Potassium Sorbate, Caprylyl Glycol, Benzotriazolyl Dodecyl p-Cresol, Phenoxyethanol, Hydrogenated Phosphatidylcholine, Hexylene Glycol, Tocopheryl Acetate, May Contain (+/-): Tin Oxide, Triethoxycaprylylsilane, Titanium Dioxide (CI 77891), Iron Oxides (CI 77491, CI 77499), Bismuth Oxychloride (CI 77163), Carmine (CI 75470), Red 6 Lake (CI 15850), Red 7 Lake (CI 15850), Red 40 Lake (CI 16035), Ultramarines (CI 77007).",
    "User_Mannual": "Suggested Usage: -For a sheer look and dewy glow, dab and blend the cream formula on cheeks. -For a soft, airbrushed finish, sweep the powder onto the apples of the cheeks with a fluffy blush brush. -For ultimate color payoff, layer the cream formula over the powder for a glossy, dimensional look. -For best results, pair with Patrick Ta Dual Ended Blush Brush (sold separately).",
    "product_offers": [
      {
        "Price": "38.0",
        "PriceCurrency": "USD",
        "Availability": "InStock",
        "Sku": "2742492",
        "Image": "https://www.sephora.com/productimages/sku/s2742492-main-hero.jpg",
        "Seller": "Sephora"
      },
      {
        "Price": "38.0",
        "PriceCurrency": "USD",
        "Availability": "InStock",
        "Sku": "2849768",
        "Image": "https://www.sephora.com/productimages/sku/s2849768-main-hero.jpg",
        "Seller": "Sephora"
      }
    ],
    "AggregateRating": {
      "RatingValue": "4.6683",
      "ReviewCount": "3729",
      "BestRating": "5"
    }
  }
]
```

***

### 🚀 Use Cases

- 🛍️ **Beauty Market Research** – Analyze product pricing, ingredients, and customer ratings
- 📈 **Competitor Price Tracking** – Monitor price changes and availability across Sephora products
- 🤖 **E-commerce Automation** – Integrate with tools for inventory management or price comparison
- 📊 **Data-Driven Insights** – Build datasets for beauty product trends or marketing analytics
- 💄 **Product Development** – Study ingredients and user manuals for formulation inspiration

***

### ✅ Best Practices

- **Use Residential Proxies**: Opt for `"RESIDENTIAL"` in `apifyProxyGroups` to avoid blocks during large-scale scraping.
- **Validate URLs**: Ensure all input URLs are valid Sephora product pages to prevent errors.
- **Optimize Frequency**: Space out requests to avoid throttling or IP bans by Sephora’s servers.
- **Batch Processing**: Use multiple URLs in a single run for efficient data collection.
- **Data Storage**: Store output JSON in a structured database for easy querying and analysis.

***

### 🤝 Support

Need custom fields, simplified output formats, or integration assistance?

**DataWizards are ready to help!**

📩 **Email**: <hello.datawizard@gmail.com>\
✉️ **Subject**: `Sephora ProductUrl Scraper – Support Request`\
🔗 **Connect**: [linkedin.com/in/data-wizards-aa8080342](https://linkedin.com/in/data-wizards-aa8080342)

***

### 🧰 Need Something More?

Whether you need a custom scraper, advanced API integrations, or tailored data outputs, DataWizards delivers scalable, smart solutions for your data needs.

**Contact us for personalized support.**\
💡 *DataWizards = Your trusted partner for fast, reliable data extraction.*

***

### 💬 Feedback & Bugs

Found a bug or have a feature request?

📧 **Email**: <hello.datawizard@gmail.com>\
🛠️ **Subject**: `Bug Report – Sephora ProductUrl Scraper`

#### 🏁 Start scraping Sephora product data like a pro with `Sephora ProductUrl Scraper` — your key to unlocking beauty market insights!

# Actor input Schema

## `urls` (type: `array`):

A list of URLs of the web pages you want to scrape data from.

## `proxyConfiguration` (type: `object`):

Specifies proxy servers that will be used by the scraper in order to hide its origin.

## Actor input object example

```json
{
  "urls": [
    "https://www.sephora.com/product/artist-color-pencil-P430969?skuId=2946648&icid2="
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.sephora.com/product/artist-color-pencil-P430969?skuId=2946648&icid2="
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("hello.datawizards/sephora-producturl-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.sephora.com/product/artist-color-pencil-P430969?skuId=2946648&icid2="],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("hello.datawizards/sephora-producturl-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.sephora.com/product/artist-color-pencil-P430969?skuId=2946648&icid2="
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call hello.datawizards/sephora-producturl-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hello.datawizards/sephora-producturl-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ZfIkJgbUKieteWVqh/builds/5wgL7GzvGirc7q6AI/openapi.json
