# Shein Scraper (`natanielsantos/shein-scraper`)

Scrape product data from Shein with this reliable tool. Extract price, images, description, sizes, category, shipping price and much more. Download your data as HTML table, JSON, CSV, Excel, XML, and RSS feed.

- **URL**: https://beta-securitybyobscurity.apify.com/natanielsantos/shein-scraper.md
- **Developed by:** [Nataniel Santos](https://beta-securitybyobscurity.apify.com/natanielsantos) (community)
- **Categories:** E-commerce
- **Stats:** 871 total users, 36 monthly users, 99.9% runs succeeded, 25 bookmarks
- **User rating**: 3.42 out of 5 stars

## Pricing

$30.00/month + usage

To use this Actor, you pay a monthly rental fee to the developer. The rent is subtracted from your prepaid usage every month after the free trial period.
You also pay for the Apify platform usage, which gets cheaper the higher Apify subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#rental-actors

# README

### 🔍 What does Shein Scraper do?

Shein Scraper is a web scraper that collects public product data from the Shein website.

### ✨ Features

- 🏷️ Extracts detailed product details such as title, prices, variants, images, sizes and more
- 🔎 Scrapes products by URLs, search URLs, categories, subcategories, and collections
- 🌍 Scrape from specific country, language and currency
- 📅 Supports pagination to scrape multiple pages
- 📦 Outputs data in multiple formats (e.g. JSON, XML) for easy integration with other tools

### ⚙️ Input Parameters

The actor accepts the following input parameters:

- `start_urls`: A list of Shein URLs to scrape. You can provide a product detail URL, share URL or any URL that contains a list of products, such as category URL or search URL.
- `max_items_count`: For when you're providing listing URLs, this options sets the maximum number of items you want to scrape per run. It will automatically paginate through to each URL, until it reaches the limit.
- `max_items_per_url` (Optional): Instead of setting Max items, you can specify how many items you want to scrape per URL. Leave this field blank if you want to use Max items instead.
- `currency` (Optional): Currency to use for prices. Example: USD, EUR, GBP, etc. Should be in 3-letter ISO format. Default is `USD`.
- `language` (Optional): Set the language of the results. Should be in 2-letter ISO format. Default is `en`.
- `country` (Optional): Set the country to scrape Shein. Should be in 2-letter ISO format. Default is US.
- `include_size_chart` (Optional): If checked, the scraper will scrape detailed size guide data. Default is `false`.

Check the [Input Tab](https://apify.com/natanielsantos/shein-scraper/input-schema) for more details.

### 💡 Tips

- When you want to have a scrape over a specific listing URL, just copy the url from the shein website and paste in `start_urls`
- You can watch [Apify Tutorials](https://www.youtube.com/playlist?list=PLObrtcm1Kw6PmbXg8bmfJN-o2Hgx8sidf) on how to use actors.

### 📥 Input Example

#### Scraping by product detail URLs 🔗 (including size chart data)

```json
{
    "start_urls": [
        { 
          "url": "https://us.shein.com/SHEIN-EZwear-Solid-Elastic-Waist-Slant-Pocket-Sweatpants-p-3308015-cat-2990.html"
        },
	      { 
          "url": "https://us.shein.com/ROMWE-Grunge-Punk-Y2K-Subculture-Leopard-Print-Hem-Slit-Design-Women-Tube-Top-p-47977641.html"
        },
        ...
    ],
    "country": "US",
    "language": "en",
    "currency": "USD",
    "include_size_chart": true,
}
```

#### Scraping by product listing URLs 🔗 (scrape 100 products from each URL)

```json
{
    "start_urls": [
        { "url": "https://us.shein.com/style/Dresses-sc-001148338.html" },
	      { "url": "https://us.shein.com/hotsale/Dresses-Top-Rated-sc-00329494.html" },
        { "url": "https://us.shein.com/Women-Beachwear-c-2039.html" }
    ],
    "max_items_per_url": 400,
    "country": "US",
    "language": "en",
    "currency": "USD"
}
```

#### Scraping by search results URLs (scrape 100 products)

```json
{
    "start_urls": [
        { "url": "https://us.shein.com/pdsearch/sweatpants/?ici=s1`SuggestionSearch`sweatpants`_fb`d0`PageOther&search_source=2&search_type=all&source=association&src_identifier=st%3D4%60sc%3Dsweatpants%60sr%3D0%60ps%3D3&src_identifier_pre_search=&src_module=search&src_tab_page_id=page_other1754683798806" }
    ],
    "max_items_per_url": 100,
    "country": "US",
    "language": "en",
    "currency": "USD"
}
```

### 📦 Output Format

The output will be a JSON object containing an array of products, each with detailed information such as:

- `url`: URL of the product page
- `title`: Title of the product
- `images`: Array of image URLs for the product
- `retail_price`: Object containing the retail price of the product
- `sale_price`: Object containing the sale price of the product
- `product_id`: Unique identifier for the product
- `sku`: SKU of the product
- `category_id`: ID of the product category
- `category_name`: Name of the product category
- `category_ids`: Array of category IDs the product belongs to
- `main_sale_attr`: Main sale attribute of the product (e.g., color)
  - `id`: ID of the attribute
  - `name`: Name of the attribute
  - `name_en`: Name of the attribute in English
  - `value`: Value of the attribute
  - `value_en`: Value of the attribute in English
- `second_sale_attrs`: Array of secondary sale attributes (e.g., size)
- `main_image`: URL of the main image of the product
- `specs`: Array of specifications for the product (e.g., style, material, care instructions)
- `description`: Description of the product
- `discount_percentage`: Percentage discount on the product
- `sku_list`: Array of SKUs with their respective prices and attributes
  - `retail_price`: Retail price of the SKU
  - `sale_price`: Sale price of the SKU
  - `sku_code`: SKU code of the product
  - `sku_sale_attr`: Array of sale attributes for the SKU
    - `id`: ID of the attribute
    - `name`: Name of the attribute
    - `name_en`: Name of the attribute in English
    - `value_en`: Value of the attribute in English
    - `value_id`: ID of the value
- `skc_sale_attr`: Array of sale attributes for SKUs
  - `attr_id`: ID of the attribute
  - `attr_name`: Name of the attribute
  - `is_size`: Boolean indicating if the attribute is a size
  - `attr_value_list`: Array of attribute values
    - `attr_value_name`: Name of the attribute value
    - `attr_value_name_en`: Name of the attribute value in English
- `has_discount`: Boolean indicating if the product has a discount
- `sizes`: Array of sizes available for the product
  - `attr_value_name`: Name of the size
  - `attr_value_name_en`: Name of the size in English
  - `is_sold_out`: Boolean indicating if the size is sold out
  - `attr_value_local_size`: Array of local size values for different countries (if `include_size_chart` is true)
    - `country_code`: Country code (e.g., US, UK)
    - `attr_local_size_value`: Local size value
    - `attr_local_size_value_start`: Start value for range sizes (if applicable)
    - `attr_local_size_value_end`: End value for range sizes (if applicable)
  - `size_chart`: Array of size chart details (if `include_size_chart` is true)
    - `attr_name_value_cm`: Size in centimeters
    - `attr_name_value_inch`: Size in inches
    - `attr_name_value_key`: Key for the size attribute (e.g., length, bust)
- `variants`: Array of product variants with their details
  - `product_id`: Unique identifier for the variant
  - `url`: URL of the variant product page
  - `title`: Title of the variant
  - `sku`: SKU of the variant
  - `main_image`: URL of the main image for the variant
  - `discount_percentage`: Percentage discount on the variant
  - `retail_price`: Retail price of the variant
  - `sale_price`: Sale price of the variant
  - `has_discount`: Boolean indicating if the variant has a discount
  - `main_sale_attr`: Main sale attribute for the variant
  - `second_sale_attrs`: Array of secondary sale attributes for the variant
  - `color`: Color of the variant
  - `images`: Array of image URLs for the variant
  - `sizes`: Array of sizes available for the variant
  - `sku_list`: Array of SKUs for the variant with their respective prices and attributes
  - `skc_sale_attr`: Array of sale attributes for SKUs
  - `has_discount`: Boolean indicating if the variant has a discount
  - `sizes`: Array of sizes available for the variant

⚠️ **Warning: Be aware that in the trial period some data fields are obfuscated with \* to prevent the scraper from being used by spam accounts only in the trial version. Rent the actor to remove this limitation.**

### 📤 Output Example

The structure of each item in Shein products looks like this:

```json
{
	"images": [
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/39/1747620456d3337f99d9ab3d9e799d752f642044a3_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/56/1747620457ab7b501337e0b0d5a81b36cb6239192c_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/94/1747620459686e03c04fa7fb4c5dadc59928a738fa_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/4d/17476204604d69bd171614f204649881145c4c04ed_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/25/1747620463e79ecd39d2fb3e754775a6c75cbaa93e_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/1d/174762046524822c3e660f61d65a3a223a1707ff59_thumbnail_750x999.webp",
		"http://img.ltwebstatic.com/v4/j/pi/2025/05/19/35/17476204670e15d03ed923ffb10206626a2eb436f5_thumbnail_750x999.webp"
	],
	"retail_price": {
		"amount": 6.99,
		"amount_with_symbol": "6,99€",
		"usd_amount": 8.08,
		"usd_amount_with_symbol": "$8.08"
	},
	"sale_price": {
		"amount": 6.99,
		"amount_with_symbol": "6,99€",
		"usd_amount": 8.08,
		"usd_amount_with_symbol": "$8.08"
	},
	"url": "https://de.shein.com/Sweetra-Women-s-New-Spring-Summer-Asymmetrical-One-Shoulder-Blouse-Textured-Fabric-Metal-Button-Decor-Suitable-For-Beach-Vacation-p-70340873-cat-2223.html",
	"title": "Sweetra Damen neue Bluse im asymmetrischen Ein-Schulter-Stil für Frühling & Sommer, strukturierter Stoff, Metallknopf-Dekoration, geeignet für Strandurlaub",
	"product_id": "70340873",
	"sku": "sz25040744524489934",
	"category_id": "2223",
	"category_name": "Damen Tops & Blusen & T-Shirts",
	"category_ids": [
		"1766",
		"2223",
		"4436",
		"2030"
	],
	"main_sale_attr": {
		"id": "27",
		"name": "Farbe",
		"name_en": "Color",
		"value": "Aprikosenfarben",
		"value_en": "Apricot",
		"value_id": "78",
		"is_sold_out": false
	},
	"second_sale_attrs": [
		{
			"id": "87",
			"name": "Größe",
			"name_en": "Size",
			"values": [
				{
					"value": "Petite XXS-Petite L",
					"value_en": "Petite XXS-Petite L",
					"is_sold_out": null
				},
				{
					"id": "755",
					"value": "XS",
					"value_en": "XS",
					"is_sold_out": false
				},
				{
					"id": "568",
					"value": "S",
					"value_en": "S",
					"is_sold_out": false
				},
				{
					"id": "417",
					"value": "M",
					"value_en": "M",
					"is_sold_out": false
				},
				{
					"id": "387",
					"value": "L",
					"value_en": "L",
					"is_sold_out": false
				}
			]
		}
	],
	"main_image": "http://img.ltwebstatic.com/v4/j/pi/2025/05/19/39/1747620456d3337f99d9ab3d9e799d752f642044a3_thumbnail_405x552.jpg",
	"specs": [
		{
			"id": "101",
			"name": "Stil",
			"name_en": "Style",
			"value": "Lässig",
			"value_en": "Casual",
			"value_id": "167"
		},
		{
			"id": "58",
			"name": "Futter",
			"name_en": "Body",
			"value": "Ungefüttert",
			"value_en": "Unlined",
			"value_id": "1001808"
		},
		{
			"id": "66",
			"name": "Ausschnitt",
			"name_en": "Neckline",
			"value": "Asymmetrischer Ausschnitt",
			"value_en": "Asymmetrical Neck",
			"value_id": "84"
		},
		{
			"id": "1001137",
			"name": "Festivals",
			"name_en": "Festivals",
			"value": "Oktoberfest in München",
			"value_en": "Oktoberfest in Munich",
			"value_id": "2614087"
		},
    ...
	],
	"description": "Stil: Lässig\nFutter: Ungefüttert\nAusschnitt: Asymmetrischer Ausschnitt\nFestivals: Oktoberfest in München\nDetails: Asymmetrisch, Gerafft\nWärmefutter: NEIN\nMuster: Einfarbig\nSaumform: Asymmetrisch\nTaschen: NEIN\nFarbe: Aprikosenfarben\nÄrmellänge: Ärmellos\nLänge: Regulär\nPassform: Schmal Geschnitten\nTransparent: NEIN\nGewebeelastizität: Medium Stretch\nMaterial: Strickstoff\nZusammensetzung: 95% Polyester, 5% Elasthan\nPflegeanleitungen: Maschinenwäsche oder professionelle chemische Reinigung\n",
	"discount_percentage": 0,
	"sku_list": [
		{
			"retail_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sale_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sku_code": "I47rkzpxcn33",
			"sku_sale_attr": [
				{
					"id": "87",
					"name": "Größe",
					"name_en": "Size",
					"value_en": "XS",
					"value_id": "755"
				}
			]
		},
		{
			"retail_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sale_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sku_code": "I47rkzpwzlfj",
			"sku_sale_attr": [
				{
					"id": "87",
					"name": "Größe",
					"name_en": "Size",
					"value_en": "L",
					"value_id": "387"
				}
			]
		},
		{
			"retail_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sale_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sku_code": "I47rkzpx6ax1",
			"sku_sale_attr": [
				{
					"id": "87",
					"name": "Größe",
					"name_en": "Size",
					"value_en": "S",
					"value_id": "568"
				}
			]
		},
		{
			"retail_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sale_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sku_code": "I94fxhcodb4r",
			"sku_sale_attr": [
				{
					"id": "87",
					"name": "Größe",
					"name_en": "Size",
					"value_en": "M",
					"value_id": "417"
				}
			]
		}
	],
	"skc_sale_attr": [
		{
			"attr_id": "87",
			"attr_name": "Größe",
			"is_size": true,
			"attr_value_list": [
				{
					"attr_value_name": "Petite XXS-Petite L",
					"attr_value_name_en": "Petite XXS-Petite L"
				},
				{
					"attr_value_id": "755",
					"attr_value_name": "XS",
					"attr_value_name_en": "XS"
				},
				{
					"attr_value_id": "568",
					"attr_value_name": "S",
					"attr_value_name_en": "S"
				},
				{
					"attr_value_id": "417",
					"attr_value_name": "M",
					"attr_value_name_en": "M"
				},
				{
					"attr_value_id": "387",
					"attr_value_name": "L",
					"attr_value_name_en": "L"
				}
			]
		}
	],
	"has_discount": false,
	"sizes": [
		{
			"attr_value_name": "Petite XXS-Petite L",
			"attr_value_name_en": "Petite XXS-Petite L",
			"is_sold_out": null,
			"attr_value_local_size": [],
			"size_chart": []
		},
		{
			"attr_value_name": "XS",
			"attr_value_name_en": "XS",
			"is_sold_out": false,
			"attr_value_local_size": [
				{
					"country_code": "DE",
					"attr_local_size_value": "34",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "JP",
					"attr_local_size_value": "JP-M",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "MX",
					"attr_local_size_value": "XCH",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "IT",
					"attr_local_size_value": "38",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "FR",
					"attr_local_size_value": "34",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "ES",
					"attr_local_size_value": "34",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "EU",
					"attr_local_size_value": "34",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "BR",
					"attr_local_size_value": "PP",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "AU",
					"attr_local_size_value": "6",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "SG",
					"attr_local_size_value": "SG-M",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "UK",
					"attr_local_size_value": "6",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "US",
					"attr_local_size_value": "2",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				},
				{
					"country_code": "CA",
					"attr_local_size_value": "US 2",
					"attr_local_size_value_start": null,
					"attr_local_size_value_end": null
				}
			],
			"size_chart": [
				{
					"attr_name_value_cm": "54 cm",
					"attr_name_value_inch": "21.3 inch",
					"attr_name_value_key": "Länge",
					"attr_name_value": "54 cm"
				},
				{
					"attr_name_value_cm": "72 cm",
					"attr_name_value_inch": "28.3 inch",
					"attr_name_value_key": "Brust",
					"attr_name_value": "72 cm"
				},
				{
					"attr_name_value_cm": "52 cm",
					"attr_name_value_inch": "20.5 inch",
					"attr_name_value_key": "Taillenumfang",
					"attr_name_value": "52 cm"
				}
			]
		},
		...
	],
	"variants": [
		{
			"product_id": "106121702",
			"url": "https://de.shein.com/Sweetra-Women-s-New-Asymmetrical-Open-Shoulder-Textured-Blouse-With-Metal-Button-Decor-Suitable-For-Beach-Holiday-Spring-Summer-p-106121702-cat-2223.html",
			"sku": "sz25061674866994620",
			"main_image": "http://img.ltwebstatic.com/v4/j/pi/2025/06/23/9d/17506781191f6eba86ddbf75affbdb3190befb4d2b_thumbnail_405x552.jpg",
			"discount_percentage": 0,
			"retail_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 8.08,
				"usd_amount_with_symbol": "$8.08"
			},
			"sale_price": {
				"amount": 6.99,
				"amount_with_symbol": "6,99€",
				"usd_amount": 6.99,
				"usd_amount_with_symbol": "$8.08"
			},
			"has_discount": false,
			"main_sale_attr": {
				"id": "27",
				"name": "Farbe",
				"name_en": "Color",
				"value": "Gelb",
				"value_en": "Yellow",
				"value_id": "762",
				"is_sold_out": false
			},
			"second_sale_attrs": [
				{
					"id": "87",
					"name": "Größe",
					"name_en": "Size",
					"values": [
						{
							"id": "755",
							"value": "XS",
							"value_en": "XS",
							"is_sold_out": false
						},
						{
							"id": "568",
							"value": "S",
							"value_en": "S",
							"is_sold_out": false
						},
						{
							"id": "417",
							"value": "M",
							"value_en": "M",
							"is_sold_out": false
						},
						{
							"id": "387",
							"value": "L",
							"value_en": "L",
							"is_sold_out": false
						}
					]
				}
			],
			"color": "Gelb",
			"specs": [
				{
					"id": "101",
					"name": "Stil",
					"name_en": "Style",
					"value": "Lässig",
					"value_en": "Casual",
					"value_id": "167"
				},
				{
					"id": "58",
					"name": "Futter",
					"name_en": "Body",
					"value": "Ungefüttert",
					"value_en": "Unlined",
					"value_id": "1001808"
				},
				{
					"id": "66",
					"name": "Ausschnitt",
					"name_en": "Neckline",
					"value": "Asymmetrischer Ausschnitt",
					"value_en": "Asymmetrical Neck",
					"value_id": "84"
				},
				{
					"id": "1001137",
					"name": "Festivals",
					"name_en": "Festivals",
					"value": "Oktoberfest in München",
					"value_en": "Oktoberfest in Munich",
					"value_id": "2614087"
				},
				{
					"id": "31",
					"name": "Details",
					"name_en": "Details",
					"value": "Asymmetrisch, Gerafft",
					"value_en": "Asymmetrical",
					"value_id": "83"
				},
				{
					"id": "1000437",
					"name": "Wärmefutter",
					"name_en": "Lined For Added Warmth",
					"value": "NEIN",
					"value_en": "No",
					"value_id": "459"
				},
				{
					"id": "73",
					"name": "Muster",
					"name_en": "Pattern Type",
					"value": "Einfarbig",
					"value_en": "Plain",
					"value_id": "515"
				},
				{
					"id": "129",
					"name": "Saumform",
					"name_en": "Hem Shaped",
					"value": "Asymmetrisch",
					"value_en": "Asymmetrical",
					"value_id": "83"
				},
				{
					"id": "1000438",
					"name": "Taschen",
					"name_en": "Pockets",
					"value": "NEIN",
					"value_en": "No",
					"value_id": "459"
				},
				{
					"id": "27",
					"name": "Farbe",
					"name_en": "Color",
					"value": "Gelb",
					"value_en": "Yellow",
					"value_id": "762"
				},
				{
					"id": "90",
					"name": "Ärmellänge",
					"name_en": "Sleeve Length",
					"value": "Ärmellos",
					"value_en": "Sleeveless",
					"value_id": "612"
				},
				{
					"id": "54",
					"name": "Länge",
					"name_en": "Length",
					"value": "Regulär",
					"value_en": "Regular",
					"value_id": "546"
				},
				{
					"id": "40",
					"name": "Passform",
					"name_en": "Fit Type",
					"value": "Schmal Geschnitten",
					"value_en": "Slim Fit",
					"value_id": "613"
				},
				{
					"id": "207",
					"name": "Transparent",
					"name_en": "Sheer",
					"value": "NEIN",
					"value_en": "No",
					"value_id": "459"
				},
				{
					"id": "39",
					"name": "Gewebeelastizität",
					"name_en": "Fabric Elasticity",
					"value": "Medium Stretch",
					"value_en": "Medium Stretch",
					"value_id": "1001104"
				},
				{
					"id": "160",
					"name": "Material",
					"name_en": "Material",
					"value": "Strickstoff",
					"value_en": "Knitted Fabric",
					"value_id": "1007420"
				},
				{
					"id": "62",
					"name": "Zusammensetzung",
					"name_en": "Composition",
					"value": "95% Polyester, 5% Elasthan",
					"value_en": "95% Polyester",
					"value_id": "526"
				},
				{
					"id": "1000069",
					"name": "Pflegeanleitungen",
					"name_en": "Care Instructions",
					"value": "Maschinenwäsche oder professionelle chemische Reinigung",
					"value_en": "Machine wash or professional dry clean",
					"value_id": "1002238"
				}
			],
			"images": [
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/9d/17506781191f6eba86ddbf75affbdb3190befb4d2b_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/95/1750678120d1d8176569560488199496657f4dbb5d_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/ac/1750678122f2774c0477cd5f09273e35e2d1396597_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/12/175067812338903e1e95435b8deaab617ad8929479_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/5c/175067812598a153dc25a87a5ea01ad4feaaec081e_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/0e/175067812719d68e708c16da93b397396f01d76426_thumbnail_750x999.webp",
				"http://img.ltwebstatic.com/v4/j/pi/2025/06/23/b0/17506781287442e05cd9420288fbbafcd6c712672c_thumbnail_750x999.webp"
			],
			"sizes": [
				{
					"attr_value_name": "XS",
					"attr_value_name_en": "XS",
					"is_sold_out": false
				},
				{
					"attr_value_name": "S",
					"attr_value_name_en": "S",
					"is_sold_out": false
				},
				{
					"attr_value_name": "M",
					"attr_value_name_en": "M",
					"is_sold_out": false
				},
				{
					"attr_value_name": "L",
					"attr_value_name_en": "L",
					"is_sold_out": false
				}
			],
			"sku_list": [
				{
					"retail_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sale_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sku_code": "I35qqty7jxb6",
					"sku_sale_attr": [
						{
							"id": "87",
							"name": "Größe",
							"name_en": "Size",
							"value_en": "M",
							"value_id": "417"
						}
					]
				},
				{
					"retail_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sale_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sku_code": "I35qqty7n6pl",
					"sku_sale_attr": [
						{
							"id": "87",
							"name": "Größe",
							"name_en": "Size",
							"value_en": "L",
							"value_id": "387"
						}
					]
				},
				{
					"retail_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sale_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sku_code": "I35qqty7tw0t",
					"sku_sale_attr": [
						{
							"id": "87",
							"name": "Größe",
							"name_en": "Size",
							"value_en": "XS",
							"value_id": "755"
						}
					]
				},
				{
					"retail_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sale_price": {
						"amount": 6.99,
						"amount_with_symbol": "6,99€",
						"usd_amount": 8.08,
						"usd_amount_with_symbol": "$8.08"
					},
					"sku_code": "I35qqty7qjrr",
					"sku_sale_attr": [
						{
							"id": "87",
							"name": "Größe",
							"name_en": "Size",
							"value_en": "S",
							"value_id": "568"
						}
					]
				}
			],
			"skc_sale_attr": [
				{
					"attr_id": "87",
					"attr_name": "Größe",
					"is_size": true,
					"attr_value_list": [
						{
							"attr_value_id": "755",
							"attr_value_name": "XS",
							"attr_value_name_en": "XS"
						},
						{
							"attr_value_id": "568",
							"attr_value_name": "S",
							"attr_value_name_en": "S"
						},
						{
							"attr_value_id": "417",
							"attr_value_name": "M",
							"attr_value_name_en": "M"
						},
						{
							"attr_value_id": "387",
							"attr_value_name": "L",
							"attr_value_name_en": "L"
						}
					]
				}
			]
		},
		...
	]
}
```

### 🧩 Integrations and Shein Scraper

Last but not least, Shein Scraper can be connected with almost any cloud service or web app thanks to [integrations on the Apify platform](https://apify.com/integrations). You can integrate with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, [and more](https://docs.apify.com/integrations). Or you can use [webhooks](https://docs.apify.com/integrations/webhooks) to carry out an action whenever an event occurs, e.g. get a notification whenever Shein Scraper successfully finishes a run.

### 🔌 Using Shein Scraper with the Apify API

The Apify API gives you programmatic access to the Apify platform. The API is organized around RESTful HTTP endpoints that enable you to manage, schedule, and run Apify actors. The API also lets you access any datasets, monitor actor performance, fetch results, create and update versions, and more.

To access the API using Node.js, use the apify-client NPM package. To access the API using Python, use the apify-client PyPI package.

Check out the [Apify API reference](https://docs.apify.com/api/v2) docs for full details.

### 💬 Giving feedback

If you have any feature requests or bug reports, please create an issue on the [Issues page](https://console.apify.com/actors/8PyARTlkLN9EYPGrH/issues).

💡 If you need a custom solution of this actor, reach out to me through my email: nathan.santos159@hotmail.com

# Actor input Schema

## `start_urls` (type: `array`):

It can be a product URL, category URL, search results URL or any URL that contains a list of products.

## `max_items_count` (type: `integer`):

Maximum number of items you want to scrape per run. It will automatically paginate through to each URL, until it reaches the limit.

## `max_items_per_url` (type: `integer`):

Instead of specifying Max items, you can specify how many items you want to scrape per URL. It will automatically paginate through to each listing URL of products that you provide in Start URLs. Leave this field blank if you want to use Max items instead.

## `currency` (type: `string`):

Currency to use for prices. Example: USD, EUR, GBP, etc. Should be in 3-letter ISO format. Default is USD.

## `language` (type: `string`):

Set the language of the results. Should be in 2-letter ISO format. Default is en.

## `country` (type: `string`):

Select your country

## `include_size_chart` (type: `boolean`):

If checked, the scraper will scrape detailed size guide data.

## Actor input object example

```json
{
  "start_urls": [
    {
      "url": "https://us.shein.com/Women-Long-Dresses-c-12476.html"
    }
  ],
  "max_items_count": 30,
  "max_items_per_url": 0,
  "currency": "USD",
  "language": "en",
  "country": "US",
  "include_size_chart": false
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "start_urls": [
        {
            "url": "https://us.shein.com/Women-Long-Dresses-c-12476.html"
        }
    ],
    "max_items_count": 30
};

// Run the Actor and wait for it to finish
const run = await client.actor("natanielsantos/shein-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "start_urls": [{ "url": "https://us.shein.com/Women-Long-Dresses-c-12476.html" }],
    "max_items_count": 30,
}

# Run the Actor and wait for it to finish
run = client.actor("natanielsantos/shein-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "start_urls": [
    {
      "url": "https://us.shein.com/Women-Long-Dresses-c-12476.html"
    }
  ],
  "max_items_count": 30
}' |
apify call natanielsantos/shein-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=natanielsantos/shein-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Shein Scraper",
        "description": "Scrape product data from Shein with this reliable tool. Extract price, images, description, sizes, category, shipping price and much more. Download your data as HTML table, JSON, CSV, Excel, XML, and RSS feed.",
        "version": "2.1",
        "x-build-id": "IUTBtWeiss51JF5Ky"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/natanielsantos~shein-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-natanielsantos-shein-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/natanielsantos~shein-scraper/runs": {
            "post": {
                "operationId": "runs-sync-natanielsantos-shein-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/natanielsantos~shein-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-natanielsantos-shein-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "start_urls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "It can be a product URL, category URL, search results URL or any URL that contains a list of products.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "max_items_count": {
                        "title": "Max items",
                        "type": "integer",
                        "description": "Maximum number of items you want to scrape per run. It will automatically paginate through to each URL, until it reaches the limit.",
                        "default": 0
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "Instead of specifying Max items, you can specify how many items you want to scrape per URL. It will automatically paginate through to each listing URL of products that you provide in Start URLs. Leave this field blank if you want to use Max items instead.",
                        "default": 0
                    },
                    "currency": {
                        "title": "Currency",
                        "type": "string",
                        "description": "Currency to use for prices. Example: USD, EUR, GBP, etc. Should be in 3-letter ISO format. Default is USD.",
                        "default": "USD"
                    },
                    "language": {
                        "title": "Language",
                        "type": "string",
                        "description": "Set the language of the results. Should be in 2-letter ISO format. Default is en.",
                        "default": "en"
                    },
                    "country": {
                        "title": "Country",
                        "enum": [
                            "AD",
                            "AO",
                            "AI",
                            "AG",
                            "AR",
                            "AW",
                            "AU",
                            "AT",
                            "AZ",
                            "BS",
                            "BH",
                            "BB",
                            "BE",
                            "BZ",
                            "BJ",
                            "BM",
                            "BT",
                            "BO",
                            "BW",
                            "BR",
                            "BN",
                            "BG",
                            "BF",
                            "BI",
                            "KH",
                            "CM",
                            "CA",
                            "CV",
                            "KY",
                            "CF",
                            "TD",
                            "CL",
                            "CO",
                            "KM",
                            "CG",
                            "CK",
                            "CR",
                            "HR",
                            "CY",
                            "CZ",
                            "DK",
                            "DJ",
                            "DM",
                            "DO",
                            "TL",
                            "EC",
                            "EG",
                            "SV",
                            "GQ",
                            "ER",
                            "EE",
                            "ET",
                            "FJ",
                            "FI",
                            "FR",
                            "GA",
                            "GM",
                            "GE",
                            "DE",
                            "GH",
                            "GI",
                            "GR",
                            "GL",
                            "GD",
                            "GP",
                            "GU",
                            "GN",
                            "GW",
                            "GY",
                            "HT",
                            "HN",
                            "HU",
                            "IS",
                            "ID",
                            "IE",
                            "IL",
                            "IT",
                            "JM",
                            "JP",
                            "JO",
                            "KZ",
                            "KE",
                            "KW",
                            "KG",
                            "LA",
                            "LV",
                            "LB",
                            "LS",
                            "LR",
                            "LI",
                            "LT",
                            "LU",
                            "MO",
                            "MG",
                            "MW",
                            "MY",
                            "MV",
                            "ML",
                            "MT",
                            "MQ",
                            "MU",
                            "YT",
                            "MX",
                            "MD",
                            "MN",
                            "ME",
                            "MA",
                            "MZ",
                            "MM",
                            "NA",
                            "NP",
                            "NL",
                            "NC",
                            "NZ",
                            "NG",
                            "NF",
                            "NO",
                            "OM",
                            "PK",
                            "PS",
                            "PA",
                            "PG",
                            "PY",
                            "PE",
                            "PH",
                            "PL",
                            "PT",
                            "PR",
                            "QA",
                            "RE",
                            "RO",
                            "RW",
                            "LC",
                            "SM",
                            "SA",
                            "RS",
                            "SN",
                            "SC",
                            "SL",
                            "SG",
                            "SK",
                            "SI",
                            "SO",
                            "ZA",
                            "KR",
                            "ES",
                            "LK",
                            "SR",
                            "SZ",
                            "SE",
                            "CH",
                            "TW",
                            "TJ",
                            "TZ",
                            "TH",
                            "TG",
                            "TT",
                            "TR",
                            "TC",
                            "UG",
                            "UA",
                            "AE",
                            "GB",
                            "US",
                            "UZ",
                            "VU",
                            "VA",
                            "VN",
                            "VI",
                            "ZM",
                            "ZW"
                        ],
                        "type": "string",
                        "description": "Select your country",
                        "default": "US"
                    },
                    "include_size_chart": {
                        "title": "Include size chart",
                        "type": "boolean",
                        "description": "If checked, the scraper will scrape detailed size guide data.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
