SocialCrawl

Wayfair

Wayfair product search, full product detail with variants and dimensions, and customer reviews across five marketplaces

Wayfair furniture and home products behind the same canonical commerce schema as Amazon, Walmart, Target and Home Depot. Search a keyword, read one product in full including its dimension table and variants, or pull the written reviews.

Base URL: /v1/wayfair/...

Products are keyed on the SKU, the alphanumeric id at the end of a product URL. In wayfair.com/furniture/pdp/<name>-w003564166.html the SKU is W003564166, and every search row carries one.

Wayfair reorders search results between calls, so consecutive pages repeat roughly a quarter of their rows. De-duplicate on product.id when you crawl.

Quickstart

Search for products

search is the keyword-to-SKU resolver for the rest of the platform. It returns 48 rows a page by default.

cURL
curl "https://www.socialcrawl.dev/v1/wayfair/search?query=office%20chair&in_stock=true" \
  -H "x-api-key: YOUR_API_KEY"

Read the product and its reviews

Already holding a SKU? Start here.

cURL
curl "https://www.socialcrawl.dev/v1/wayfair/product?sku=W003564166" \
  -H "x-api-key: YOUR_API_KEY"

curl "https://www.socialcrawl.dev/v1/wayfair/reviews?sku=W003564166&sort_order=helpful" \
  -H "x-api-key: YOUR_API_KEY"
EndpointCreditsWhat it returnsKey parameters
GET /v1/wayfair/search5SKU, name, brand, current and list price, rating, review count, product URL, image, short description, and attribute highlights such as swivel or adjustable heightquery (required), country, page, items_per_page, sort_by, min_price, max_price, color, in_stock

items_per_page takes 24, 48 (default) or 96. sort_by takes relevance (default), price_low, price_high, top_rated or newest. color narrows to one colour family, and in_stock=true restricts to what Wayfair can ship now.

Product detail

EndpointCreditsWhat it returnsKey parameters
GET /v1/wayfair/product5Name, brand, manufacturer, price, rating, written-review count, stock status, image gallery, colour and size variants, shipping estimate, return window, and a specification table combining Wayfair's highlights with its full dimension listsku (required), country

Reviews

EndpointCreditsWhat it returnsKey parameters
GET /v1/wayfair/reviews510 reviews a page with full text, star rating, reviewer name and location, date, verified-purchase flag, and reviewer photossku (required), country, page, sort_order, star, label, judgments

sort_order takes relevance (default), helpful, date_ascending, date_descending, rating_ascending or rating_descending. star filters to a single rating from 1 to 5.

Marketplaces

country selects the national marketplace: US (wayfair.com, the default), CA, GB, IE or DE. A SKU from one marketplace will not always resolve in another, so search and read in the same country.

All endpoints

3 endpoints available.

EndpointPathCredit Tier
Get a Wayfair product by SKU/v1/wayfair/productadvanced (5cr)
Get Wayfair product reviews/v1/wayfair/reviewsadvanced (5-9cr)metered
Search Wayfair products/v1/wayfair/searchadvanced (5cr)

Platform notes

De-duplicate a search crawl by product.id. Wayfair reorders results between calls, so consecutive pages repeat roughly a quarter of their rows. A Set over the returned ids is all it takes.

Paginate until a page comes back empty. The result total Wayfair reports drifts between pages, so it is not returned here.

The two review counts legitimately differ. The count on product covers the selected variant; the count on a search row covers the whole catalogue entry. The same SKU can therefore report two different numbers, and neither is wrong.

Helpful votes and review headlines are always null. Wayfair does not publish either, so those fields null out rather than carrying a guess.

Review pagination is deterministic. Review pages do not overlap and the total is stable across pages, so a full crawl terminates cleanly: pass the returned cursor back until has_more is false.

Price filters are approximate. min_price and max_price are applied by Wayfair, not by us. Filter on product.price.current if you need a hard bound.

Labels

/v1/wayfair/reviews labels each review by default, at no extra credit: sentiment (read from the words, never the stars, with rating_mismatch when the two clearly disagree) and issue (the main problem the review reports) on computed.labels. Send judgments=off for the page without them. See Labels for the field shapes and the labels you can add with label=, such as label=reports&reports=the battery drains quickly.

Next steps

On this page