Holland Barrett Scraper
Pricing
from $2.00 / 1,000 results
Pricing
from $2.00 / 1,000 results
Rating
0.0
(0)
Developer
The Netaji
Maintained by CommunityActor stats
0
Bookmarked
9
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Holland & Barrett Scraper
Scrape product data from hollandandbarrett.com at scale. Built with Python and Scrapling.
Extracts product listings including price, promotions, ratings, availability, brand, and category — from product URLs, category listings, or keyword searches.
Features
- Product scraping — full details via JSON-LD on product pages
- Category listings — paginated scraping of any
/shop/{slug}/URL - Keyword search — search H&B by keyword, get paginated results
- Category slugs — use short slugs like
vitamins-supplements/vitamins/vitamin-c - Fast, no browser — all scraping uses static HTTP fetcher (SSR HTML parsing)
- Proxy rotation — uses Apify residential proxies, retries on block (429/403)
Input
The inputs field accepts a mixed list of any of the following:
| Type | Example |
|---|---|
| Product URL | https://www.hollandandbarrett.com/shop/product/hb-vitamin-c-1000mg-138 |
| Category URL | https://www.hollandandbarrett.com/shop/vitamins-supplements/vitamins/vitamin-c/ |
| Search URL | https://www.hollandandbarrett.com/search/?query=vitamin+c |
| Keyword | vitamin c |
| Category slug | vitamins-supplements/vitamins/vitamin-c |
Input schema
{"inputs": ["https://www.hollandandbarrett.com/shop/vitamins-supplements/vitamins/vitamin-c/","fish oil","sports-nutrition/protein"],"maxItems": 100,"maxPages": 5,"fetchDetails": false}
| Field | Type | Default | Description |
|---|---|---|---|
inputs | string[] | required | Mixed list of URLs, keywords, or category slugs |
maxItems | integer | 100 | Max products per input |
maxPages | integer | 5 | Max listing pages to crawl per input |
fetchDetails | boolean | false | Fetch full product page for each tile (slower, adds description, GTIN, more accurate data) |
Output
Each item in the dataset has _type: "product".
Listing tile (fetchDetails: false)
{"_type": "product","product_id": "6100006588","sku": "069976","name": "Holland & Barrett Vitamin C 1000mg 240 Tablets","brand": "Holland & Barrett","url": "https://www.hollandandbarrett.com/shop/product/holland-barrett-vitamin-c-1000mg-240-tablets-6100006588","image_url": "https://images.hollandandbarrettimages.co.uk/productimages/HB/{resolution}/069976_A.png","price": 17.99,"currency": "GBP","old_price": "£19.99","price_per_unit": "£0.07/1 Tablet","discount_pct": 10,"availability": "isAvailable","in_stock": true,"rating": 4.6,"reviews_count": "312","promotion": "May Payday","promotion_slug": "may-payday","category_path": "Vitamins & Supplements/Vitamins/Vitamin C","category_slug": "vitamins-supplements/vitamins/vitamin-c","is_marketplace": false,"vendor": null}
Full product page (fetchDetails: true)
{"_type": "product","product_id": "069976","sku": "069976","name": "Holland & Barrett Vitamin C 1000mg 240 Tablets","brand": "Holland & Barrett","description": "Vitamin C contributes to the normal function of the immune system...","url": "https://www.hollandandbarrett.com/shop/product/...","image_url": "https://images.hollandandbarrettimages.co.uk/...","price": 17.99,"currency": "GBP","availability": "http://schema.org/InStock","in_stock": true,"rating": 4.58,"reviews_count": 312,"gtin": "5019781006984","mpn": "069976"}
Examples
Scrape a single product
{"inputs": ["https://www.hollandandbarrett.com/shop/product/holland-barrett-vitamin-c-1000mg-240-tablets-6100006588"]}
Keyword search
{"inputs": ["fish oil", "magnesium"],"maxItems": 50,"maxPages": 3}
Category listing
{"inputs": ["vitamins-supplements/vitamins/vitamin-c"],"maxItems": 100,"maxPages": 5}
Mixed inputs with full details
{"inputs": ["https://www.hollandandbarrett.com/shop/vitamins-supplements/","protein bars","natural-beauty/skincare"],"maxItems": 100,"maxPages": 3,"fetchDetails": true}
Architecture
Input string│▼parsers.py: classify()│├─ product_url ──────────► api.fetch_product_page() ──► JSON-LD parse│├─ category_url / slug ──► api.fetch_all_category_tiles()│ │└─ search_url / keyword ─────────────┘│▼GET /shop/{slug}/?page=N orGET /search/?query={q}&page=N│▼Parse #__LAYOUT__ SSR JSON→ resolveParamValues → tiles + pagination│(fetchDetails=true) → fetch_product_page() × N
Listings use H&B's SSR HTML — the #__LAYOUT__ script tag contains pre-rendered product tiles with price, rating, promotion, and category data. No browser needed.
Product pages parse application/ld+json structured data for full details.
Pagination is driven by pagination.total from the SSR data (40 products per page).
Running locally
pip install -r requirements.txtscrapling install --forcepython src/main.py
Input is read from storage/key_value_stores/default/INPUT.json when running locally.