~/ecommerce/sephora-scraper

Sephora Scraper (Weltweit)

Apify-Actor, der vollständige Sephora-Produktdaten extrahiert — Varianten, Preise, Bilder, Inhaltsstoffe und Rezensionen — aus Sephora-Storefronts in den USA, Kanada, 9 EU-Märkten, 6 Nahost-Märkten, Großbritannien, Indien und 10 Asien-Pazifik-Märkten, in einem einzigen normalisierten Schema.

Beauty PythonCrawlee USAKanadaFrankreichItalienDeutschlandSpanienPolenTschechienGriechenlandRumänienPortugalVereinigte Arabische EmirateSaudi-ArabienBahrainOmanKuwaitKatarGroßbritannienIndienNeuseelandAustralienSingapurMalaysiaThailandIndonesienPhilippinenHongkongTaiwanBrunei
proooxy/sephora-scraper — Steckbrief
Kategorieecommerce / Beauty
SprachePython
StackPython, Crawlee
MärkteUSA, Kanada, Frankreich, Italien, Deutschland, Spanien, Polen, Tschechien, Griechenland, Rumänien, Portugal, Vereinigte Arabische Emirate, Saudi-Arabien, Bahrain, Oman, Kuwait, Katar, Großbritannien, Indien, Neuseeland, Australien, Singapur, Malaysia, Thailand, Indonesien, Philippinen, Hongkong, Taiwan, Brunei
Outputsauberes, RAG-fertiges JSON

Hauptfunktionen

Ein Actor für die USA, Kanada, 9 EU-Märkte, 6 Nahost-Märkte, Großbritannien, Indien und 10 APAC-Märkte

Automatische Markterkennung — eine beliebige sephora.*-URL einfügen, der Dispatcher leitet sie ans richtige Modul weiter

Gemischte Multi-Markt-Runs — US- + EU- + SEA-URLs in einer startUrls-Liste, gestreamt in ein einziges Dataset, getaggt mit `market`

Locale-korrekte Preise — die jeweils eigene Währung jeder Storefront (24 insgesamt, von USD und EUR bis AED und INR), so wie sie Sephoras eigene Lokalisierungsschicht liefert

Normalisiertes Schema — jeder Markt liefert dieselbe `source / brand / title / options / variants / medias / stats`-Struktur

Session-Isolation pro Markt — Auth-Status kann nicht zwischen Regionen überspringen

Globaler Circuit Breaker — 50 aufeinanderfolgende Fehlschläge brechen den Run ab, um kein Compute an einem ausgefallenen Ziel zu verbrennen

Anwendungsfälle

  • Regionsübergreifende Preis-Intelligence über US-, EU- und APAC-Beauty-Märkte
  • Marktübergreifendes Monitoring von Produktverfügbarkeit und Sortiment
  • Wettbewerbsanalyse für Marken, die in neue Sephora-Regionen starten
  • Inhaltsstoffvergleiche über regionale Rezepturen hinweg
  • Tracking von Rezensionen und Bewertungen — inklusive SEA-Wishlist-Signalen und US-KI-Sentiment-Zusammenfassungen
  • Audits von Loyalty-/Mitgliedschaftspreisen je Markt

Eingabeparameter

ParameterTypErforderlichBeschreibung
startUrlsarrayerforderlichProdukt- oder Kategorie-URLs von jeder beliebigen sephora.*-Storefront. Der Markt wird automatisch anhand des Hostnamens erkannt.
marketstringoptionalOptionale Markt-Überschreibung (us, eu-fr, eu-it, eu-de, eu-es, eu-pl, eu-ro, eu-pt, eu-cz, eu-gr, mena-ae, mena-sa, mena-bh, mena-om, mena-kw, mena-qa, uk, in, sea-nz, sea-au, sea-sg, sea-my, sea-th, sea-id, sea-ph, sea-hk, sea-tw, sea-bn).
localestringoptionalOptionale BCP-47-Locale (z. B. fr-FR, en-NZ) — überschreibt den Markt-Standardwert.
categoryIdsarrayoptionalEU, Naher Osten, Großbritannien und Indien. Kategorie-IDs im jeweiligen Marktformat (z. B. C479 bei EU-Storefronts) — Alternative zum Einfügen von Kategorie-URLs.
onlyNewProductsbooleanoptionalNur kürzlich hinzugefügte Produkte: serverseitiger Filter in den USA/Kanada sowie FR, IT, DE, ES, PL, RO, PT; Listing-Seiten sortiert nach neuesten zuerst in SEA und Indien. Anderswo nicht unterstützt.
newProductsPageLimitnumberoptionalListing-Seiten pro Kategorie, wenn onlyNewProducts in SEA oder Indien läuft. Standard 3.
advancedFilterstringoptionalNur US/Kanada-Kategorie-Listings: ein roher Refinement-Ausdruck wie filters[isNew]=true.
proxyobjectoptionalApify-Proxy-Konfiguration. Residential dringend empfohlen; apifyProxyCountry auf den Zielmarkt festlegen.
maxConcurrencynumberoptionalGleichzeitige Anfragen. Standard 5. US: 2–5. EU: 3. SEA: 8–16.
maxRequestsPerCrawlnumberoptionalGlobale harte Obergrenze über alle Märkte hinweg. 0 = unbegrenzt.

Unterstützte Märkte

RegionMarkt-IDLandWährungHostname
AmerikausUSAUSDsephora.com
AmerikausKanadaCADsephora.ca
EUeu-frFrankreichEURsephora.fr
EUeu-itItalienEURsephora.it
EUeu-deDeutschlandEURsephora.de
EUeu-esSpanienEURsephora.es
EUeu-plPolenPLNsephora.pl
EUeu-czTschechienCZKsephora.cz
EUeu-grGriechenlandEURsephora.gr
EUeu-roRumänienRONsephora.ro
EUeu-ptPortugalEURsephora.pt
Naher Ostenmena-aeVereinigte Arabische EmirateAEDsephora.me/ae-en
Naher Ostenmena-saSaudi-ArabienSARsephora.me/sa-en
Naher Ostenmena-bhBahrainBHDsephora.me/bh-en
Naher Ostenmena-omOmanOMRsephora.me/om-en
Naher Ostenmena-kwKuwaitKWDsephora.me/kw-en
Naher Ostenmena-qaKatarQARsephora.me/qa-en
GroßbritannienukGroßbritannienGBPsephora.co.uk
IndieninIndienINRsephora.in
APACsea-nzNeuseelandNZDsephora.nz
APACsea-auAustralienAUDsephora.com.au
APACsea-sgSingapurSGDsephora.sg
APACsea-myMalaysiaMYRsephora.com.my
APACsea-thThailandTHBsephora.co.th
APACsea-idIndonesienIDRsephora.co.id
APACsea-phPhilippinenPHPsephora.ph
APACsea-hkHongkongHKDsephora.hk
APACsea-twTaiwanTWDsephora.tw
APACsea-bnBruneiBNDsephora.bn

Beispiel-Output

 1{
 2  "market": "sea-nz",
 3  "source": {
 4    "id": 58792,
 5    "canonicalUrl": "https://www.sephora.nz/products/rare-beauty-true-to-myself-natural-matte-longwear-foundation",
 6    "retailer": "SEPHORA",
 7    "currency": "NZD"
 8  },
 9  "brand": "Rare Beauty",
10  "title": "True To Myself Natural Matte Longwear Foundation",
11  "description": "<p>A self-priming and self-setting foundation...</p>",
12  "ingredients": "Aqua/Water, Cyclopentasiloxane, Glycerin...",
13  "currentSku": "770225",
14  "categories": ["makeup/face/foundation"],
15  "options": [
16    { "name": "shade", "id": "66488", "values": [{"value": "1 Fair Neutral", "orderable": true}] }
17  ],
18  "variants": [
19    {
20      "id": "276343",
21      "sku": "770225",
22      "price": { "current": 77.0, "original": 77.0, "stockStatus": "IN_STOCK" },
23      "options": [{"name": "shade", "value": "1 Fair Neutral"}],
24      "highlights": ["NEW", "Only at Sephora"],
25      "wishlisted": null
26    }
27  ],
28  "medias": [{ "url": "https://www.sephora.nz/.../foundation-shade.jpg", "type": "image" }],
29  "stats": { "reviewCount": 971, "rating": 4.8, "lovesCount": null }
30}

Tipps

  • Proxy-Land auf den Zielmarkt festlegen. Ein Residential-Exit in einem falschen Land ist die mit Abstand größte Quelle für 403er. apifyProxyCountry auf den ISO-Code der Storefront setzen (US, FR, NZ usw.).
  • Zuerst einen Smoke-Test durchführen. maxRequestsPerCrawl=10 setzen, bevor der erste produktive Run in einem neuen Markt gestartet wird.
  • Concurrency pro Region abstimmen. US: 2–5. EU: 3. SEA: 8–16. Jeder Markt bekommt in gemischten Runs sein eigenes Semaphore.

FAQ

Welche Sephora-Storefronts unterstützt dieser Scraper?
USA (sephora.com), Kanada (sephora.ca), 9 EU-Märkte (FR, IT, DE, ES, PL, CZ, GR, RO, PT), 6 Nahost-Märkte auf sephora.me (AE, SA, BH, OM, KW, QA), Großbritannien (sephora.co.uk), Indien (sephora.in) und 10 APAC-Märkte (NZ, AU, SG, MY, TH, ID, PH, HK, TW, BN). Der Markt wird automatisch anhand der URL erkannt — anhand des Hostnamens oder des /ae-en/-artigen Pfadpräfixes auf sephora.me — sodass gemischte Markt-Runs keine zusätzliche Eingabe benötigen.
Kann ich mehrere Märkte in einem einzigen Run scrapen?
Ja. sephora.com-, sephora.fr- und sephora.nz-URLs in einer startUrls-Liste mischen. Der Dispatcher gruppiert sie nach Markt, führt jedes Modul gleichzeitig mit marktgerechter Auth aus und taggt jedes Dataset-Item mit einem `market`-Feld.
Wie geht der Scraper mit Anti-Bot-Schutz um?
Alle Märkte laufen über Residential Proxys; blockierte Anfragen werden automatisch mit einer neuen Session wiederholt. Legen Sie das Proxy-Land auf den Markt der Storefront fest, um die beste Erfolgsquote zu erzielen.
Funktionieren meine bestehenden v1.x-US-Run-Konfigurationen weiter?
Ja. Pre-2.0-Inputs — startUrls, maxConcurrency, proxy, maxRequestsPerCrawl — verhalten sich identisch. Die einzige Output-Änderung ist ein neuer `market`-Key bei jedem Item, eine rein additive Änderung.
Warum sind manche Felder in SEA-Daten null?
Sephora SEAs API stellt keinen `lovesCount`-Zähler bereit, daher haben APAC-Items `stats.lovesCount = null`. Stattdessen hat jede Variante ein boolesches `wishlisted`-Feld. Umgekehrt sind `sentiments` (KI-Rezensions-Zusammenfassungen) und `source.crawlUrl` nur für die USA verfügbar.
Brauche ich separate API-Tokens oder Accounts pro Markt?
Nein. Das bestehende Apify-API-Token funktioniert unverändert. Der Actor verwaltet Guest-Tokens pro Markt intern — für EU/SEA sind keine Zugangsdaten nötig, und die USA laufen über Standard-Apify-Residential-Proxys.

verwandt in ~/ecommerce

Sephora Scraper (Weltweit) ausführen oder ein individuelles Projekt anfragen

In wenigen Minuten mit der Extraktion auf Apify starten, oder mich für einen maßgeschneiderten Scraper und eine RAG-Pipeline exakt nach Quelle und Schema beauftragen.

auf Apify ausführen individuelle Daten anfragen