The Entire Iherb Supplements Catalog, Captured End-to-End in 3 Days
Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.
Learn More
We take a scope - a set of shelves, a brand, a category tree, or the full UK product sitemap set - and build the crawler around it. Output goes out as CSV, JSON, XLSX or an API, on the schedule you set.
Two M&S rules shape the build. Listing rows are colourways, not products, so shelf totals overstate the range unless you deduplicate on productExternalId. And listings page in fixed blocks of 48 through ?page=N, with a request past the last page answering 307 back to the unpaginated listing URL, which is what a crawler should read as the end of the shelf.
We run inside the site's published robots rules and at a rate that leaves the storefront unaffected.
An M&S page ships a server-rendered Next.js payload alongside a schema.org Product block. The payload is the deeper of the two, so we read it and reconcile against the markup.
A single crawl of marksandspencer.com dates quickly, and the sitemaps will not tell you what moved. Every entry in the UK product sitemaps carried the same lastmod as the day we fetched them, so the file stamps the crawl rather than the change. Diffing snapshots is the only reliable way to see it.
Stock moves fastest. inventory.quantity is held per size within per colour, so a jeans line with two colours and a waist by inside-leg grid holds dozens of numbers that move independently of each other.
Price moves next. previousPrice sits at 0 on a full-price line and fills in when a cut lands, while offerText flips to "Special Offer". Sparks promotion codes attach to and detach from a product without the shelf price changing at all.
Range rotation is slower and more consequential. Codes retire, and a retired code answers 404 rather than redirecting, so a snapshot history is the only record that the line existed. The payload also carries an isOffSale flag before a page goes.
Ireland runs on its own clock. The /ie/ storefront serves the same product code and the same SKU ids in euro, so both markets can be captured in one run and compared line by line.
Marks & Spencer sells Clothing & Home, Beauty, Furniture, Flowers, Hampers, Gift Cards and Food to Order on one UK storefront. The weekly grocery range is not there. M&S Food reaches shoppers online through the Ocado joint venture, so marksandspencer.com holds celebration cakes, party platters, wine and hampers rather than a supermarket shop.
A product URL is a slug, then /p/, then a two-letter type code, the letter p, and eight digits: /high-waisted-frayed-kickflare-jeans/p/clp22135670. The site splits that string itself. Its page payload names productTypeCode "cl" and productId "22135670". Clothing is cl, home and beauty hb, furniture ft, food to order fd, flowers fl, hampers hp, cakes ck and gift cards gc. The same eight digits return as the schema.org sku "P22135670" and as productExternalId in the payload. Every product id in every UK product sitemap is eight digits long.
Next to it sits the buying code M&S calls the strokeId. Listing cards print it twice inside one field, compact and slashed, as "T176006M,T17/6006M". Products also carry a departmentId, G5 for general merchandise and F5 for food, flowers and hampers.
Third-party labels sell on the same URLs. The Brand filter separates "M&S Brands" from "Other Brands" before it lists any name, and a Brands at M&S line is flagged by a category with brandSalesCategory set to true.
Get a QuoteDevelopers
Customers worldwide
Pages extracted
Hours saved for our clients
€199 / one-time
setup fee - included
€169 / mo
setup fee €499
€229 / mo
setup fee €499
€349 / mo
setup fee €499
€549 / mo
setup fee €799
UK apparel teams use M&S as a mid-market price anchor. A listing card carries listPrice and previousPrice together, so one pass over a shelf returns both the live price and the line it was cut from, without waiting for a second snapshot to establish a baseline.
Brand owners trading through Brands at M&S watch their own pages. Because the Brand filter separates "M&S Brands" from "Other Brands" before naming labels, a single shelf shows how much room third-party stock takes against M&S Collection, Autograph and Per Una in the same category.
Merchandisers use the size grid. inventory.quantity sits on each size within each colour, so a run shows which sizes have gone and which colourway is still holding stock, which is the practical read on how a line is selling.
Review teams use the fit axes. M&S scores clothing on TrueToSize and TrueToSizeClothingLength separately from the headline rating, so returns risk is legible as a number rather than only as free text.
Buying teams track rotation. Shelves such as /l/offers/price-drop hold the marked-down set and turn over through the season.
Scraping supplement products from iHerb.com with full details, including descriptions and packaging variations.
Learn More
Daily scraping of lowest prices for 150K products on Allegro.pl to support marketplace pricing and margin optimization.
Learn More
Regular monitoring of Ralph Lauren clothing, footwear, and accessories sold across Amazon subdomains: AE, DE, ES, FR, IT, NL, PL, UK.
Learn MoreLearn how to use web scraping to solve data problems for your organization
If you sell online, run a marketplace, or advise e-commerce clients, you already know why eBay matters: it’s one of the few places where big retailers compete side by side with thousands of small merchants and private sellers.
E-commerce teams do not just need “some” competitor data anymore. They need a continuous stream of real prices, discounts, stock levels, reviews, and seller behavior from the platforms that actually shape their markets.
Amazon provides valuable information gathered in one place: products, reviews, ratings, exclusive offers, news, etc. So scraping data from Amazon will help solve the problems of the time-consuming process of extracting data from e-commerce.
ScrapeIt is a managed scraping agency. We build the crawler, run it, monitor it, and repair it when M&S changes its markup, which happens without notice. You receive data on a schedule, not a codebase to maintain.
Scope, cadence and the field list are agreed before the first run, and a sample extract goes out before the schedule starts.
We are not affiliated with Marks & Spencer. We collect publicly available pages, follow the site's robots rules, and keep request volumes low.
M&S does not offer a public product API. Its API access sits behind the Rithum platform that runs the marketplace and drop-ship programmes and is provisioned to onboarded suppliers. The M&S Bank APIs listed in Open Banking directories are a separate regulated service and carry no retail product data. The nine UK product sitemaps are the reliable spine. On a crawl at the time of writing they listed a little over 28,000 product URLs across clothing, home, beauty, furniture, gifts, flowers, hampers and food to order. Shelves M&S blocks in robots.txt, its own new-in listings among them, are not in those files, so we either reach those products through category pages that are permitted or leave them out on request.
Not the weekly grocery range. That sells through Ocado under the M&S joint venture, not on marksandspencer.com. What the site carries is Food to Order - celebration cakes, party platters, sandwich selections, wine and hampers - on the same page structure as clothing, with productTypeCode "fd", a populated servings field, and productContains listing what is inside a platter item by item.
Yes. Each colour is a variant, each size beneath it is a SKU, and each SKU carries an inventory block with quantity, quantityOnHand and quantityAdvised. On a jeans line that means a number for every waist and inside-leg pairing in every colour. It is stock for the online range, not per-store availability: the anonymous page exposes delivery and collection services such as "Next-day Click & Collect" but no store-level count.
Not as a member price. An anonymous page carries the promotion catalogue attached to the product: sparksOffers as bare loyaltyPromotionCode values on listing cards, and productLoyaltyPromotion on the page with promoName, shortDesc and full terms in longDesc. Sparks is a personalised scheme where offers are activated before shopping, so the value a given member sees sits behind sign-in and we do not collect it.
Both. Third-party labels such as Levi's, White Stuff and Skechers sit on the same /p/ URLs with the same identifier format; the marker is a category with brandSalesCategory set to true, plus the label name in the attributes block. The Irish storefront at /ie/ reuses the identical product code and SKU ids in euro. The wider international storefronts do not: a UK code returns 404 under /us/, /au/ and /de/, and those sites publish category sitemaps with no product sitemaps.
Step 1 - Make a Request
You share your needs, expectations, and desired timeframe. We’ll suggest the best solution based on your request and budget.
Step 2 - Configuring Custom Web Crawlers
Our specialists configure the crawlers and extract a sample dataset for your review before proceeding with the full-scale extraction.
Step 3 - Collect and Deliver
Once you approve the sample, we launch the project and start full data collection. We gather, filter, and structure the data for easy use, delivering it on time in your preferred format.
Step 4 - Maintain and Support
Our team manages ongoing processes, monitors website changes, and supports all data extraction cycles. We can also help integrate data into your systems or create dashboards to simplify analysis.
Scrapeit Sp. z o.o.
10/208 Legionowa str., 15-099, Bialystok, Poland
NIP: 5423457175
REGON: 523384582