Wayfair Scraper · Products, Prices, Stock & Ratings
Pricing
from $2.00 / 1,000 product results
Wayfair Scraper · Products, Prices, Stock & Ratings
Scrape Wayfair products from wayfair.com, .ca, .co.uk and .ie. Paste a keyword, category, brand, SKU or listing/product URL. Each row is SKU, title, brand, price, discount %, stock, variant count, rating and image. Optional PDP specs, dimensions and materials. Pure HTTP, no browser.
Pricing
from $2.00 / 1,000 product results
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Wayfair Scraper
Scrape Wayfair product listings from the US, Canada, UK and Ireland storefronts. Keyword search, category browse, brand, SKU or any listing/product URL. Each row is one product: SKU, title, brand, price, was-price, discount percent, stock, variant count, rating, image and URL. Turn on fetchDetails for specs, dimensions, materials and the product description. Pure HTTP, no browser.
Why use this scraper
- Listing cards are complete — title, brand, sale price, was-price, discount %, variant count, stock, rating, reviews, image and URL come from the search/category page. No per-product crawl unless you ask for it.
- Four storefronts — wayfair.com, wayfair.ca, wayfair.co.uk, wayfair.ie.
- Keyword, category, brand, SKU or URL — paste what you have; the actor builds the rest.
- Stock from the listing payload —
IN_STOCK/LOW_STOCK/OUT_OF_STOCK/BACKORDEREDplus the original inventory sentence (e.g. “615 Left in Stock”). - Sale math and variants —
savingsanddiscountPercentfrom price vs was-price;variantCountfrom “3 Colors” / “5 Colors, 2 Sizes”. - Optional product-page enrichment — specs table, parsed dimensions, materials, About This Product, feature bullets, delivery, manufacturer URL. One extra request per product, billed only on a hit.
- Pure HTTP — Chrome TLS impersonation, no Playwright.
Use cases
| Who | What they do with the rows |
|---|---|
| Price monitors | Track sale vs was-price across sofas, rugs, lighting |
| Retail / marketplace teams | Build a Wayfair product feed without an official API |
| Brands | Watch how their SKUs are priced and badged on Wayfair |
| Data teams | Category-level assortment, ratings and promo flags |
Supported inputs
| Input | Example |
|---|---|
| Keyword search | sofa, office chair, area rug |
| Search URL | https://www.wayfair.com/keyword.php?keyword=sofa |
| Category URL | https://www.wayfair.com/furniture/sb0/sofas-c413892.html |
| Category filter | Furniture, Outdoor, Rugs, Lighting, … |
| Brand | Latitude Run, Wade Logan |
| SKU | W100694092, CXVA1530 |
| Product URL | https://www.wayfair.com/furniture/pdp/…-w100694092.html |
Not supported: login-only lists, Wayfair Business / B2B portals, Wayfair.de (shut down).
Proxy requirement
Wayfair runs PerimeterX. Datacenter IPs and a plain TLS fingerprint get 429 Access denied. This actor impersonates Chrome 131; residential proxy is recommended on Apify. A home IP often works for small local runs.
How it works
- Build start URLs from
startUrls, or from keyword / category / brand / SKU. - Fetch each listing page (paginated with
curpage=N, ~48 products per page). - Parse the server-rendered
ListingCardgrid — one row per product. - Optionally fetch the product page for specs, dimensions, materials, description, feature bullets and delivery.
- Apply price / rating / in-stock filters.
- Push one dataset row per product.
Input parameters
| Field | Type | Description |
|---|---|---|
startUrls | string[] | Search, category, brand or product URLs. Wins over the filters below. |
searchQuery | string | Keyword when no URL is given. |
country | enum | com / ca / co.uk / ie |
category | enum | Top-level browse (Furniture, Outdoor, …) |
brand | string | Brand name for a brand-scoped search |
skus | string[] | Wayfair SKUs |
sortBy | enum | Relevance, price, rating, newest, best seller |
priceMin / priceMax | number | Drop products outside this price range |
ratingMin | number | Drop products rated below this (unrated are kept) |
inStockOnly | boolean | Keep in-stock / low-stock only |
fetchDetails | boolean | Fetch each product page (extra request + additional-data event) |
maxItems | integer | Hard cap on rows |
maxPages | integer | Max listing pages per start URL |
proxy | proxy | Residential recommended |
Output overview
One row per product. Listing fields (price, previousPrice, discountPercent, variantCount, stockStatus when the page embeds inventory) are always filled when Wayfair shows them. specifications, dimensions, materials, description, featureBullets and brandUrl fill in when fetchDetails is on. Nested arrays stay as arrays; turn flatten off only if you want nested JSON as-is (flatten is on by default).
Output sample
{"sku": "W117455547","title": "L-Shaped Sofa With Reversible Chaise, Convertible Couch With Washable Covers, Compact Living Room Furniture For Apartments & Small Spaces","brand": "Latitude Run","productUrl": "https://www.wayfair.com/furniture/pdp/latitude-run-l-shaped-sofa-with-reversible-chaise-convertible-couch-with-washable-covers-compact-living-room-furniture-for-apartments-small-spaces-w117455547.html","price": 329.99,"previousPrice": 749.99,"savings": 420,"discountPercent": 56,"currency": "USD","stockStatus": "IN_STOCK","isPurchasable": true,"variantCount": 3,"rating": 3.4,"reviewCount": 17,"promoFlag": "Sale","imageUrl": "https://assets.wfcdn.com/im/95483184/resize-h200-w200%5Ecompr-r85/4887/488728918/L-Shaped+Sofa+With+Reversible+Chaise%2C+Convertible+Couch+With+Washable+Covers%2C+Compact+Living+Room+Furniture+For+Apartments+%26+Small+Spaces.jpg","breadcrumbs": ["Furniture", "Living Room Furniture", "Sofas"],"category": "Furniture","subCategory": "Sofas","country": "com","siteName": "Wayfair","recordType": "product","sourceUrl": "https://www.wayfair.com/keyword.php?keyword=sofa","detailFetched": false}
Key output fields
| Field | Description |
|---|---|
sku | Wayfair SKU (W100694092, CXVA1530) |
title / brand | Product name and manufacturer |
price / previousPrice / savings / discountPercent | Current price, was-price, dollars off, percent off |
rating / reviewCount | Stars (0–5) and review count |
stockStatus / isPurchasable / inventoryMessage | Stock enum, shoppable flag, Wayfair's own sentence |
variantCount | Option combinations from the card (“5 Colors, 2 Sizes” → 10) |
promoFlag | Sale, Warehouse Clearout, … |
imageUrl / productUrl | Primary image + canonical PDP |
breadcrumbs | Category path from the listing page |
specifications / dimensions / materials / description | Spec table, parsed H×W×D + weight, material list, About This Product — fetchDetails |
featureBullets / brandUrl / estimatedDeliveryMessage | Also filled when fetchDetails is on |
FAQ
Do I need a Wayfair account? No. Public listing and product pages only.
Why is stockStatus null? The listing payload usually carries shortInventoryStatusMessage next to the SKU; we map that. A few cards have no inventory blob — those stay null unless you turn on fetchDetails. Free-delivery text is not treated as stock.
US only? No. Set country or paste a .ca / .co.uk / .ie URL.
429 Access denied? Use a residential proxy. Datacenter IPs are refused.
How many products per page? About 48. maxPages caps how far pagination goes.
Support
Open an issue on the actor's Issues tab if a field is missing or a URL shape fails.
Additional services
Need richer rows? Turn on Fetch full product details for the spec table (overall dimensions, materials, weight), the parsed dimensions object, materials, About This Product, feature bullets, delivery and the manufacturer page. That path bills the additional-data event only when extra fields are actually found.
Explore more scrapers
See the publisher profile for other catalog and directory scrapers (Etsy, Home Depot, Houzz, Amazon and more).
🤖 For AI Agents & LLM Apps
Compact reference for agents calling this actor via the Apify MCP server or the Apify API (actor: memo23/wayfair-scraper).
Purpose: Turn a Wayfair keyword, category, brand, SKU or URL into one product row each — SKU, title, brand, price, rating, image, URL — over HTTP.
Minimal input:
{"searchQuery": "sofa","country": "com","maxItems": 30}
Or paste URLs:
{"startUrls": ["https://www.wayfair.com/furniture/sb0/sofas-c413892.html"],"maxItems": 30}
Output: one row per product — sku, title, brand, price, previousPrice, savings, discountPercent, currency, stockStatus, variantCount, rating, reviewCount, promoFlag, imageUrl, productUrl, breadcrumbs, country, scrapedAt. fetchDetails adds specifications, dimensions, materials, description, featureBullets, brandUrl, estimatedDeliveryMessage.
Behaviors an agent should know:
- Always set
maxItems. Each listing page is ~48 products and paginates withcurpage=N. startUrlswins over keyword/category/brand/SKU.- Residential proxy is the safe default on Apify. Datacenter IPs often get 429.
fetchDetails(off) is one extra request per product and chargesadditional-dataonly on a hit.- Pay-per-event billing — see the Pricing tab.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Wayfair LLC or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available product pages — no authenticated endpoints or content behind a Wayfair login. Users are responsible for ensuring their use complies with Wayfair's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.
SEO Keywords
Wayfair scraper, scrape Wayfair, Wayfair API, Apify Wayfair, Wayfair product scraper, Wayfair price scraper, furniture price data, Wayfair.ca scraper, Wayfair.co.uk scraper, home goods product feed, Wayfair SKU lookup, Wayfair category scrape, Wayfair stock status, Wayfair ratings scraper, crawlerbros Wayfair alternative