Sephora Scraper avatar

Sephora Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Sephora Scraper

Sephora Scraper

Scrape Sephora - the largest US beauty retailer's online catalog. Search products by keyword, brand, rating and price, get product IDs, SKU data, ratings, review counts and images. HTTP-only via Sephora's public catalog search API. No auth required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Scrape Sephora — the largest US beauty retailer's online catalog of 100,000+ products. Search by keyword, brand, rating and price; get product IDs, SKU data, prices, ratings, review counts, product flags (new / bestseller / Sephora exclusive) and images. HTTP-only via Sephora's public catalog search API. No auth, no proxy required.

What this actor does

  • Three modes: search, bestsellers, newArrivals
  • Rich product records: product ID, brand, name, rating, review count, price range
  • Product flags: new, bestseller, Sephora-exclusive, limited edition, online-only
  • Filters: min rating, brand keyword, price range, new-only, bestseller-only, sale-only
  • Images: rehosted into a public key-value store so they never break (Sephora's image CDN blocks hotlinking)
  • Empty fields are omitted

Output per product

  • productId — Sephora product ID (e.g. P427419)
  • brandName, displayName, productName
  • rating — average rating (0–5), reviews — review count
  • skuId, imageAltText
  • priceMin, priceMax — parsed list price range (USD)
  • imageUrl — rehosted, permanently accessible image; imageOriginal — upstream CDN URL
  • altImage — alternate product shot
  • isNew, isBestseller, isSephoraExclusive, isLimitedEdition, isLimitedTimeOffer, isOnlineOnly
  • isOnSale — true when the product is currently on sale; sponsored — true for sponsored listings
  • pickupEligible, pickupNearbyEligible, sameDayEligible, nextDayEligible, shipToHomeEligible
  • productUrl — canonical product page, sourceUrl — API record URL
  • recordType: "product", scrapedAt

Input

FieldTypeDefaultDescription
modestringsearchsearch / bestsellers / newArrivals
searchQuerystringmoisturizerKeyword (required for mode=search)
sortBystringrelevancerelevance / best-selling / newest (mode=search)
minRatingintMin average rating (1–5)
brandContainsstringBrand name must contain this text
priceMinintMin list price (USD)
priceMaxintMax list price (USD)
includeNewOnlyboolfalseOnly products flagged new
includeBestsellersOnlyboolfalseOnly products flagged bestsellers
saleOnlyboolfalseOnly products currently on sale
includeImagesbooltrueRehost images into public key-value store
maxItemsint50Hard cap (1–2000)
proxyConfigurationobjectoffOptional Apify proxy (AUTO group or custom); not needed for normal use

Example: search moisturizers from a specific brand

{
"mode": "search",
"searchQuery": "moisturizer",
"brandContains": "the ordinary",
"minRating": 4,
"maxItems": 20
}

Example: bestsellers over $10

{
"mode": "bestsellers",
"priceMin": 10,
"maxItems": 30
}

Example: new arrivals with images disabled

{
"mode": "newArrivals",
"includeImages": false,
"maxItems": 10
}

Use cases

  • Price monitoring — track Sephora list prices and availability flags for your portfolio
  • Competitive intelligence — benchmark brands by rating and review volume
  • Trend discovery — mine bestseller and new-arrival feeds for emerging products
  • Beauty e-commerce research — SKU-level catalog snapshots for market analysis
  • Brand tracking — monitor a brand's catalog expansion and product flags

FAQ

What is the data source? Sephora's public catalog search API (www.sephora.com/api/v2/catalog/search/), the same endpoint their own search page uses.

Do I need an account or API key? No. The catalog search API is public and requires no authentication.

Why do some products have no image? Images are rehosted from Sephora's CDN, which rate-limits/block certain requests. If a rehost fails, the image fields are omitted — the record still contains full product data.

Why do some price ranges show two values? Sephora lists multi-SKU products as a range (e.g. $9.90 - $17.50); we emit the parsed priceMin/priceMax.

How fresh is the data? Sephora's catalog search returns live data per request.

Is this affiliated with Sephora? No. This is a third-party actor using Sephora's public search API.

Why can't I scrape product detail pages? Sephora's Akamai protection blocks browse/detail page access from datacenter IPs. The catalog search API (which powers search results) is reliably accessible and includes all core product fields.

Why is there no price sort? sortBy only supports relevance / best-selling / newest. Sephora's API accepts a price-low-high sort flag, but its results are not actually price-ordered (verified against live responses), so exposing it would violate the sort contract. Use priceMin/priceMax to bound results instead.

Does the actor support special characters in queries? Yes — search queries (spaces, accents, quotes, &, emoji) are URL-encoded before hitting the API, so searchQuery: "shampoo & conditioner" and brandContains: "kérastase" work as-is.

Data Source

  • Site: www.sephora.com
  • Access: public catalog search API (JSON), no authentication
  • Anti-bot: Akamai protects browse/product pages; the search API accepts standard browser TLS fingerprints. The actor uses browser-grade TLS impersonation and optional Apify proxy (AUTO) escalation on 403.
  • Media: product images are hotlink-protected from plain HTTP clients, so the actor rehosts them into its key-value store (imageUrl) and keeps the upstream URL as imageOriginal.

Limitations

  • Browse pages (/shop/*) and product detail pages are Akamai-protected and are not scraped; the actor uses the catalog search API, which returns the same products with core fields (price, rating, flags, images).
  • Multi-SKU products report a price range rather than a single price.
  • Some eligibility flags (e.g. shipToHomeEligible) can be false for regional stock reasons — omitted when absent.