SSENSE Product Scraper – Designer Prices, Sizes & Stock
Pricing
from $1.00 / 1,000 product listing rows
SSENSE Product Scraper – Designer Prices, Sizes & Stock
Scrape SSENSE designer fashion products by keyword or by any of ~190 categories, for men or women. One row per product: brand, name, category, regular and sale price, discount %, SKU, full-res images and URL. Add details for description, composition, country of origin and per-size stock.
Pricing
from $1.00 / 1,000 product listing rows
Rating
0.0
(0)
Developer
R.L.
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
1
Monthly active users
11 days ago
Last modified
Categories
Share
SSENSE Product Scraper — Designer Fashion Prices, Sizes & Stock
Scrape SSENSE.com products, brands, prices, discounts and per-size stock at scale. This Apify Actor extracts structured luxury fashion data from SSENSE — the Montreal retailer for designer clothing, shoes, bags and accessories — by searching a keyword or browsing any category, for men or women.
No browser automation, no HTML parsing, no CAPTCHAs. The scraper talks directly to SSENSE's own GraphQL product API and returns clean JSON you can export to Excel, CSV, JSON, or feed straight into your database, price-monitoring tool, or dashboard.
What does this SSENSE scraper do?
You give it a search keyword, a category, or neither (which browses the whole department). It returns one row per product: SSENSE product ID, product name, brand, category, regular price, sale price, discount percentage, sale flag, product code, full-resolution image URLs and the product page URL. Turn on Include product details and each row also carries the product description, material composition, country of origin and the per-size stock breakdown.
- ⚡ Fast — queries the SSENSE GraphQL API directly instead of rendering pages. 54 products per request.
- 🎯 Accurate — structured fields straight from the source the site itself reads.
- 🔁 Reliable pagination — cross-page deduplication and end-of-results detection, so you get the full listing without duplicates.
- 🌍 US and Canada pricing — pick country (USD or CAD) and language (English or French) separately.
- 🛡️ Proxy ready — routes through Apify Proxy by default.
- 💸 Pay per result — pay-per-event pricing: you're charged per product row extracted, nothing wasted.
What can you do with SSENSE data?
- Competitor & price monitoring — track designer prices, markdown depth and new arrivals across brands.
- Discount tracking — sort by discount and read
discountPercentage/isSaledirectly. - Stock and size-run analysis — with details on, every row carries how many units are left per size.
- Product & catalog research — build a dataset by category (sneakers, bags, dresses, jewelry, and ~190 more).
- Resale sourcing — find products, images and price points for reselling or market research.
- Machine learning & trend data — collect fashion product images and metadata for training or trend forecasting.
Which brands and categories can I scrape?
Brands — you don't pick a brand from a list; you search for it with the Search keyword
field, or browse a category and filter on brandName. A single broad women's browse returned
140 distinct brands in its first 2,000 rows, including Gucci, Bottega Veneta, Burberry,
Rick Owens, Acne Studios, Dries Van Noten, LEMAIRE, Jean Paul Gaultier, Vivienne Westwood,
Simone Rocha, KHAITE, VETEMENTS, OUR LEGACY, Canada Goose, Diesel and Nike.
Categories — the Category dropdown holds SSENSE's own tree as PARENT > Child > Grandchild
paths, about 190 of them under four roots:
| Root | Examples of what's under it |
|---|---|
CLOTHING | Dresses (long / mid / short), Jeans, Jackets & Coats (blazers, bombers, down, leather, trench), Sweaters (cardigans, hoodies, turtlenecks), Pants (cargo, leather, sweatpants, trousers), Shirts, Skirts, Suits & Blazers, Swimwear, Tops (blouses, polos, T-shirts, tanks), Lingerie, Activewear, Underwear & Loungewear |
SHOES | Sneakers (high top / low top / wedge), Boots (ankle, Chelsea, combat, over-the-knee, wingtip), Heels, Flats, Sandals, Loafers, Lace Ups & Oxfords, Monkstraps, Espadrilles |
BAGS | Backpacks, Tote Bags, Shoulder Bags, Clutches & Pouches, Messenger Bags & Satchels, Duffle & Top Handle Bags, Briefcases, Travel Bags |
ACCESSORIES | Eyewear (glasses / sunglasses), Jewelry and Fine Jewelry (rings, earrings, necklaces, bracelets), Watches, Hats (beanies, caps, fedoras), Belts, Scarves, Socks, Wallets & Card Holders, Ties, Gloves, Tech (iPhone/iPad/laptop cases, headphones), Souvenirs |
Category ids are gender-specific. The actor resolves your chosen path inside the selected gender's own tree at runtime — men's Sneakers and women's Sneakers are different ids. The Category dropdown lists both genders' paths, so some entries are not valid for the gender you picked (
SHOES > Espadrillesis men's only; women's isSHOES > Flats > Espadrilles). If the path does not exist for the selected gender, the run stops immediately with a status message naming the closest valid paths — it never falls back to browsing the whole department, so a typo can't bill you for a full-catalogue crawl.
What do the fields mean?
salePriceis0, notnull, when a product is not discounted — andformatSalereads"$0". UseisSaleordiscountPercentageto tell a real markdown from a full-price item, notsalePrice.regularPrice/salePriceare plain numbers incurrency(USD or CAD, from your Country setting).formatRegular/formatSaleare SSENSE's own display strings for the same values.productCodeis SSENSE's internal SKU, e.g.262011M236006. It is also the filename stem of the product's images, and it is the right key to join runs on alongsideid.sizesis a single semicolon-separated string, one entry per size, each either a unit count orout-of-stock:US 6 = IT 39: out-of-stock; US 6.5 = IT 39.5: 5 left; US 7 = IT 40: 8 left. Split on;to parse it.countryOfOriginis a lowercase ISO 3166-1 alpha-2 code, e.g.vn,it,cn— not a country name.compositionis SSENSE's free-text material breakdown, e.g.Upper: synthetic, leather. Sole: rubber.imagesare full-resolution Cloudinary URLs (1128px wide), already expanded — not thumbnails.- Detail-only fields.
description,composition,countryOfOriginandsizesexist only on SSENSE's product-detail query, so they are empty unless Include product details is on.
How do I scrape SSENSE? (3 steps)
- Set your input — a Search keyword, a Category, or neither to browse the whole department. Choose Gender, Country and Sort order.
- Pick options — Include product details for description/composition/sizes, and a
maxItemscap. - Run & export — click Start, then download the dataset as JSON/CSV/Excel or fetch it via the API.
What input does it take?
| Field | Type | Default | Description |
|---|---|---|---|
q | string | – | Search keyword, e.g. sneakers, trench coat, or a brand name. Leave blank to browse. |
gender | select | women | women or men. |
category | select | – | Browse one of ~190 SSENSE category paths, e.g. SHOES > Sneakers > Low Top Sneakers. Leave blank to search or to browse the whole department. |
sort | select | LATEST_ARRIVALS | LATEST_ARRIVALS, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, DISCOUNT_HIGH_TO_LOW, DISCOUNT_LOW_TO_HIGH. |
countryCode | select | US | US (USD) or CA (CAD) — drives pricing and availability. |
languageCode | select | en | en or fr — language of product names and descriptions. |
includeDetails | boolean | false | Fetch each product's detail page for description, composition, country of origin and per-size stock. One extra request per product. |
maxItems | integer | 100 | Maximum products to return. 0 = every match, which can be tens of thousands of rows for a broad browse. |
proxyConfiguration | object | Apify Proxy | Route requests through a proxy. |
Example input
Search men's sneakers, deepest discounts first, with full detail:
{"q": "sneakers","gender": "men","sort": "DISCOUNT_HIGH_TO_LOW","includeDetails": true,"maxItems": 200,"countryCode": "US","languageCode": "en"}
Or browse a whole category instead of searching:
{"gender": "women","category": "CLOTHING > Dresses > Long Dresses","sort": "PRICE_LOW_TO_HIGH","maxItems": 0}
What does a row look like?
Each product is one dataset row. With Include product details on:
{"id": 19372441,"name": "Silver & Black Shox BB4 Sneakers","brandName": "Nike","categoryName": "High Top Sneakers","gender": "men","regularPrice": 185,"salePrice": 0,"currency": "USD","formatRegular": "$185","formatSale": "$0","discountPercentage": 0,"isSale": false,"productCode": "262011M236006","images": ["https://res.cloudinary.com/ssenseweb/image/upload/c_scale,f_auto,q_auto,w_1128/262011M236006_1.jpg","https://res.cloudinary.com/ssenseweb/image/upload/c_scale,f_auto,q_auto,w_1128/262011M236006_2.jpg"],"description": "High-top buffed faux-leather and leather sneakers.\n\n· Lace-up closure\n· Logo patch at padded tongue\n· Nike Shox units at midsole\n· Treaded rubber sole","composition": "Upper: synthetic, leather. Sole: rubber.","countryOfOrigin": "vn","sizes": "US 6 = IT 39: out-of-stock; US 6.5 = IT 39.5: 5 left; US 7 = IT 40: 8 left; US 7.5 = IT 40.5: 6 left","url": "https://www.ssense.com/en-us/men/product/nike/silver-black-shox-bb4-sneakers/19372441"}
Which fields are in the dataset?
| Field | Type | Description |
|---|---|---|
id | number | SSENSE product ID |
name | text | Product name |
brandName | text | Designer brand |
categoryName | text | Leaf category name |
gender | text | men or women |
regularPrice | number | Regular price in currency |
salePrice | number | Sale price; 0 when not discounted |
currency | text | USD or CAD |
formatRegular | text | Regular price as SSENSE displays it |
formatSale | text | Sale price as SSENSE displays it |
discountPercentage | number | Discount percent; 0 when not discounted |
isSale | boolean | Whether the product is on sale |
productCode | text | SSENSE SKU / image filename stem |
url | link | Direct link to the product page |
images | array | Full-resolution product image URLs |
description | text | Product description (details only) |
composition | text | Material composition (details only) |
countryOfOrigin | text | ISO 3166-1 alpha-2 code (details only) |
sizes | text | Per-size stock breakdown (details only) |
Export in JSON, CSV, Excel, XML, or RSS from the Apify dataset, or pull it via the Apify API.
How much does it cost?
Pay-per-event. You pay only for the data you get:
| Event | Price | Per 1,000 |
|---|---|---|
| Product listing row | $0.001 | $1.00 |
| Product detail row (when "Include product details" is on) | $0.0005 | +$0.50 |
Basic listing scraping costs $1 per 1,000 products. Enable Include product details to also fetch each product's detail-page data (description, composition, country of origin, per-size stock) for an extra $0.50 per 1,000 products — billed only for products that are actually enriched.
How do I run it from my own code?
Schedule runs, get webhooks on finish, and pipe data into your stack. Works with the Apify API, JavaScript SDK, Python SDK, and Apify integrations (Make, Zapier, Slack, Google Sheets, and more).
curl -X POST "https://api.apify.com/v2/acts/ssense-api-scraper/runs?token=YOUR_TOKEN" \-H 'Content-Type: application/json' \-d '{"q":"sneakers","gender":"men","maxItems":200,"includeDetails":true}'
Or with the Apify CLI: apify call ssense-api-scraper -i input.json -o.
Is it legal to scrape SSENSE?
This Actor collects publicly available product data. You are responsible for how you use scraped data — respect SSENSE's terms, applicable laws, and copyright on images. This tool is intended for legitimate market research, price monitoring, and analytics. See Apify's ethical web scraping guide.
FAQ
Do I need an SSENSE login or API key?
No. The actor calls SSENSE's own GraphQL API with the mobile app's credentials — you only need an Apify account.
Can I scrape a whole category, or the whole department?
Yes. Set maxItems: 0 and the actor paginates until the API says there are no more pages — 54 products per request, and in practice well past the 2,000-row mark for a broad women's browse. Set maxItems to a real number if you want a bounded bill.
How do I get every product for one brand?
Put the brand name in the Search keyword field. Brands are not a separate input, so for an exact set, browse the relevant category and filter your output on brandName.
How do I find only discounted items?
Sort by DISCOUNT_HIGH_TO_LOW and keep rows where isSale is true, or where discountPercentage is above your threshold. Do not test salePrice — it is 0, not null, on full-price items.
Which countries and currencies are supported?
Two: US (prices in USD) and CA (prices in CAD). Language is separate — en or fr. Prices and availability follow the country you pick.
Do I get sizes and stock levels?
Only with Include product details on. Then sizes gives one entry per size with the units remaining or out-of-stock, e.g. US 8 = IT 41: 13 left.
What does "Include product details" cost me in time?
One extra API request per product, so a 1,000-product run makes roughly 1,019 requests instead of 19. It is also billed as a second event per row. Leave it off when the listing fields are enough.
Can I schedule it?
Yes — use Apify's scheduler for recurring runs and a webhook to push each finished dataset onward. Join runs on id or productCode to diff prices over time.
Support
Found a bug or need a new field? Open an issue on the Actor page. Contributions and feature requests welcome.
Did you find this useful?
⭐ Rate this actor on Apify! Your feedback helps other users find it and helps us keep improving it.