Boots Product Scraper avatar

Boots Product Scraper

Pricing

from $0.80 / 1,000 results

Go to Apify Store
Boots Product Scraper

Boots Product Scraper

Extract product data from Boots.com — prices, stock, ratings, promotions and full specs. Search any category or keyword, or pull complete product details (ingredients, how-to-use, images, reviews) by URL. Fast, bot-protection-proof, no login needed. Residential proxy built in.

Pricing

from $0.80 / 1,000 results

Rating

0.0

(0)

Developer

MrDoe

MrDoe

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Categories

Share

Boots Product Scraper hero

What it does

Boots Product Scraper turns any Boots.com search, category page, or product page into clean, structured data. Two modes, one run each:

  • Product Search — give it a keyword (shampoo) or a full Boots listing URL (https://www.boots.com/christmas/all-christmas) and it walks every result page, returning one row per product: price, promotions, rating, stock, image, category path, and more.
  • Product Details — give it a Boots product URL or the numeric id from the end of that URL and it returns the full product record: description, how-to-use, ingredients, hazards, country of origin, promotions, Advantage Card points, the whole image gallery, and the review summary.

No account, no login, no cookies to supply.

Why use it

  • Both catalogue and deep detail in one Actor — monitor prices across a category, then pull full specs for the products that matter.
  • Real pagination — Product Search follows the catalogue to the end (capped by your maxItems), not just the first page.
  • Honest nulls — a field that isn't on the page comes back null, never guessed.
  • Stable identifiers — every row carries the product's URL id, its catalogue id, and its part number, so you can join runs over time.

What makes this different

Boots renders its catalogue grid and its product pages behind bot protection and a good deal of client-side scripting. This Actor drives a real, fingerprint-clean browser to get past that, then reads Boots' own product data directly rather than scraping pixels — so the output is complete and consistent, not a best-effort guess from visible text.

Data you get

GroupFields
IdentityproductId, catalogEntryId, urlId, partNumber, title, brand, productUrl
Priceprice, listPrice, onSale, saving, currency, pricePerUnit, size
Reviewsrating, reviewCount, ratingDistribution
AvailabilityinStock, availability
Marketingpromotions, loyaltyPoints
Content (details mode)description, howToUse, ingredients, hazards, importantInfo
Mediaimage, images
Navigationbreadcrumb, categories, hreflang, canonicalUrl

How to use

How Boots Product Scraper works

  1. Pick an Operation: Product Search or Product Details.
  2. For search, fill Search query or Boots listing URL (or the batch list). For details, fill Product URL or product id (or the batch list).
  3. Set Max items if you want more or fewer than 20 search rows.
  4. Leave the residential proxy on and run.

Input

Boots Product Scraper input options

FieldTypeNotes
operationstringsearch or productDetails. Required.
querystringKeyword or full Boots search/category URL. Search mode.
queriesarrayMany keywords / listing URLs. Wins over query.
productUrlstringBoots product URL or the trailing numeric id. Details mode.
productUrlsarrayMany product URLs / ids. Wins over productUrl.
sortBystringKeyword search only. E.g. priceLowToHigh. Blank = Boots' default.
maxItemsintegerTotal row cap for search. Default 20. Details mode returns one row per product regardless.
proxyConfigurationobjectResidential proxy strongly recommended.

Output

Boots Product Scraper dataset output

Boots Product Scraper data fields

One example row from Product Details:

{
"_operation": "productDetails",
"status": "success",
"productId": "10356777.P",
"catalogEntryId": "3063629",
"urlId": "10356777",
"partNumber": "10356777.P",
"title": "L’Oréal Paris Elvive Hydra Hyaluronic Moisture Boosting Shampoo, for Dry & Dehydrated Hair, 400ml",
"brand": "L'Oreal",
"price": 8,
"currency": "GBP",
"pricePerUnit": "£20.00 per 1L",
"size": "400ml",
"inStock": true,
"availability": "http://schema.org/InStock",
"rating": 4.75,
"reviewCount": 120,
"ratingDistribution": [
{ "rating": 5, "count": 102 },
{ "rating": 4, "count": 11 },
{ "rating": 3, "count": 3 },
{ "rating": 2, "count": 3 },
{ "rating": 1, "count": 1 }
],
"description": "Dehydrated hair often manifests as dry, dull, and lifeless strands...",
"howToUse": "Apply on wet hair, massage your scalp and rinse. In case of contact with eyes, rinse immediately and thoroughly.",
"ingredients": "AQUA / WATER • SODIUM LAURETH SULFATE • GLYCOL DISTEARATE...",
"hazards": "In case of contact with eyes, rinse them immediately. Keep out of reach of children.",
"importantInfo": "Country of Origin: France\nAddress: UK: L’Oreal UK, Gateway Central 187 Wood Lane, London, W12 7SA",
"promotions": [
"Save 1/3 when you buy 3 on selected Loreal oil",
"Save £5 when you spend £25 on selected haircare and makeup - online only"
],
"loyaltyPoints": 24,
"breadcrumb": "Home|L’Oréal Paris Elvive Hydra Hyaluronic Moisture Boosting Shampoo, for Dry & Dehydrated Hair, 400ml",
"image": "https://boots.scene7.com/is/image/Boots/10356777?fmt=jpg&wid=1000&hei=1000&fit=constrain,1",
"images": [
"https://boots.scene7.com/is/image/Boots/10356777?fmt=jpg&wid=1000&hei=1000&fit=constrain,1",
"https://boots.scene7.com/is/image/Boots/10356777_1?fmt=jpg&wid=1000&hei=1000&fit=constrain,1"
],
"hreflang": {
"gb": "https://www.boots.com/loreal-paris-elvive-hydra-hyaluronic-moisture-boosting-shampoo-for-dry-and-dehydrated-hair-400ml-10356777",
"ie": "https://www.boots.ie/loreal-paris-elvive-hydra-hyaluronic-moisture-boosting-shampoo-for-dry-and-dehydrated-hair-400ml-10356777"
},
"canonicalUrl": "https://www.boots.com/loreal-paris-elvive-hydra-hyaluronic-moisture-boosting-shampoo-for-dry-and-dehydrated-hair-400ml-10356777",
"productUrl": "https://www.boots.com/loreal-paris-elvive-hydra-hyaluronic-moisture-boosting-shampoo-for-dry-and-dehydrated-hair-400ml-10356777"
}

Usage examples

Track a category

{ "operation": "search", "query": "https://www.boots.com/beauty-skincare/skincare/face-skincare", "maxItems": 500 }

Batch price check on specific products

{ "operation": "productDetails", "productUrls": ["10356777", "https://www.boots.com/no7-25-days-of-beauty-advent-calendar-10389976"] }

Cheapest shampoos first

{ "operation": "search", "query": "shampoo", "sortBy": "priceLowToHigh", "maxItems": 100 }

Known limitations

  • Prices, promotions, and stock are for the Boots UK site (GBP) and reflect online availability, not a specific physical store.
  • The full description, ingredients, and other long-form content are only returned by Product Details, not by Product Search (search returns a shorter summary set).
  • rating / reviewCount come from the review platform and can lag the product page by a short time.
  • Very large categories are capped by maxItems; raise it to go deeper, at proportional runtime.
  • Sponsored / ad placements in a category are skipped.

FAQ

Do I need a Boots account? No.

Can I pass just the number at the end of a product URL? Yes — both productUrl and productUrls accept the bare id or the full URL.

Does it work for boots.ie? This Actor targets boots.com (UK). Each row includes the matching boots.ie URL under hreflang.

Why a residential proxy? Boots fronts its pages with bot protection; residential exits are far more reliable for sustained runs.

Use this Actor for lawful purposes and in line with Boots' Terms of Use and applicable law. It collects only publicly available catalogue information and no personal data. You are responsible for how you use the data you collect.