Marks & Spencer Scraper — UK Clothing, Home & Beauty Prices avatar

Marks & Spencer Scraper — UK Clothing, Home & Beauty Prices

Pricing

from $1.20 / 1,000 result scrapeds

Go to Apify Store
Marks & Spencer Scraper — UK Clothing, Home & Beauty Prices

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

Studio Amba

Maintained by Community

Actor 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

  1. 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.
  2. Paste that URL into Category URL. Leave it empty to scrape the default category (Clinique beauty) — useful for a quick test run.
  3. 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).
  4. Run it. The actor requests the category page directly, extracts the embedded __NEXT_DATA__ product list, walks ?page=N until it has enough rows or runs out of stock (using the category's own totalItems count to know when to stop), and pushes one row per product to the dataset.
  5. Export the dataset as JSON/CSV/Excel from the Apify Console, or pull it via the API.

Input

FieldTypeRequiredDescription
categoryUrlStringNoA marksandspencer.com /l/{department}/{sub-category} listing URL. Defaults to the Clinique beauty category if left empty.
maxResultsIntegerNoMaximum products to return (default: 60, capped at 2000).
proxyConfigurationObjectNoProxy settings. Automatic (no groups) by default — switch to RESIDENTIAL/GB only if you see repeated failures at high volume.

Output

Each result contains:

FieldTypeExample
nameString"Jumbo Dramatically Different™ Moisturizing Lotion 200ml"
brandString"Clinique"
priceNumber44
currencyString"GBP"
originalPriceNumber55
discountString"-20%"
skuString"60745720"
productIdString"P60745720"
inStockBoolean or nulltrue
imageUrlStringPrimary product image URL
imageUrlsArrayAll available product images
categoryString"Moisturiser"
ratingNumber4.11
reviewCountNumber388
urlStringCanonical product page URL
scrapedAtStringISO 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.
  • inStock reflects 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, inStock is null — never guessed as false.
  • 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.

Part of Studio AMBA's UK department-store / general-retail cluster: