~/ecommerce/sephora-scraper

Sephora Scraper (Global)

Apify Actor yang mengekstrak data produk Sephora lengkap — varian, harga, gambar, ingredient, dan ulasan — dari storefront Sephora di US, Kanada, 9 pasar EU, 6 pasar Timur Tengah, UK, India, dan 10 pasar Asia-Pasifik, dalam satu skema yang dinormalisasi.

kecantikan PythonCrawlee Amerika SerikatKanadaPrancisItaliaJermanSpanyolPolandiaCekoYunaniRumaniaPortugalUni Emirat ArabArab SaudiBahrainOmanKuwaitQatarInggrisIndiaSelandia BaruAustraliaSingapuraMalaysiaThailandIndonesiaFilipinaHong KongTaiwanBrunei
proooxy/sephora-scraper — spec
kategoriecommerce / kecantikan
bahasaPython
stackPython, Crawlee
pasarAmerika Serikat, Kanada, Prancis, Italia, Jerman, Spanyol, Polandia, Ceko, Yunani, Rumania, Portugal, Uni Emirat Arab, Arab Saudi, Bahrain, Oman, Kuwait, Qatar, Inggris, India, Selandia Baru, Australia, Singapura, Malaysia, Thailand, Indonesia, Filipina, Hong Kong, Taiwan, Brunei
outputJSON bersih, siap-RAG

fitur utama

Satu actor untuk US, Kanada, 9 pasar EU, 6 pasar Timur Tengah, UK, India, dan 10 pasar APAC

Pasar terdeteksi otomatis — tempel URL sephora.* apa pun dan dispatcher akan merutekannya ke module yang tepat

Run multi-pasar campuran — URL US + EU + SEA dalam satu list startUrls, di-stream ke satu dataset yang ditandai dengan `market`

Harga sesuai locale — mata uang masing-masing storefront (24 semuanya, dari USD dan EUR hingga AED dan INR), sebagaimana dikembalikan oleh localization layer milik Sephora sendiri

Skema yang dinormalisasi — setiap pasar menghasilkan bentuk `source / brand / title / options / variants / medias / stats` yang sama

Isolasi sesi per pasar — auth state tidak bisa saling terkontaminasi antar region

Circuit breaker global — 50 kegagalan berturut-turut akan menghentikan run untuk menghindari pemborosan compute pada target yang down

use case

  • Pricing intelligence pan-regional di pasar kecantikan US, EU, dan APAC
  • Monitoring ketersediaan produk dan assortment lintas pasar
  • Analisis kompetitif untuk brand yang meluncurkan produk di region Sephora baru
  • Perbandingan ingredient di berbagai formulasi regional
  • Pelacakan review dan rating — termasuk sinyal wishlist SEA dan ringkasan sentimen AI US
  • Audit harga loyalty/membership per pasar

parameter input

ParameterTipeWajibDeskripsi
startUrlsarraywajibURL produk atau kategori dari storefront sephora.* mana pun. Pasar terdeteksi otomatis dari hostname.
marketstringopsionalOverride pasar opsional (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).
localestringopsionalLocale BCP 47 opsional (contoh: fr-FR, en-NZ) — meng-override default pasar.
categoryIdsarrayopsionalEU, Timur Tengah, UK, dan India. Category ID dalam format masing-masing pasar (contoh: C479 di storefront EU) — alternatif dari menempel URL kategori.
onlyNewProductsbooleanopsionalHanya produk yang baru ditambahkan: filter server-side di US/Canada dan FR, IT, DE, ES, PL, RO, PT; halaman listing terurut terbaru di SEA dan India. Tidak didukung di pasar lain.
newProductsPageLimitnumberopsionalJumlah halaman listing per kategori saat onlyNewProducts berjalan di SEA atau India. Default 3.
advancedFilterstringopsionalKhusus listing kategori US/Canada: ekspresi refinement mentah seperti filters[isNew]=true.
proxyobjectopsionalKonfigurasi Apify proxy. Residential sangat disarankan; pin apifyProxyCountry ke pasar target.
maxConcurrencynumberopsionalRequest concurrent. Default 5. US: 2-5. EU: 3. SEA: 8-16.
maxRequestsPerCrawlnumberopsionalHard cap global di semua pasar. 0 = tanpa batas.

Pasar yang didukung

WilayahMarket IDNegaraMata UangHostname
AmerikausAmerika SerikatUSDsephora.com
AmerikausKanadaCADsephora.ca
EUeu-frPrancisEURsephora.fr
EUeu-itItaliaEURsephora.it
EUeu-deJermanEURsephora.de
EUeu-esSpanyolEURsephora.es
EUeu-plPolandiaPLNsephora.pl
EUeu-czRepublik CekoCZKsephora.cz
EUeu-grYunaniEURsephora.gr
EUeu-roRumaniaRONsephora.ro
EUeu-ptPortugalEURsephora.pt
Timur Tengahmena-aeUni Emirat ArabAEDsephora.me/ae-en
Timur Tengahmena-saArab SaudiSARsephora.me/sa-en
Timur Tengahmena-bhBahrainBHDsephora.me/bh-en
Timur Tengahmena-omOmanOMRsephora.me/om-en
Timur Tengahmena-kwKuwaitKWDsephora.me/kw-en
Timur Tengahmena-qaQatarQARsephora.me/qa-en
UKukInggrisGBPsephora.co.uk
IndiainIndiaINRsephora.in
APACsea-nzSelandia BaruNZDsephora.nz
APACsea-auAustraliaAUDsephora.com.au
APACsea-sgSingapuraSGDsephora.sg
APACsea-myMalaysiaMYRsephora.com.my
APACsea-thThailandTHBsephora.co.th
APACsea-idIndonesiaIDRsephora.co.id
APACsea-phFilipinaPHPsephora.ph
APACsea-hkHong KongHKDsephora.hk
APACsea-twTaiwanTWDsephora.tw
APACsea-bnBruneiBNDsephora.bn

Contoh 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}

Tips

  • Pin negara proxy ke pasar target. Exit residential di negara yang tidak sesuai adalah sumber terbesar 403. Set apifyProxyCountry ke kode ISO storefront-nya (US, FR, NZ, dst.).
  • Smoke-test dulu. Set maxRequestsPerCrawl=10 sebelum run produksi pertama Anda di pasar baru.
  • Tune concurrency per region. US: 2-5. EU: 3. SEA: 8-16. Setiap pasar mendapat semaphore-nya sendiri dalam run campuran.

faq

Storefront Sephora mana saja yang didukung scraper ini?
US (sephora.com), Kanada (sephora.ca), 9 pasar EU (Prancis, Italia, Jerman, Spanyol, Polandia, Ceko, Yunani, Rumania, Portugal), 6 pasar Timur Tengah di sephora.me (Uni Emirat Arab, Arab Saudi, Bahrain, Oman, Kuwait, Qatar), UK (sephora.co.uk), India (sephora.in), dan 10 pasar APAC (Selandia Baru, Australia, Singapura, Malaysia, Thailand, Indonesia, Filipina, Hong Kong, Taiwan, Brunei). Pasar terdeteksi otomatis dari URL — hostname, atau prefix path bergaya /ae-en/ di sephora.me — jadi run multi-pasar tidak perlu input tambahan.
Bisakah saya men-scrape banyak pasar dalam satu run?
Bisa. Campurkan URL sephora.com, sephora.fr, dan sephora.nz dalam satu list startUrls. Dispatcher akan mengelompokkannya berdasarkan pasar, menjalankan setiap module secara concurrent dengan auth yang sesuai pasarnya, dan menandai setiap item dataset dengan field `market`.
Bagaimana scraper ini menangani proteksi anti-bot?
Semua pasar berjalan lewat residential proxy, dengan percobaan ulang otomatis di sesi baru saat request diblokir. Pin negara proxy ke pasar storefront untuk tingkat keberhasilan terbaik.
Apakah konfigurasi run v1.x US saya yang sudah ada tetap berfungsi?
Ya. Input pre-2.0 — startUrls, maxConcurrency, proxy, maxRequestsPerCrawl — berperilaku identik. Satu-satunya perubahan output adalah key `market` baru di setiap item, yang merupakan perubahan additive yang aman (soft).
Mengapa sebagian field bernilai null di data SEA?
API Sephora SEA tidak mengekspos counter `lovesCount`, sehingga item APAC memiliki `stats.lovesCount = null`. Sebagai gantinya, setiap varian punya field boolean `wishlisted`. Sebaliknya, `sentiments` (ringkasan review AI) dan `source.crawlUrl` hanya tersedia untuk US.
Apakah saya perlu API token atau akun terpisah per pasar?
Tidak. API token Apify Anda yang sudah ada tetap berfungsi tanpa perubahan. Actor ini menangani guest token per pasar secara internal — tidak perlu kredensial untuk EU/SEA, dan US berjalan dengan residential proxy standar Apify.

terkait di ~/ecommerce

Jalankan Sephora Scraper (Global), atau dapatkan build custom

Mulai ekstraksi di Apify dalam hitungan menit, atau sewa saya untuk membangun scraper custom dan pipeline RAG untuk source dan skema spesifik Anda.

run di Apify dapatkan data custom