Sephora France Product Scraper avatar

Sephora France Product Scraper

Pricing

from $5.00 / 1,000 dataset items

Go to Apify Store
Sephora France Product Scraper

Sephora France Product Scraper

Scrape Sephora France (sephora.fr): products by category, brand, or keyword with full pagination. Get TTC & HT prices, discounts, ratings, stock, images, and size/shade variants — structured for price monitoring and market research. France-specialised and reliable. Pay only for results.

Pricing

from $5.00 / 1,000 dataset items

Rating

0.0

(0)

Developer

axly

axly

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

16 days ago

Last modified

Share

Extract the Sephora France (www.sephora.fr) catalogue at scale — products from any category, brand, or keyword, with full pagination and optional per‑product detail (long description, exact rating, and size/shade variants with per‑SKU price and stock).

Unlike generic multi‑country Sephora tools, this actor is built for the French market: it returns France‑specific pricing — both TTC (tax included) and HT (tax excluded) — plus discounts, the French category taxonomy, and variant‑level stock, through a reliable web extraction path.

Who it's for

  • Beauty brands & market‑intelligence teams — track your own and competitors' assortment, price positioning, discounts, and ratings across Sephora FR.
  • Resellers, arbitrage & price‑comparison sites — monitor TTC/HT prices, price drops (old_price, discount_pct), and stock at the variant level.
  • E‑commerce & data teams / developers — a stable JSON schema, incremental runs, webhooks, and MCP/AI integration you can build on.
  • Researchers & analysts — structured French beauty‑market and pricing data.

What you get (output fields)

FieldDescription
product_idMaster product id (e.g. P1000211448).
variant_pidDefault purchasable variant id (numeric).
nameProduct name.
brandBrand / trademark.
priceCurrent price, tax included (TTC), EUR.
old_pricePrevious / crossed‑out price (TTC).
price_excl_taxPrice excluding tax (HT).
discountDiscount amount reported by the storefront.
discount_pctDiscount % computed from old_price vs price.
currencyCurrency code (EUR).
in_stockAvailability flag.
category_pathBreadcrumb category path.
range / nature / section / targetSephora product taxonomy fields.
ratingAverage rating (0–5) — exact in detail mode.
review_countNumber of customer reviews.
skuSKU (detail mode).
descriptionLong product description (detail mode).
variantsSize/shade variants: variant_pid, label, selected, and (with includeVariants) price & in_stock.
imagePrimary image URL.
urlProduct page URL.
input_type / sourceWhich input produced the row (category/brand/search/pid).
scraped_atISO‑8601 scrape timestamp.

Use cases

  • Competitive price & promo monitoring — schedule daily category runs and diff price / discount_pct / in_stock to catch price drops and promotions.
  • Assortment & availability tracking — enable scrapeDetail + includeVariants to follow each shade/size SKU's price and stock.
  • Brand catalogue export — pull a full brand's line‑up via brandUrls for merchandising, MAP monitoring, or catalogue enrichment.
  • Market research — build a France beauty dataset (brands, ranges, ratings, HT/TTC pricing) for analysis.

Input parameters

FieldTypeDefaultNotes
categoryUrlsarray[]Category slugs (shop/maquillage-c302) or full listing URLs. Auto‑paginated.
brandUrlsarray[]Brand slugs (guerlain-guerl) or /marques/de-a-a-z/… URLs. Auto‑paginated.
searchTermsarray[]Keyword autocomplete lookups (top matches; no pagination/detail).
productPidsarray[]Numeric variant PIDs for direct full detail (advanced).
scrapeDetailbooleanfalseEnrich each listed product with its detail page.
includeVariantsbooleanfalseWith scrapeDetail, price every size/shade variant.
includeOutOfStockbooleantrueSkip out‑of‑stock products when off.
maxItemsinteger500Global cap across all inputs.
maxItemsPerInputinteger0Per category/brand cap (0 = unlimited).
proxyConfigurationobjectApify Residential FRRequired — a French IP is mandatory (see below).

At least one of categoryUrls, brandUrls, searchTerms, or productPids is required.

Example input

{
"categoryUrls": ["shop/maquillage-c302", "shop/maquillage/teint/fonds-de-teint-c353"],
"brandUrls": ["guerlain-guerl"],
"scrapeDetail": true,
"includeVariants": false,
"maxItems": 300,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "FR"
}
}

Example output row

{
"product_id": "P1000211448",
"variant_pid": "787448",
"name": "B12 Base Thinner - Sérum nacré vitaminé",
"brand": "onesize",
"price": 37.0,
"old_price": 37.0,
"price_excl_tax": 30.83,
"discount": 0.0,
"discount_pct": null,
"currency": "EUR",
"in_stock": true,
"category_path": "summer vibes/sélection été par catégorie/maquillage",
"rating": 4.3,
"review_count": 3,
"url": "https://www.sephora.fr/p/…-P1000211448.html",
"input_type": "category",
"source": "shop/maquillage-c302",
"scraped_at": "2026-08-03T12:00:00Z"
}

Proxy requirement

Sephora FR is protected by Akamai with a hard French geo‑block — any non‑French IP is denied. This actor therefore requires a French residential proxy. The default proxyConfiguration uses Apify Residential proxies with country FR; keep it enabled.

Scheduling & webhooks

Use Schedules to run the actor on a cadence (e.g. daily price checks) and Webhooks to trigger your systems on run completion (ACTOR.RUN.SUCCEEDED) — push new data straight into your database, sheet, or pipeline. Results are available as JSON, CSV, Excel, or via the Dataset API.

Use from AI assistants (MCP)

This actor works with the Apify MCP server, so AI assistants (Claude, ChatGPT, Cursor, and other MCP clients) can run it and read its dataset as a tool. Point your MCP client at Apify and call the actor with the same input shown above to pull live Sephora FR data into your assistant.

FAQ

Which locale/currency is covered? The French storefront www.sephora.fr only — locale fr_FR, prices in EUR (TTC and HT).

Why is a French proxy mandatory? Akamai blocks non‑French IPs at the edge; a French residential IP is required for every request. The default proxy setting handles this.

Can I fetch a product by its URL? Detail requires a numeric variant_pid (from variant_pid in listing rows). Master product URLs are challenge‑protected and can't be fetched directly — browse the category/brand instead, then optionally pass productPids.

How fresh is the data? Every run fetches live data at run time.

Do search terms return everything? searchTerms uses Sephora's autocomplete — fast, but only the top matches per term. For complete coverage use categoryUrls or brandUrls, which paginate the full grid.

Is it reliable? The client auto‑rotates French residential exits and retries on transient blocks; per‑product failures are skipped and logged so a run keeps going.

Is scraping this data legal? The actor collects publicly available catalogue data. You are responsible for using the output in compliance with applicable laws, Sephora's terms, and data‑protection rules.