John Lewis Electricals Scraper avatar

John Lewis Electricals Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
John Lewis Electricals Scraper

John Lewis Electricals Scraper

Scrape John Lewis & Partners - a leading UK department-store retailer's electronics catalog. Browse laptops, desktop PCs, TVs, tablets, headphones, and games consoles with live prices, brand, and product images.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Scrape John Lewis & Partners — one of the UK's best-known department-store retailers — for live electronics and appliance pricing. Browse laptops, desktop PCs, monitors, tablets, TVs, headphones, speakers, soundbars, games consoles, mobile phones, smart watches, printers, coffee machines, and kitchen appliances (ovens, hobs, fridges, freezers, washing machines, tumble dryers), or fetch specific product URLs directly with full detail-page data (rating, reviews, description, availability, colour, dimensions, and more). No login, no API key, no cookies required.

What this actor does

  • Two modes: byCategory (browse a category listing) and byUrls (fetch exact product URLs, always with full detail)
  • 39 built-in categories: Laptops & MacBooks, Desktop PCs, iPads & Tablets, Televisions, Headphones, Games Consoles, Built-in Ovens (Double/Single), Range Cookers, Electric/Induction Hobs, Fridges, Freezers, Washing Machines, Tumble Dryers, Monitors, Printers, Mobile Phones, Smart Watches, Coffee Machines, Soundbars, Speakers, Vacuum Cleaners, Microwaves, Cameras, Dishwashers, Air Conditioners, Air Purifiers, Dehumidifiers, Fans, Kettles, Irons & Steamers, Food Processors/Mixers/Blenders, Projectors, Smart Heating, Smart Lighting, Hi-Fi Systems & CD Players, Turntables, Radios
  • Optional full product-detail enrichment (fetchProductDetail) — visits each listing's product page for description, availability, colour, weight, model number, MPN, guarantee, full technical specifications, delivery options, and extra images
  • Filters: brand (contains match), min/max price (GBP — applied server-side on mode=byCategory via John Lewis's own price facet when both bounds are given, plus a post-filter safety net), minimum rating (always available, no detail fetch needed), in-stock only (server-side facet, mode=byCategory), New In only (server-side facet, mode=byCategory), on-sale only (was/now price post-filter), on-offer only (server-side facet, mode=byCategory, covers every active promotion type — not just price markdowns)
  • Live data: everything scraped fresh on every run
  • Robots.txt compliant — johnlewis.com's robots.txt disallows /search*; this actor only scrapes /browse/.../_/N-* category pages and individual product pages, both explicitly allowed
  • Empty fields are omitted — every record only contains fields that were actually found on the page

Output per product

Listing mode always includes: productId, title, brand, price, currency (GBP), rating, reviewCount, productUrl, imageUrl, category, recordType: "product", scrapedAt. rating/reviewCount are scraped straight from the listing card and are omitted only for products with no reviews yet. When a product is currently marked down, the record also includes wasPrice (the pre-discount price), onSale: true, and discountAmount (the £ amount saved) — all scraped directly from the listing card's "was/now" price and "Save £X" badge, so they're available in every mode without needing fetchProductDetail.

With fetchProductDetail on (or always for mode=byUrls), records additionally include when available:

FieldDescription
ratingPercentageRating expressed as a percentage (detail page only)
descriptionFull product description (HTML stripped)
availabilityInStock or OutOfStock
colorProduct colour/finish
weightUnpackaged product weight
modelNumberManufacturer model name/number
mpnManufacturer part number
skuJohn Lewis SKU/stock code
guaranteeIncluded guarantee terms (e.g. "2 year guarantee included")
imageUrlsUp to 10 product images
categoryPathFull breadcrumb category path
specificationsFull technical spec sheet as [{name, value}] (e.g. RAM, battery life, screen resolution) — varies per product, often 20-50+ rows
deliveryOptionsEvery delivery/collection method offered for this product as [{name, price}] (e.g. Standard Delivery, Click & Collect, Next Day Delivery)
eligibleForTradeInWhether John Lewis currently accepts a trade-in device toward this product (mobile phones, some laptops)
promotionalMessagesCurrently-active promo banner titles for this product (e.g. "Save £100", "2 year guarantee included")
videoUrlDirect MP4 product video URL, when John Lewis has one for this product
otherVariantsOther colour/finish options of the same product as [{name, productUrl}], excluding the variant already returned

With fetchReviews on (any mode), records additionally include:

FieldDescription
topReviewsUp to 10 real customer reviews as [{title, text, rating, author, location, date, isVerifiedBuyer}], pulled from johnlewis.com's own ratings-reviews service — not just the aggregate rating/reviewCount, but actual review text

Input

FieldTypeDefaultDescription
modestringbyCategorybyCategory or byUrls
categorystringlaptops-macbooksCategory to browse (mode=byCategory; see list below)
productUrlsarrayExact product URLs (mode=byUrls)
sortBystringrelevanceListing sort order: relevance, priceLow, priceHigh, new, popularity, discount (mode=byCategory)
fetchProductDetailbooleanfalseEnrich each listing record with full product-page data (mode=byCategory)
brandstringOnly keep products whose brand contains this text
minPrice / maxPriceintegerGBP price range. When BOTH are set on mode=byCategory, applied server-side via John Lewis's own price facet (narrows the source listing); a one-sided range (only minPrice or only maxPrice) is enforced as a post-filter only. Always enforced as a post-filter safety net regardless
minRatinginteger0Minimum star rating (0-5); always enforceable, no detail fetch needed
inStockOnlybooleanfalseOnly keep in-stock products; applied server-side on mode=byCategory via John Lewis's own "Show in stock items only" facet (no detail fetch needed), enforced from the live detail page on mode=byUrls
newInOnlybooleanfalseOnly keep products flagged "New In"; applied server-side on mode=byCategory via John Lewis's own "New In" facet (not applicable to mode=byUrls)
onSaleOnlybooleanfalseOnly keep products currently marked down; enforceable in every mode, no detail fetch needed. Not a server-side facet on mode=byCategory (johnlewis.com has no dedicated "on sale" URL facet), so it's applied as a post-filter against the fetched listing snapshot(s); the actor fetches up to 5 listing snapshots when this or minRating/brand is combined with a small category (John Lewis's own Akamai-fronted listing page returns a genuinely different card subset per fetch — a small number of on-sale items in a small category can occasionally still be missed under some sortBy values due to that upstream variance)
onOfferOnlybooleanfalseOnly keep products in John Lewis's own "On Offer" promotion; applied server-side via John Lewis's own facet on mode=byCategory (covers price markdowns, bundled gifts, and finance offers — broader than onSaleOnly)
fetchReviewsbooleanfalseFetch up to 10 real customer reviews (text, rating, reviewer, date) per product; works in every mode, one extra request per product
maxItemsinteger50Hard cap on emitted records

Example: browse a category with full product detail

{
"mode": "byCategory",
"category": "laptops-macbooks",
"brand": "HP",
"fetchProductDetail": true,
"minRating": 4,
"maxItems": 50
}

Example: fetch specific products by URL

{
"mode": "byUrls",
"productUrls": ["https://www.johnlewis.com/hp-14-ep0021na-laptop-intel-core-i7-processor-8gb-ram-512gb-ssd-14-full-hd-natural-silver/p115160491"]
}

Example: find on-sale washing machines with reviews

{
"mode": "byCategory",
"category": "washing-machines",
"onSaleOnly": true,
"fetchReviews": true,
"maxItems": 30
}

Example: in-stock, highly rated televisions under £800

{
"mode": "byCategory",
"category": "televisions",
"maxPrice": 800,
"minRating": 4,
"inStockOnly": true,
"maxItems": 40
}

Use cases

  • Price monitoring — track live prices, discounts, and stock status for electronics/appliance SKUs across runs.
  • Competitive intelligence — compare brand mix, pricing, and promotions against other UK electronics retailers.
  • Deal aggregation — surface currently on-sale or on-offer products across categories for a deals site or newsletter.
  • Product research — pull full specifications, reviews, and delivery options before purchasing decisions.
  • Catalog enrichment — merge John Lewis pricing/availability/specs into an existing product database by URL.

Categories available

  • Laptops & MacBooks (laptops-macbooks)
  • Desktop PCs (desktop-pcs)
  • iPads & Tablets (ipad-tablets)
  • Televisions (televisions)
  • Headphones (headphones)
  • Games Consoles (games-consoles)
  • Built-in Ovens, Double (built-in-ovens-double)
  • Built-in Ovens, Single (built-in-ovens-single)
  • Range Cookers (range-cookers)
  • Electric Hobs (electric-hobs)
  • Induction Hobs (induction-hobs)
  • Fridges (fridges)
  • Freezers (freezers)
  • Washing Machines (washing-machines)
  • Tumble Dryers (tumble-dryers)
  • Monitors (monitors)
  • Printers (printers)
  • Mobile Phones (mobile-phones)
  • Smart Watches (smart-watches)
  • Coffee Machines (coffee-machines)
  • Soundbars (soundbars)
  • Speakers (speakers)
  • Vacuum Cleaners (vacuum-cleaners)
  • Microwaves (microwaves)
  • Cameras (cameras)
  • Dishwashers (dishwashers)
  • Air Conditioners (air-conditioners)
  • Air Purifiers (air-purifiers)
  • Dehumidifiers (dehumidifiers)
  • Fans (fans)
  • Kettles (kettles)
  • Irons & Steamers (irons)
  • Food Processors, Mixers & Blenders (food-processors-blenders)
  • Projectors (projectors)
  • Smart Heating (smart-heating)
  • Smart Lighting (smart-lighting)
  • Hi-Fi Systems & CD Players (hi-fi-systems)
  • Turntables (turntables)
  • Radios (radios)

Notes

  • Each category page is scraped as it renders on the site (no deep pagination); category "view all" pages typically return 20-73 products in a single page load. johnlewis.com's CDN occasionally serves a smaller snapshot of the same category page on a given request (observed varying between ~40-60 cards for the same category+sort combination); the actor automatically re-fetches the listing through a fresh proxy session up to twice more and merges in any additional products found, converging toward the fuller catalog rather than a partial one, though exact counts can still vary slightly run to run for high-traffic categories.
  • Prices are shown in GBP as listed on johnlewis.com.
  • If a page fails to load, the actor automatically retries with backoff and, as a last resort, falls back to the free Apify datacenter proxy (AUTO group) — no residential proxy or paid add-ons required.

FAQs

Do I need an account or API key? No. This actor scrapes publicly available category listing and product-detail pages.

Why is there no free-text search mode? johnlewis.com's robots.txt disallows crawling /search*. This actor respects that and only scrapes the explicitly allowed /browse/.../_/N-* category pages and individual product pages instead.

Why are some fields missing on some products? Only fields that were actually present on the page are included in each record. Turn on fetchProductDetail for the fullest set of fields per record.

Does inStockOnly narrow my results in byCategory mode? Yes — it's applied server-side via John Lewis's own "Show in stock items only" facet, so it narrows the source listing directly and doesn't require fetchProductDetail. minRating similarly works in every mode — rating and review count are scraped directly from the listing card.

Why does a plain curl/script request to a productUrl hang or time out, even though it opens fine in a browser? productUrl values are real, valid links. johnlewis.com runs Akamai Bot Manager, which silently stalls (rather than rejects) plain scripted requests from datacenter IPs that lack a full browser TLS/JA3 fingerprint — this is johnlewis.com's own anti-bot behavior, not a broken link. The actor itself uses Chrome TLS impersonation to get through; imageUrl links (served from a separate CDN) are unaffected and load normally with any client.