Wayfair Scraper
Pricing
from $3.00 / 1,000 results
Wayfair Scraper
Scrape Wayfair product listings, product details, category browses, and brand pages from Wayfair.com (US), Wayfair.ca (Canada), Wayfair.co.uk (UK), and Wayfair.ie (Ireland). Extract title, SKU, brand, price, currency, rating, review count, image, breadcrumbs, and product URL.
Pricing
from $3.00 / 1,000 results
Rating
5.0
(11)
Developer
Crawler Bros
Maintained by CommunityActor stats
11
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Scrape Wayfair product listings, product detail pages, category browses, and brand pages from Wayfair's regional storefronts. Extract title, SKU, brand, price (incl. previous/sale price), currency, rating, review count, breadcrumbs, image, and product URL.
Why this scraper
- No login, no cookies, no API key required — works against the public Wayfair site.
- 5 modes —
search,byUrl,byCategory,byBrand,byProduct. - 4 regional storefronts —
wayfair.com(US),wayfair.ca(CA),wayfair.co.uk(UK),wayfair.ie(IE). - HTTP-only via
curl_cffichrome131 impersonation — fast, low-memory, no browser overhead. - Apify residential proxy by default — Wayfair blocks Apify datacenter IPs with 429s, so the actor uses residential proxy out of the box.
- Filters — price range, minimum rating, sort order.
- Optional PDP enrichment — set
fetchProductDetails=trueto fetch the product detail page for every listing card and add brand, full description, breadcrumbs, and high-res image.
Input
| Field | Type | Description |
|---|---|---|
mode | enum | search, byUrl, byCategory, byBrand, byProduct |
country | enum | com, ca, co.uk, ie |
text | string | Search keyword (search mode) |
category | enum | Top-level Wayfair category (byCategory mode) — Furniture, Outdoor, Decor & Pillows, Rugs, Kitchen & Tabletop, Bed & Bath, Lighting, Storage & Organization, Appliances, Home Improvement, Baby & Kids, Holiday Decor, Office, Pet |
urls | array | Direct Wayfair URLs (byUrl / byBrand modes) |
skus | array | Wayfair SKUs (e.g. W118077895, CXVA1530) for byProduct mode |
sortBy | enum | relevance, price_low_to_high, price_high_to_low, top_rated, newest, best_seller |
priceMin / priceMax | int | Drop products outside the price range |
ratingMin | float | Drop products with rating below this (0.0-5.0) |
fetchProductDetails | bool | Enrich every listing card with PDP data |
maxItems | int | Hard cap on emitted records |
maxPagesPerListing | int | Max paginated listing pages to crawl per seed |
proxyConfiguration | proxy | Apify proxy configuration (defaults to RESIDENTIAL — required for cloud runs) |
brand | string | Brand name for byBrand mode (e.g. "Latitude Run") |
Output
Each record represents a single Wayfair product:
{"sku": "CXVA1530","title": "Latitude Run Ilkeston 81.6\" Wide Vegan Leather Manual Reclining Sofa","brand": "Latitude Run","productUrl": "https://www.wayfair.com/furniture/pdp/latitude-run-ilkeston-...-cxva1530.html","canonicalUrl": "https://www.wayfair.com/furniture/pdp/latitude-run-ilkeston-...-cxva1530.html","price": 689.99,"previousPrice": 1098.99,"currency": "USD","ratingValue": 4.63,"reviewCount": 648,"imageUrl": "https://assets.wfcdn.com/im/.../Ilkeston+81.6+...+Cup+Holders.jpg","description": "Choose a delivery day that works for you...","breadcrumbs": ["Furniture", "Living Room Furniture", "Sofas"],"category": "Furniture","subCategory": "Sofas","promoFlag": "72-Hour Clearout","country": "com","siteName": "Wayfair","recordType": "product","scrapedAt": "2026-05-08T17:24:33.123456+00:00","sourceUrl": "https://www.wayfair.com/keyword.php?keyword=sofa"}
Empty / null fields are omitted from the record (no sentinel values).
Modes
Search
Free-text keyword search across the country's catalog.
{"mode": "search","country": "com","text": "sofa","sortBy": "top_rated","maxItems": 50}
By URL
Paste any Wayfair search results, category, brand, or product detail URL. The scraper auto-detects the URL kind and the country from the host.
{"mode": "byUrl","urls": ["https://www.wayfair.com/furniture/cat/sofas-c413894.html","https://www.wayfair.com/furniture/pdp/latitude-run-ilkeston-...-cxva1530.html"]}
By Category
Browse a top-level Wayfair category.
{"mode": "byCategory","country": "com","category": "lighting","sortBy": "newest"}
By Brand
Search by brand name. The scraper performs a brand-scoped keyword search.
{"mode": "byBrand","country": "com","brand": "Latitude Run"}
By Product
Look up products by SKU.
{"mode": "byProduct","country": "com","skus": ["W118077895", "CXVA1530"]}
FAQs
Q: Does this work without a proxy? Locally yes (from your home/office IP), but on Apify cloud Wayfair returns 429 from every Apify datacenter IP. The actor defaults to RESIDENTIAL proxy for that reason.
Q: Does it support Wayfair.de? No. Wayfair shut down its German storefront in 2020; the wayfair.de domain redirects to a permanent announcement page.
Q: Do search results include all fields? Search-result HTML embeds full data (title, price, currency, rating, reviewCount) for the first 3-5 cards above-the-fold, and partial data (title, sku, productUrl, image) for the remaining 45+ cards on the page. To get full data for every card, enable fetchProductDetails=true.
Q: How many products per page? ~48 unique SKUs per Wayfair listing page.
Q: How does the price filter work? Products without a price are kept (the user opted into a filter, not into requiring the field). Products with a price outside [priceMin, priceMax] are dropped.
Q: Does the scraper extract reviews? Not in this version. The Wayfair review widget loads via XHR after click; this scraper focuses on product-level data (title, price, rating aggregate, review count). Per-review extraction is on the roadmap.
Q: What about international currency? Each country has its native currency: USD (com), CAD (ca), GBP (co.uk), EUR (ie). The scraper extracts the actual currency code embedded in the JSON for each listing.
Limitations
- wayfair.de is not supported (storefront closed).
- Reviews-per-product are not yet extracted (only the aggregate
ratingValueandreviewCount). - Brand pages: Wayfair's brand URL format varies; the easiest way to scrape a brand is via
byUrlwith the brand listing URL copied from the site. - Product detail data for sponsored/ad placements may be sparser than for organic results.
Test plan
Run python -m pytest tests/ -q from the actor folder. The suite covers 100+ unit tests across URL handling, listing extraction (US/CA/UK fixtures), product record extraction (real PDP fixture), filter helpers (per-type edge cases), and recursive null-walking.