Marks & Spencer Scraper — UK Clothing, Home & Beauty Prices
Pricing
from $1.20 / 1,000 result scrapeds
Marks & Spencer Scraper — UK Clothing, Home & Beauty Prices
Scrape Marks & Spencer (marksandspencer.com) category listings for clothing, home, beauty and lingerie: name, brand, price, discount, stock status, rating and images. No login, no cookies, category-URL based.
Pricing
from $1.20 / 1,000 result scrapeds
Rating
0.0
(0)
Developer
Studio Amba
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Marks & Spencer Scraper
Scrape marksandspencer.com category pages and get back structured product rows: name, brand, price, discount, stock status, rating and images — no login, no cookies, no browser required.
Why use this actor
Marks & Spencer (M&S) is one of the UK's largest general retailers — clothing, homeware, beauty and lingerie across menswear, womenswear, kids' and home ranges — and there was no coverage of it in this catalogue before. If you're tracking UK high-street pricing, building a competitor price feed, or comparing M&S against Next, Debenhams, House of Fraser or Harrods, this actor gives you a clean, structured read of its catalogue by category.
marksandspencer.com is a plain fetch — no proxy fight required
M&S category pages are fully server-rendered by the site's own Next.js
frontend: the complete product list for a page — id, brand, title, price,
"was" price, stock indicator, review score, image asset IDs — is embedded
directly in the HTML as a __NEXT_DATA__ JSON blob. There's no hidden API
call to reverse-engineer and no JavaScript execution needed to see the data
a visitor sees.
Akamai Bot Manager infrastructure is present on marksandspencer.com
(sensor cookies and an akamai-grn header show up on every response), but
it was not actively challenging requests when this actor was built —
repeated plain fetches, including with no User-Agent header and no cookies
at all, all returned clean HTTP 200 responses with the full product payload.
This actor therefore defaults to Apify's automatic proxy pool rather than
paying for residential IPs it doesn't need. If Akamai tightens enforcement
later, switch Proxy Configuration to RESIDENTIAL (country GB) in the
input — no code change required.
How to scrape Marks & Spencer data
- Find a category page on marksandspencer.com
— browse the site's own menu (e.g. Beauty → Clinique, Women → Dresses) and
copy the URL. It will look like
https://www.marksandspencer.com/l/beauty/clinique. - Paste that URL into Category URL. Leave it empty to scrape the default category (Clinique beauty) — useful for a quick test run.
- Set Max Results — products load in pages of 48, and large categories (womenswear, menswear) can hold thousands of items, so this cap always applies (hard-capped at 2000/run).
- Run it. The actor requests the category page directly, extracts the
embedded
__NEXT_DATA__product list, walks?page=Nuntil it has enough rows or runs out of stock (using the category's owntotalItemscount to know when to stop), and pushes one row per product to the dataset. - Export the dataset as JSON/CSV/Excel from the Apify Console, or pull it via the API.
Input
| Field | Type | Required | Description |
|---|---|---|---|
categoryUrl | String | No | A marksandspencer.com /l/{department}/{sub-category} listing URL. Defaults to the Clinique beauty category if left empty. |
maxResults | Integer | No | Maximum products to return (default: 60, capped at 2000). |
proxyConfiguration | Object | No | Proxy settings. Automatic (no groups) by default — switch to RESIDENTIAL/GB only if you see repeated failures at high volume. |
Output
Each result contains:
| Field | Type | Example |
|---|---|---|
name | String | "Jumbo Dramatically Different™ Moisturizing Lotion 200ml" |
brand | String | "Clinique" |
price | Number | 44 |
currency | String | "GBP" |
originalPrice | Number | 55 |
discount | String | "-20%" |
sku | String | "60745720" |
productId | String | "P60745720" |
inStock | Boolean or null | true |
imageUrl | String | Primary product image URL |
imageUrls | Array | All available product images |
category | String | "Moisturiser" |
rating | Number | 4.11 |
reviewCount | Number | 388 |
url | String | Canonical product page URL |
scrapedAt | String | ISO 8601 timestamp |
Example output
{"name": "Jumbo Dramatically Different™ Moisturizing Lotion 200ml","brand": "Clinique","price": 44,"currency": "GBP","originalPrice": 55,"discount": "-20%","sku": "60745720","productId": "P60745720","inStock": true,"imageUrl": "https://asset1.cxnmarksandspencer.com/is/image/mands/MS_07_T23_6799G_NC_X_EC_0","imageUrls": ["https://asset1.cxnmarksandspencer.com/is/image/mands/MS_07_T23_6799G_NC_X_EC_6","https://asset1.cxnmarksandspencer.com/is/image/mands/MS_07_T23_6799G_NC_X_EC_0"],"category": "Moisturiser","rating": 4.11,"reviewCount": 388,"url": "https://www.marksandspencer.com/jumbo-dramatically-different-moisturizing-lotion-200ml/p/hbp60745720","scrapedAt": "2026-09-08T14:10:48.234Z"}
Limitations
- Product descriptions are not included — the listing payload this actor reads doesn't carry the long-form description text (only the product detail page does). Every other field above comes straight from the listing page.
inStockreflects M&S's own coded stock-level indicator. The site only distinguishes "out of stock" unambiguously in that code; anything else is treated as in stock. When the indicator is missing entirely,inStockisnull— never guessed asfalse.- This actor scrapes by category URL, not free-text search — there's no public search endpoint on marksandspencer.com that returns the same server-rendered product data the category pages do.
- Currency is always GBP — marksandspencer.com is the UK storefront only.
Cost estimate
No residential proxy or browser rendering is needed for the default setup, so runs are fast and cheap — mostly Apify platform compute, no per-request proxy fee. A 1000-item run typically completes in well under a minute of actor runtime.
Note: a run's usage cost only settles after it reports SUCCEEDED — if you check the dataset mid-run, the cost shown will be lower than the final total.
Related scrapers
Part of Studio AMBA's UK department-store / general-retail cluster:
- Debenhams Scraper — UK department store
- Liberty London Scraper — UK luxury department store
- Harrods Scraper — UK luxury department store
- House of Fraser Scraper — UK department store