Wayfair Scraper | Product Specs, Prices & Stock avatar

Wayfair Scraper | Product Specs, Prices & Stock

Pricing

from $0.75 / 1,000 catalog records

Go to Apify Store
Wayfair Scraper | Product Specs, Prices & Stock

Wayfair Scraper | Product Specs, Prices & Stock

Scrape Wayfair products by keyword, category URL or SKU across the US, Canada and UK. Collect prices, discounts, ratings, stock and images, with optional descriptions, dimensions, materials and specifications. Filter by brand, price, rating or stock. Export to JSON, CSV or Excel.

Pricing

from $0.75 / 1,000 catalog records

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

17

Total users

0

Monthly active users

a day ago

Last modified

Categories

Features

Limited permissions

Share

Collect Wayfair product specifications, prices, images, listings and stock for the United States, Canada and United Kingdom. Start with a SKU, category URL or search term and export structured results to JSON, CSV or Excel.

What this Actor does

Five modes deliver one Dataset record per collected product, listing, search resolution or stock check:

  • Products (products): identity, current price, description, feature bullets, specifications, dimensions, product weight and materials when supplied by Wayfair.
  • Category listing (category): paginated listings with brand, price, rating, review count, stock and usable image URLs. Enable includeDetails to add product specifications to each listing.
  • Search for products (searchProducts): resolves keywords and collects the resulting listings, or the directly matched product. Supports optional details, listing filters and source ordering.
  • Search resolution (search): preserves the lightweight mode that returns a resolved category or product URL for each term.
  • Stock by postal code (inventory): checks availability and quantity for specific SKUs in one delivery area.

No Wayfair account is required. Specifications and dimensions retain the source labels and units. Savings and discount percentages are calculated from comparable current and previous prices.

Use cases

  • Build a furniture catalog with descriptions, materials and product dimensions.
  • Compare assortments and prices across keyword or category listings.
  • Find products within a price range, brand, rating or stock requirement.
  • Monitor price and availability changes by running the same input again.

How to use

  1. Open the Actor in Apify Console.
  2. Choose Products and enter a SKU, or Search for products and enter keywords.
  3. For listing modes, optionally enable product details and choose filters or ordering.
  4. Set Maximum records, click Start, then open the Dataset.

Input

The form groups collection settings, source inputs, listing options and advanced filters. Choose Products by keyword to collect keyword results, or Search destinations (URLs only) to return just the matching destination. Existing API mode values remain unchanged.

If the Actor detects invalid input, read the warning in the run log, correct the indicated field or item, and run again. Basic input mistakes stop before collection. Category filters and brands are checked against the options available for each listing; invalid selections are skipped without delivering or charging results for that listing. Apify may reject malformed JSON or values outside the input schema before a run starts; in that case, correct the fields highlighted in the form.

Only identifiers for the selected mode are required. The complete example below collects one product.

  • mode: products (default), category, searchProducts, search or inventory.
  • productUrls: up to 200 product URLs or SKUs, used by products/inventory. The URL domain determines its market. Duplicate SKUs are collected once per market.
  • categoryUrls: up to 20 category URLs or numeric IDs for category mode.
  • searchTerms: up to 20 terms for search/searchProducts.
  • filters: optional advanced category filters, up to 10 pairs. Use Add item to fill the Filter ID and Option ID boxes; no JSON editing is needed. Find available pairs in REFINEMENTS. Prefer the Brand, Price, Rating and In stock controls for everyday filtering.
  • postalCode: required by inventory; used as the listing delivery context. It must be valid for every selected market.
  • market: us, ca or uk; used for identifiers without a domain.
  • maxItems: between 1 and 500 results across the run, default 50. The prepared example uses one.
  • includeDetails: default false. Adds product details to category/searchProducts listings before delivery.
  • brand: an exact brand name offered in the source refinements, compared without case sensitivity or trademark symbols. Empty disables it. An unavailable brand is reported rather than collecting an unrestricted catalog.
  • minPrice, maxPrice: bounds in the market currency. Zero disables a bound. With an enabled bound, unknown prices are excluded.
  • minRating: 0–5; zero disables. Unknown ratings are excluded when enabled.
  • inStockOnly: default false. When enabled, includes only explicit in-stock listings; unknown stock is excluded.
  • sortBy: RECOMMENDED (default), REVIEW_RATING, PRICE_PER_ITEM_ASC or PRICE_PER_ITEM_DESC. This is the source order, including any sponsored placements.

The seven listing controls from includeDetails through sortBy require category or searchProducts mode when enabled. Neutral values remain valid in other modes. Price/rating/stock filters are applied to received listings; they may require scanning additional pages. A directly matched product can have fewer listing fields, so controls requiring absent values exclude it.

{
"mode": "products",
"productUrls": [
"W009559366"
],
"categoryUrls": [
"https://www.wayfair.com/furniture/sb0/sofas-c413892.html"
],
"searchTerms": [
"coffee table"
],
"filters": [],
"postalCode": "10001",
"market": "us",
"maxItems": 1,
"includeDetails": false,
"brand": "",
"minPrice": 0,
"maxPrice": 0,
"minRating": 0,
"inStockOnly": false,
"sortBy": "RECOMMENDED"
}

Output

The default Dataset contains one final record per delivered item. SUMMARY reports delivered counts, completeness and unresolved inputs; category and keyword listing collections also store available source filters in REFINEMENTS.

Product details use description, featureBullets, specifications, dimensions, productWeight and materials. detailsFetched means the product detail response was validated; individual fields can still be absent. Specification groups contain named items and any child items. Listing images are available as imageIds, imageUrl and imageUrls. savings and discountPercent are calculated comparisons, not a guarantee of a promotional offer. Unavailable scalar values are null; unavailable collections are empty arrays.

This is the complete Dataset item from the successful input above:

{
"description": "Festive and elegant at the same time, this Foil Print Snowflake Table Runner is perfect to dress up your holiday tablescape for special occasions and celebrations. It features an allover foil snowflake pattern print on vivid red background brings an ultra-glam appeal. Designed with a metallic glowing accent, this table runner will add grace and finesse to your holiday tabletop, pair with shimmery placemats or solid color flatware for a complete wow effect.",
"featureBullets": [
"PERFECT HOLIDAY DINING TABLE COVER – This rectangle table cover is perfectly sized for layering your table décor. The festive red and metallic gold hues make this elegant table runner is perfect for an eye-catching winterly look. It not only protects wooden tables but also offers a stylish background for your holiday tableware and centerpieces. Pair with our matching placemats and napkins for a coordinated look.",
"PREMIUM QUALITY – We craft our festive table linen from superior quality with 100% polyester construction. Durable and easy to clean, this gorgeous table cover is sure to offer an inviting enhancement to your dining area while protecting the table against scratches and spills. Care: Machine wash cold, delicate cycle, hang dry.",
"MULTI-PURPOSE UTILIZATION – Elegance and charm, this Foil Print Snowflake Table Runner added flair to your holiday tablescapes. Use it to decorating indoor/outdoor parties and banquets, or use it inside when hosting casual or holiday meals for friends and family which helps protect your table from any potential scratches and messy spills. Mix and match or blend with your favorite holiday décor to create an elegant chic Christmas dining table décor.",
"CREATIVE GIFT IDEA – Makes a thoughtful and functional housewarming gift, hostess gift with this stylish table linen for Thanksgiving, Christmas, Birthday or any other special events."
],
"specifications": [
{
"group": "FEATURES",
"items": [
{
"name": "Product Type",
"value": "Table Runnner",
"children": []
},
{
"name": "Overall Shape",
"value": "Rectangle",
"children": []
},
{
"name": "Material",
"value": "Polyester",
"children": []
},
{
"name": "Pattern",
"value": "Floral",
"children": []
},
{
"name": "Color",
"value": "Red",
"children": []
},
{
"name": "General Features",
"value": "Reversible",
"children": []
}
]
},
{
"group": "WARRANTY",
"items": [
{
"name": "Commercial Warranty",
"value": "No",
"children": []
}
]
}
],
"dimensions": [
{
"group": null,
"items": [
{
"name": "Overall Dimensions",
"value": "16'' D X 54'' L",
"children": []
},
{
"name": "Overall Product Weight",
"value": "0.5 lb.",
"children": []
}
]
}
],
"productWeight": "0.5 lb.",
"materials": [
"Polyester"
],
"detailsFetched": true,
"recordType": "product",
"market": "us",
"sku": "W009559366",
"variantId": "AV23077906",
"name": "Red Holiday Foil Snowflake 16\"x54\" Table Runner",
"brand": null,
"url": "https://www.wayfair.com/kitchen-tabletop/pdp/the-holiday-aisle-red-holiday-foil-snowflake-16x54-table-runner-w009559366.html?piid=766195378",
"price": 19.99,
"wasPrice": null,
"currency": "USD",
"stockStatus": null,
"stockMessage": null,
"maxPurchasableQuantity": null,
"availableQuantity": null,
"rating": null,
"reviewCount": null,
"classId": null,
"className": null,
"categoryId": null,
"categoryName": null,
"imageIds": [],
"choiceCategories": [
{
"name": null,
"selected": "72920960",
"optionCount": null
}
],
"categoryUrl": null,
"resultType": null,
"postalCode": "10001",
"sourceInput": "W009559366",
"scrapedAt": "2026-11-02T14:01:27.011430+00:00",
"imageUrls": [],
"imageUrl": null,
"savings": null,
"discountPercent": null
}

Pricing

This Actor uses pay-per-event pricing. One product event corresponds to one verified Dataset record: a product, listing, search resolution or stock row. Optional details are included in that same result. There is no startup fee or separate usage charge. Invalid selections and inputs that produce no delivered record are not charged; a valid listing preserved after an optional detail failure is still a delivered record.

Apify tierPrice per delivered result (USD)Equivalent per 1,000 results (USD)
FREE$0.00100$1.00
BRONZE$0.00090$0.90
SILVER$0.00080$0.80
GOLD$0.00075$0.75
PLATINUM$0.00075$0.75
DIAMOND$0.00075$0.75

Apify applies the rate for your plan. The run stops when its spending limit prevents another delivery. Check the Pricing tab before starting for the current configuration.

ActorBest for
Shopify Products Scraper | Prices & VariantsComparing Wayfair prices against Shopify store catalogs
Houzz Scraper | Photos, Products, Pros & IdeasHome-improvement and interior product research next to furniture data
Craigslist Scraper | Listings, Prices & DetailsUsed-furniture and local-marketplace price comparison

Limits and data quality

  • Supported markets are the United States, Canada and United Kingdom. Other storefronts are outside this contract. SKUs and category IDs are market-specific.
  • Products returns detail and price fields. Brand, rating, stock and listing images generally come from category/keyword listings and may be null or empty for a direct SKU.
  • Review counts and average ratings are supported on listings; individual reviews, AI review summaries and exhaustive variant enumeration are not collected.
  • Listing collection follows up to 40 pages per input, up to 24 listings per page, stopping at the record cap or source end. Filtering can yield fewer records than requested. A page limit reached before source end is reported as partial.
  • searchProducts follows supported category, product and keyword listing resolutions. An unresolved search is reported; the Actor does not replace it with an unrelated category.
  • Optional detail failure preserves the base listing with detailsFetched: false and makes the run partial. Details are merged only for the same verified SKU and variant.
  • Prices, stock and images reflect available source data and can change. Delivery dates, a complete product gallery and every available variant are not guaranteed.
  • Without a listing postal code, the delivery context defaults to 10001 (US), M5V 2T6 (Canada) or SW1A 1AA (UK). Use separate runs for different delivery areas.
  • A record cap or a verified source end is a valid completion, including zero matches after filtering. Source outages, missing products and incomplete or unprocessable source responses are recorded in SUMMARY: outcome: "partial" when rows were preserved, or "source_unavailable" when none could be collected. These handled source problems end normally with complete: false; they never indicate a complete collection. A spending limit can also stop collection normally, with "stopped" when no records were delivered. Check SUMMARY.complete when deciding whether all requested work finished.
  • Invalid user input logs a warning explaining what to correct. If all requested selections are invalid, SUMMARY reports outcome: "invalid_input" and complete: false. Rejected selections produce no result events, and filters are never silently removed to broaden a listing. Already saved records remain available. Unresolved storage, charging or recovery-state problems still fail the execution to protect your results and spending. An unverified saved-record count is reported as null rather than zero.
  • A resumed run reuses verified saved rows. Start a new run to collect a fresh snapshot.
  • Batches containing unusually large records can stop at a processing resource limit. Saved records remain available, the summary stays incomplete, and undelivered records are not charged.

Frequently asked questions

How do I collect products for a keyword?

Choose searchProducts and fill searchTerms. The existing search mode returns only the resolved URL. Enable includeDetails if you also need descriptions and specifications.

How do I filter a category?

Use the friendly brand, price, rating and stock controls, or use filterId/optionId pairs from REFINEMENTS. Each filter and option must belong to the selected listing and market; a requested brand must also be offered there. Incorrect selections are skipped with an input warning. If available options cannot be verified, that listing is not collected with the requested source filters. Category filters cannot be applied to a directly matched product. Missing values do not satisfy enabled price, rating or stock conditions.

Are the product weight and dimensions converted?

No. They retain Wayfair's labels and units. productWeight is the reported overall product weight, not the weight capacity.

Why are some fields empty?

Wayfair supplies different fields on listings and product details. Enable optional details for listing modes where needed. Check SUMMARY to distinguish an absent optional field from a failed collection.

Responsible use

Use the Actor lawfully and comply with Wayfair's terms and applicable privacy rules and regulations. Collect public catalog data responsibly and do not misrepresent availability or pricing.

Support

Open an issue in the Actor's Issues tab with your input and run ID.

Python, JavaScript and CSV integration examples on GitHub