Sephora Product Listings Data

Vytenis Kaubrė
Last updated on
2025-03-12
3 min read
Vytenis Kaubrė
Last updated on
2025-03-12
3 min read
OxyCopilot can help you generate scraping and parsing instructions to collect public data from Sephora efficiently. Simply describe your data requirements in plain English, and the system will automatically construct optimized parsing logic for use with Web Scraper API.
Here, you'll find an example of how to use our OxyCopilot and what information to provide to gather public Sephora product listings data.
Before using OxyCopilot, you need to register for our dashboard, claim a free trial (or choose a suitable plan) for our Web Scraper API, and create an API user. OxyCopilot lets you build scrapers while leveraging Oxylabs’ advanced scraping infrastructure, so you won’t be able to generate scraping and parsing instructions without the mentioned steps. You can find more information about it in the Getting Started part.
To gather product listings data from Sephora, you need to prepare and submit a prompt to OxyCopilot. This prompt sample, used in this tutorial, instructs OxyCopilot what to collect from the Sephora product listings page:
Copy
Parse e-commerce product listings. Treat the search results as a list and from each item, extract the following product data:
- Brand name.
- Description. Treat it as a list containing title and summary.
- Amount of reviews.
- Current price text.
- Unit price: Extract all text from the entire div element.
- Product variation name.
- Product shades number.
- The first product image link.
We regularly update this tutorial, but errors may still occur. Feel free to regenerate the prompt or contact us if you need assistance.
An overview of OxyCopilot after providing all the necessary details to get results
Once all the steps of this tutorial are completed, you can expect this output:
Copy
{
"products": [
{
"brand": "KVD Beauty",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwfa13014e/images/hi-res/all/SKU/650177_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 40,
"reviews": 30,
"variation": "Deep 086 - 30 ml",
"unit_price": "666,67 \u20ac / 1L",
"description": [
"Good Apple Liquid",
"Nicht komodene fl\u00fcssige Foundation mit hoher Deckkraft"
],
"current_price": "20,00 \u20ac"
},
{
"brand": "TARTE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwbf5265a3/images/hi-res/all/SKU/611537_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 20,
"reviews": 6,
"variation": "47H\u00a0tan-deep\u00a0honey (30 ml)",
"unit_price": "650,00 \u20ac / 1L",
"description": [
"Shape Tape\u2122 Cloud",
"Grundierung"
],
"current_price": "19,50 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc940ae5a/images/hi-res/all/SKU/509485_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 357,
"variation": "300C Cool - Medium Fair-C (30 ml)",
"unit_price": "1.200,00 \u20ac / 1L",
"description": [
"Hyaluronic Hydra Foundation"
],
"current_price": "36,00 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw7d5212c3/images/hi-res/all/SKU/464658_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 13,
"reviews": 75,
"variation": "Dragon Doll (4 ml)",
"unit_price": "3.250,00 \u20ac / 1L",
"description": [
"Lip-Expert Matte"
],
"current_price": "13,00 \u20ac"
},
{
"brand": "LACOSTE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwbf3a845d/images/hi-res/all/SKU/402743_swatch.jpeg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 41.5,
"variation": null,
"unit_price": "415,00 \u20ac / 1L",
"description": [
"L'Homme Lacoste Eau de Toilette"
],
"current_price": "41,50 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4389e606/images/hi-res/all/SKU/461394_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 11,
"reviews": 10.5,
"variation": "#lovespell (3 g)",
"unit_price": "3.500,00 \u20ac / 1Kg",
"description": [
"Lipstick Smooth Finish"
],
"current_price": "10,50 \u20ac"
},
{
"brand": "MILK",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc22e0149/images/hi-res/all/PID_principal/P3818090_principal.jpg?sw=240&sh=240&sm=fit",
"shades": 7,
"reviews": 1864,
"variation": "Dub (4.5 ml)",
"unit_price": "5.322,22 \u20ac / 1L",
"description": [
"KUSH Fiber Brow Gel"
],
"current_price": "23,95 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dweac741ff/images/hi-res/all/SKU/461077_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 8,
"reviews": 16.5,
"variation": "05 Pink (3,5 g)",
"unit_price": "4.714,29 \u20ac / 1Kg",
"description": [
"TAGAROT Lippenstift"
],
"current_price": "16,50 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw925bb22a/images/hi-res/all/SKU/464666_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 8,
"reviews": 42,
"variation": "Hot Bare (3 g)",
"unit_price": "6.666,67 \u20ac / 1Kg",
"description": [
"Lip-Expert Shine"
],
"current_price": "20,00 \u20ac"
},
{
"brand": "LANC\u00d4ME",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw8a43adf7/images/hi-res/all/SKU/404436_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 7,
"reviews": 34,
"variation": "15 Moka (30 ml)",
"unit_price": "633,33 \u20ac / 1L",
"description": [
"Teint Idole Ultra Wear",
"Mattes Make-up mit hoher Deckkraft"
],
"current_price": "19,00 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw98ef107f/images/hi-res/all/SKU/461422_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 6,
"reviews": 9,
"variation": "#maybebaby (8 ml)",
"unit_price": "1.125,00 \u20ac / 1L",
"description": [
"More Gloss Lip Lacquer"
],
"current_price": "9,00 \u20ac"
},
{
"brand": "HO KARAN",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4a6e82ba/images/hi-res/all/SKU/549095_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "4.950,00 \u20ac / 1L",
"description": [
"Antidote 5%",
"\u00d6l mit CBD Broad Spectrum"
],
"current_price": "49,50 \u20ac"
},
{
"brand": "CLINIQUE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4e8c530d/images/hi-res/all/SKU/505696_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 14,
"reviews": 28,
"variation": "CN 02 Breeze (30 ml)",
"unit_price": "883,33 \u20ac / 1L",
"description": [
"Even Better Refresh\u2122 Hydrating and Repairing Makeup"
],
"current_price": "26,50 \u20ac"
},
{
"brand": "BOSCIA",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw9b6d24fe/images/hi-res/all/SKU/480366_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 13,
"variation": null,
"unit_price": "162,50 \u20ac / 1Kg",
"description": [
"Cactus Water Peel-Off Mask"
],
"current_price": "13,00 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw077535b7/images/hi-res/all/SKU/461041_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 2,
"variation": "05 Mocha (30 ml)",
"unit_price": "716,67 \u20ac / 1L",
"description": [
"LIETH Foundation"
],
"current_price": "21,50 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw97d40c59/images/hi-res/all/SKU/549151_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 1,
"variation": "05 Honey Beige (4 ml)",
"unit_price": "4.625,00 \u20ac / 1L",
"description": [
"TUNKAL Concealer"
],
"current_price": "18,50 \u20ac"
},
{
"brand": "NATASHA DENONA",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw6131efeb/images/hi-res/all/SKU/504599_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 10,
"reviews": 66,
"variation": "82W warm - dark (30 ml)",
"unit_price": "600,00 \u20ac / 1L",
"description": [
"Foundation X + Full Coverage Fruit Complex Make-Up"
],
"current_price": "18,00 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw3420ab7d/images/hi-res/all/SKU/486119_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 104,
"variation": "Medium dark, 10 g",
"unit_price": "1.950,00 \u20ac / 1Kg",
"description": [
"Hyaluronic Hydra Powder Tinted"
],
"current_price": "19,50 \u20ac"
},
{
"brand": "SEPHORA COLLECTION",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw66a76cf6/images/hi-res/all/SKU/587578_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 1,
"variation": null,
"unit_price": "8,00 \u20ac / 1L",
"description": [
"Nachf\u00fcllpackung Schaumbad-Dusche"
],
"current_price": "4,00 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4db8648d/images/hi-res/all/SKU/461063_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 1,
"variation": "06 Patina (2 g)",
"unit_price": "8.500,00 \u20ac / 1Kg",
"description": [
"IMBE Lidschatten"
],
"current_price": "17,00 \u20ac"
},
{
"brand": "PAT McGRATH LABS",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw6a2345dd/images/hi-res/all/SKU/640087_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 2,
"variation": null,
"unit_price": "1.600,00 \u20ac / 1Kg",
"description": [
"Schimmerndes K\u00f6rperpuder",
"Bridgerton Collection"
],
"current_price": "32,00 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc4597edf/images/hi-res/all/SKU/461378_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 9,
"variation": "#No.4 (2 g)",
"unit_price": "4.500,00 \u20ac / 1Kg",
"description": [
"Pigment"
],
"current_price": "9,00 \u20ac"
},
{
"brand": "BON PARFUMEUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw447aab0d/images/hi-res/all/SKU/616466_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "142,50 \u20ac / 1L",
"description": [
"Diffuser 04",
"Black Tea, Mugwort, Birch"
],
"current_price": "28,50 \u20ac"
},
{
"brand": "BON PARFUMEUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw09a39993/images/hi-res/all/SKU/616464_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "142,50 \u20ac / 1L",
"description": [
"Diffuser 02",
"Seed Of Coriander, Honey, Tobacco Leaf"
],
"current_price": "28,50 \u20ac"
}
]
}
OxyCopilot prepares a parsing schema with data structure (object types, names, and descriptions). AI uses this data plan to generate instructions, which you can edit in the Scraper APIs Playground.
Object type | Name | Description |
---|---|---|
Array of objects | products | List of product data from search results. |
String | brand | |
Array of strings | description | List containing title and summary. |
Number | reviews | |
String | current_price | |
String | unit_price | Extract all text from the entire div element. |
String | variation | |
Number | shades | |
String | image |
If you're new to our Web Scraper API, sign up for a 1-week free trial or select a suitable plan on the dashboard to get started.
Register on the Oxylabs dashboard, select the product, then navigate to the pricing, and click Start free trial:
After claiming a free trial, you'll need to create your API user. Enter your preferred username, password, and click Create API User.
Make sure to keep your credentials secure because you'll need them to access the Web Scraper API and OxyCopilot.
We also have a video tutorial, explaining how to claim a free trial, create an API user, and more:
Once everything is set up, click the Scraper APIs Playground button on your left. You'll be redirected to the playground page, where you can use the OxyCopilot.
When you access the Scraper APIs Playground page, click the main OxyCopilot button on the upper left corner, and you can start building your scraper and parser to collect product listing data from Sephora.
After clicking this button, you'll see the table, where you need to enter URLs, Scraper Parameters, and Parsing instructions.
To test our example for collecting product listings data from Sephora, here's the information you should add:
Let’s take a product listings page featuring 70% sales on Sephora’s German domain:
Copy
https://www.sephora.de/sale-70/
Specify the API parameters you need for a request, such as a German geolocation. Since the page relies on dynamic content loading, make sure to enable JavaScript rendering by clicking the checkmark.
Copy
Scrape this URL from a German geolocation.
In a prompt, explain your data needs to generate parsing instructions. Simple, well-structured prompts work best, while more complex prompts may require resubmissions to achieve the desired outcome.
This prompt instructs OxyCopilot to retrieve multiple data points for each product listing.
Copy
Parse e-commerce product listings. Treat the search results as a list and from each item, extract the following product data:
- Brand name.
- Description. Treat it as a list containing title and summary.
- Amount of reviews.
- Current price text.
- Unit price: Extract all text from the entire div element.
- Product variation name.
- Product shades number.
- The first product image link.
After entering all the information, click the Generate instructions button.
OxyCopilot translates your prompt into JSON parsing instructions for use with the API's Custom Parser feature.
Store these instructions and use them with your API requests. Alternatively, click "Save Instructions" and then copy the complete request code in your preferred language.
Copy
{
"products": {
"_fns": [
{
"_fn": "xpath",
"_args": [
"//ul[@class=\"search-result-items tiles-container hide-compare \"]/li",
"//ul[@id=\"search-result-items\"]/li",
"//div[@class=\"search-result-content\"]/ul/li",
"//div[@class=\"category-producthits-wrapper\"]/div[3]/ul/li",
"//div[@class=\"primary-content\"]/div[1]/div[3]/ul/li",
"//div[@id=\"primary\"]/div[1]/div[3]/ul/li",
"//div[@class=\"main-search-content\"]/div[2]/div[1]/div[3]/ul/li",
"//div[@class=\"content-with-refinements refinements-open\"]/div[2]/div[2]/div[1]/div[3]/ul/li",
"//div[@id=\"main-js\"]/div[3]/div[2]/div[2]/div[1]/div[3]/ul/li",
"//div[@id=\"main\"]/div[2]/div[3]/div[2]/div[2]/div[1]/div[3]/ul/li"
]
}
],
"_items": {
"brand": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//span[@class=\"product-brand\"]/text()",
".//a[@class=\"product-tile-link\"]/span/text()",
".//a[@data-event=\"addProductFromExpress\"]/span/text()",
".//div[@class=\"product-info \"]/a/span/text()",
".//div[@class=\"product-info-wrapper\"]/div/a/span/text()",
".//div[@data-list=\"null\"]/div[3]/div/a/span/text()",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/a/span/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"description": {
"_fns": [
{
"_fn": "xpath",
"_args": [
".//h3[@class=\"product-title bidirectional\"]/span/text()",
".//a[@class=\"product-tile-link\"]/h3/span/text()",
".//a[@data-event=\"addProductFromExpress\"]/h3/span/text()",
".//div[@class=\"product-info \"]/a/h3/span/text()",
".//a/h3[@class=\"product-title bidirectional\"]//span/text()",
".//div[@class=\"product-info-wrapper\"]/div/a/h3/span/text()",
".//div[@data-list=\"null\"]/div[3]/div/a/h3/span/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"reviews": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//span[@class=\"amount-of-reviews\"]/text()",
".//div[@class=\"product-rating-wrapper hide-on-hover\"]/span/text()",
".//div[@class=\"product-info \"]/div[1]/span/text()",
".//div[@class=\"product-info-wrapper\"]/div/div[1]/span/text()",
".//div[@data-list=\"null\"]/div[3]/div/div[1]/span/text()",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[1]/span/text()",
".//div[1]/div[3]/div/div[1]/span/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"current_price": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//span[@class=\"product-sales-price red-price\"]/text()",
".//div[@class=\"product-pricing price-from\"]/span/text()",
".//div[@class=\"product-pricing\"]/div[1]/span/text()",
".//span[@title=\"Verkaufspreis\"]/text()",
".//div[@class=\"product-pricing\"]/span/text()",
".//div[@class=\"product-info \"]/div[2]/div[1]/span/text()",
".//div[@class=\"product-info-wrapper\"]/div/div[2]/div[1]/span/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"unit_price": {
"_fns": [
{
"_fn": "xpath",
"_args": [
".//div[@class=\"unit-price\"]",
".//div[@class=\"product-info \"]/div[3]",
".//div[@class=\"product-info-wrapper\"]/div/div[3]",
".//div[@data-list=\"null\"]/div[3]/div/div[3]",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[3]",
".//div[1]/div[3]/div/div[3]",
".//div[@class=\"product-info \"]/div[2]"
]
},
{
"_fn": "xpath",
"_args": [
"normalize-space(.)"
]
},
{
"_fn": "join",
"_args": " "
}
]
},
"variation": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//div[@class=\"product-variation-name show-for-medium bidirectional\"]/text()",
".//div[@class=\"product-shades show-on-hover\"]/div[1]/text()",
".//div[@class=\"product-info \"]/div[4]/div[1]/text()",
".//div[@class=\"product-info-wrapper\"]/div/div[4]/div[1]/text()",
".//div[@data-list=\"null\"]/div[3]/div/div[4]/div[1]/text()",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[4]/div[1]/text()",
".//div[1]/div[3]/div/div[4]/div[1]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
},
"shades": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//div[@class=\"product-shades-number\"]/text()",
".//div[@class=\"product-shades show-on-hover\"]/div[2]/text()",
".//div[@class=\"product-info \"]/div[4]/div[2]/text()",
".//div[@class=\"product-info-wrapper\"]/div/div[4]/div[2]/text()",
".//div[@data-list=\"null\"]/div[3]/div/div[4]/div[2]/text()",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[4]/div[2]/text()",
".//div[1]/div[3]/div/div[4]/div[2]/text()"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
},
{
"_fn": "amount_from_string"
}
]
},
"image": {
"_fns": [
{
"_fn": "xpath_one",
"_args": [
".//img[@class=\"product-first-img\"]/@src",
".//div[@class=\"product-imgs\"]/img/@src",
".//a[@class=\"product-tile-link\"]/div/img/@src",
".//a[@data-event=\"addProductFromExpress\"]/div/img/@src",
".//div[@class=\"product-image\"]/a/div/img/@src",
".//div[@data-list=\"null\"]/div[2]/a/div/img/@src",
".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[2]/a/div/img/@src"
]
},
{
"_fn": "regex_search",
"_args": [
"^\\s*(.[\\s\\S]*?)\\s*$",
1
]
}
]
}
}
}
}
Here's the generated API request code you can use in your preferred IDE to extract product listings data from Sephora. Don't forget to enter the credentials you've got after creating your API user because you won't be able to use our Web Scraper API.
Copy
import requests
from pprint import pprint
# Structure payload.
payload = {
'source': 'universal',
'url': 'https://www.sephora.de/sale-70/',
'geo_location': 'Germany',
'render': 'html',
'parse': True,
'parsing_instructions': {"products":{"_fns":[{"_fn":"xpath","_args":["//ul[@class=\"search-result-items tiles-container hide-compare \"]/li","//ul[@id=\"search-result-items\"]/li","//div[@class=\"search-result-content\"]/ul/li","//div[@class=\"category-producthits-wrapper\"]/div[3]/ul/li","//div[@class=\"primary-content\"]/div[1]/div[3]/ul/li","//div[@id=\"primary\"]/div[1]/div[3]/ul/li","//div[@class=\"main-search-content\"]/div[2]/div[1]/div[3]/ul/li","//div[@class=\"content-with-refinements refinements-open\"]/div[2]/div[2]/div[1]/div[3]/ul/li","//div[@id=\"main-js\"]/div[3]/div[2]/div[2]/div[1]/div[3]/ul/li","//div[@id=\"main\"]/div[2]/div[3]/div[2]/div[2]/div[1]/div[3]/ul/li"]}],"_items":{"brand":{"_fns":[{"_fn":"xpath_one","_args":[".//span[@class=\"product-brand\"]/text()",".//a[@class=\"product-tile-link\"]/span/text()",".//a[@data-event=\"addProductFromExpress\"]/span/text()",".//div[@class=\"product-info \"]/a/span/text()",".//div[@class=\"product-info-wrapper\"]/div/a/span/text()",".//div[@data-list=\"null\"]/div[3]/div/a/span/text()",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/a/span/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"description":{"_fns":[{"_fn":"xpath","_args":[".//h3[@class=\"product-title bidirectional\"]/span/text()",".//a[@class=\"product-tile-link\"]/h3/span/text()",".//a[@data-event=\"addProductFromExpress\"]/h3/span/text()",".//div[@class=\"product-info \"]/a/h3/span/text()",".//a/h3[@class=\"product-title bidirectional\"]//span/text()",".//div[@class=\"product-info-wrapper\"]/div/a/h3/span/text()",".//div[@data-list=\"null\"]/div[3]/div/a/h3/span/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"reviews":{"_fns":[{"_fn":"xpath_one","_args":[".//span[@class=\"amount-of-reviews\"]/text()",".//div[@class=\"product-rating-wrapper hide-on-hover\"]/span/text()",".//div[@class=\"product-info \"]/div[1]/span/text()",".//div[@class=\"product-info-wrapper\"]/div/div[1]/span/text()",".//div[@data-list=\"null\"]/div[3]/div/div[1]/span/text()",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[1]/span/text()",".//div[1]/div[3]/div/div[1]/span/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"current_price":{"_fns":[{"_fn":"xpath_one","_args":[".//span[@class=\"product-sales-price red-price\"]/text()",".//div[@class=\"product-pricing price-from\"]/span/text()",".//div[@class=\"product-pricing\"]/div[1]/span/text()",".//span[@title=\"Verkaufspreis\"]/text()",".//div[@class=\"product-pricing\"]/span/text()",".//div[@class=\"product-info \"]/div[2]/div[1]/span/text()",".//div[@class=\"product-info-wrapper\"]/div/div[2]/div[1]/span/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"unit_price":{"_fns":[{"_fn":"xpath","_args":[".//div[@class=\"unit-price\"]",".//div[@class=\"product-info \"]/div[3]",".//div[@class=\"product-info-wrapper\"]/div/div[3]",".//div[@data-list=\"null\"]/div[3]/div/div[3]",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[3]",".//div[1]/div[3]/div/div[3]",".//div[@class=\"product-info \"]/div[2]"]},{"_fn":"xpath","_args":["normalize-space(.)"]},{"_fn":"join","_args":" "}]},"variation":{"_fns":[{"_fn":"xpath_one","_args":[".//div[@class=\"product-variation-name show-for-medium bidirectional\"]/text()",".//div[@class=\"product-shades show-on-hover\"]/div[1]/text()",".//div[@class=\"product-info \"]/div[4]/div[1]/text()",".//div[@class=\"product-info-wrapper\"]/div/div[4]/div[1]/text()",".//div[@data-list=\"null\"]/div[3]/div/div[4]/div[1]/text()",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[4]/div[1]/text()",".//div[1]/div[3]/div/div[4]/div[1]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]},"shades":{"_fns":[{"_fn":"xpath_one","_args":[".//div[@class=\"product-shades-number\"]/text()",".//div[@class=\"product-shades show-on-hover\"]/div[2]/text()",".//div[@class=\"product-info \"]/div[4]/div[2]/text()",".//div[@class=\"product-info-wrapper\"]/div/div[4]/div[2]/text()",".//div[@data-list=\"null\"]/div[3]/div/div[4]/div[2]/text()",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[3]/div/div[4]/div[2]/text()",".//div[1]/div[3]/div/div[4]/div[2]/text()"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]},{"_fn":"amount_from_string"}]},"image":{"_fns":[{"_fn":"xpath_one","_args":[".//img[@class=\"product-first-img\"]/@src",".//div[@class=\"product-imgs\"]/img/@src",".//a[@class=\"product-tile-link\"]/div/img/@src",".//a[@data-event=\"addProductFromExpress\"]/div/img/@src",".//div[@class=\"product-image\"]/a/div/img/@src",".//div[@data-list=\"null\"]/div[2]/a/div/img/@src",".//div[@class=\"product-tile product-tile-with-legal clickable omnibus-tile\"]/div[2]/a/div/img/@src"]},{"_fn":"regex_search","_args":["^\\s*(.[\\s\\S]*?)\\s*$",1]}]}}}}
}
# Get response.
response = requests.request(
'POST',
'https://realtime.oxylabs.io/v1/queries',
auth=('YOUR_USERNAME', 'YOUR_PASSWORD'), # Your credentials go here
json=payload,
)
# Instead of response with job status and results url, this will return the
# JSON response with results.
pprint(response.json())
Here are all the extracted product listings from a Sephora page after using AI-generated parsing instructions:
Copy
{
"products": [
{
"brand": "KVD Beauty",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwfa13014e/images/hi-res/all/SKU/650177_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 40,
"reviews": 30,
"variation": "Deep 086 - 30 ml",
"unit_price": "666,67 \u20ac / 1L",
"description": [
"Good Apple Liquid",
"Nicht komodene fl\u00fcssige Foundation mit hoher Deckkraft"
],
"current_price": "20,00 \u20ac"
},
{
"brand": "TARTE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwbf5265a3/images/hi-res/all/SKU/611537_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 20,
"reviews": 6,
"variation": "47H\u00a0tan-deep\u00a0honey (30 ml)",
"unit_price": "650,00 \u20ac / 1L",
"description": [
"Shape Tape\u2122 Cloud",
"Grundierung"
],
"current_price": "19,50 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc940ae5a/images/hi-res/all/SKU/509485_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 357,
"variation": "300C Cool - Medium Fair-C (30 ml)",
"unit_price": "1.200,00 \u20ac / 1L",
"description": [
"Hyaluronic Hydra Foundation"
],
"current_price": "36,00 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw7d5212c3/images/hi-res/all/SKU/464658_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 13,
"reviews": 75,
"variation": "Dragon Doll (4 ml)",
"unit_price": "3.250,00 \u20ac / 1L",
"description": [
"Lip-Expert Matte"
],
"current_price": "13,00 \u20ac"
},
{
"brand": "LACOSTE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwbf3a845d/images/hi-res/all/SKU/402743_swatch.jpeg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 41.5,
"variation": null,
"unit_price": "415,00 \u20ac / 1L",
"description": [
"L'Homme Lacoste Eau de Toilette"
],
"current_price": "41,50 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4389e606/images/hi-res/all/SKU/461394_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 11,
"reviews": 10.5,
"variation": "#lovespell (3 g)",
"unit_price": "3.500,00 \u20ac / 1Kg",
"description": [
"Lipstick Smooth Finish"
],
"current_price": "10,50 \u20ac"
},
{
"brand": "MILK",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc22e0149/images/hi-res/all/PID_principal/P3818090_principal.jpg?sw=240&sh=240&sm=fit",
"shades": 7,
"reviews": 1864,
"variation": "Dub (4.5 ml)",
"unit_price": "5.322,22 \u20ac / 1L",
"description": [
"KUSH Fiber Brow Gel"
],
"current_price": "23,95 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dweac741ff/images/hi-res/all/SKU/461077_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 8,
"reviews": 16.5,
"variation": "05 Pink (3,5 g)",
"unit_price": "4.714,29 \u20ac / 1Kg",
"description": [
"TAGAROT Lippenstift"
],
"current_price": "16,50 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw925bb22a/images/hi-res/all/SKU/464666_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 8,
"reviews": 42,
"variation": "Hot Bare (3 g)",
"unit_price": "6.666,67 \u20ac / 1Kg",
"description": [
"Lip-Expert Shine"
],
"current_price": "20,00 \u20ac"
},
{
"brand": "LANC\u00d4ME",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw8a43adf7/images/hi-res/all/SKU/404436_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 7,
"reviews": 34,
"variation": "15 Moka (30 ml)",
"unit_price": "633,33 \u20ac / 1L",
"description": [
"Teint Idole Ultra Wear",
"Mattes Make-up mit hoher Deckkraft"
],
"current_price": "19,00 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw98ef107f/images/hi-res/all/SKU/461422_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 6,
"reviews": 9,
"variation": "#maybebaby (8 ml)",
"unit_price": "1.125,00 \u20ac / 1L",
"description": [
"More Gloss Lip Lacquer"
],
"current_price": "9,00 \u20ac"
},
{
"brand": "HO KARAN",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4a6e82ba/images/hi-res/all/SKU/549095_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "4.950,00 \u20ac / 1L",
"description": [
"Antidote 5%",
"\u00d6l mit CBD Broad Spectrum"
],
"current_price": "49,50 \u20ac"
},
{
"brand": "CLINIQUE",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4e8c530d/images/hi-res/all/SKU/505696_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 14,
"reviews": 28,
"variation": "CN 02 Breeze (30 ml)",
"unit_price": "883,33 \u20ac / 1L",
"description": [
"Even Better Refresh\u2122 Hydrating and Repairing Makeup"
],
"current_price": "26,50 \u20ac"
},
{
"brand": "BOSCIA",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw9b6d24fe/images/hi-res/all/SKU/480366_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 13,
"variation": null,
"unit_price": "162,50 \u20ac / 1Kg",
"description": [
"Cactus Water Peel-Off Mask"
],
"current_price": "13,00 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw077535b7/images/hi-res/all/SKU/461041_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 2,
"variation": "05 Mocha (30 ml)",
"unit_price": "716,67 \u20ac / 1L",
"description": [
"LIETH Foundation"
],
"current_price": "21,50 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw97d40c59/images/hi-res/all/SKU/549151_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 4,
"reviews": 1,
"variation": "05 Honey Beige (4 ml)",
"unit_price": "4.625,00 \u20ac / 1L",
"description": [
"TUNKAL Concealer"
],
"current_price": "18,50 \u20ac"
},
{
"brand": "NATASHA DENONA",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw6131efeb/images/hi-res/all/SKU/504599_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 10,
"reviews": 66,
"variation": "82W warm - dark (30 ml)",
"unit_price": "600,00 \u20ac / 1L",
"description": [
"Foundation X + Full Coverage Fruit Complex Make-Up"
],
"current_price": "18,00 \u20ac"
},
{
"brand": "BY TERRY",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw3420ab7d/images/hi-res/all/SKU/486119_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 104,
"variation": "Medium dark, 10 g",
"unit_price": "1.950,00 \u20ac / 1Kg",
"description": [
"Hyaluronic Hydra Powder Tinted"
],
"current_price": "19,50 \u20ac"
},
{
"brand": "SEPHORA COLLECTION",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw66a76cf6/images/hi-res/all/SKU/587578_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 1,
"variation": null,
"unit_price": "8,00 \u20ac / 1L",
"description": [
"Nachf\u00fcllpackung Schaumbad-Dusche"
],
"current_price": "4,00 \u20ac"
},
{
"brand": "UND GRETEL",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw4db8648d/images/hi-res/all/SKU/461063_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 1,
"variation": "06 Patina (2 g)",
"unit_price": "8.500,00 \u20ac / 1Kg",
"description": [
"IMBE Lidschatten"
],
"current_price": "17,00 \u20ac"
},
{
"brand": "PAT McGRATH LABS",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw6a2345dd/images/hi-res/all/SKU/640087_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": 2,
"variation": null,
"unit_price": "1.600,00 \u20ac / 1Kg",
"description": [
"Schimmerndes K\u00f6rperpuder",
"Bridgerton Collection"
],
"current_price": "32,00 \u20ac"
},
{
"brand": "BLUSHHOUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dwc4597edf/images/hi-res/all/SKU/461378_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": 2,
"reviews": 9,
"variation": "#No.4 (2 g)",
"unit_price": "4.500,00 \u20ac / 1Kg",
"description": [
"Pigment"
],
"current_price": "9,00 \u20ac"
},
{
"brand": "BON PARFUMEUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw447aab0d/images/hi-res/all/SKU/616466_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "142,50 \u20ac / 1L",
"description": [
"Diffuser 04",
"Black Tea, Mugwort, Birch"
],
"current_price": "28,50 \u20ac"
},
{
"brand": "BON PARFUMEUR",
"image": "https://www.sephora.de/dw/image/v2/BBQW_PRD/on/demandware.static/-/Sites-masterCatalog_Sephora/default/dw09a39993/images/hi-res/all/SKU/616464_swatch.jpg?sw=240&sh=240&sm=fit",
"shades": null,
"reviews": null,
"variation": null,
"unit_price": "142,50 \u20ac / 1L",
"description": [
"Diffuser 02",
"Seed Of Coriander, Honey, Tobacco Leaf"
],
"current_price": "28,50 \u20ac"
}
]
}
Object type | Name | Description |
---|---|---|
Array of objects | products | List of product data from search results. |
String | brand | |
Array of strings | description | List containing title and summary. |
Number | reviews | |
String | current_price | |
String | unit_price | Extract all text from the entire div element. |
String | variation | |
Number | shades | |
String | image |
Scale up your business with Oxylabs®
Proxies
Advanced proxy solutions
Data Collection
Datasets
Resources
Innovation hub