# Wayfair (/docs/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/-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. ```bash title="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. ```bash title="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" ``` ## Search | Endpoint | Credits | What it returns | Key parameters | | ------------------------ | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------- | | `GET /v1/wayfair/search` | 5 | SKU, name, brand, current and list price, rating, review count, product URL, image, short description, and attribute highlights such as swivel or adjustable height | `query` (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 | Endpoint | Credits | What it returns | Key parameters | | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------- | | `GET /v1/wayfair/product` | 5 | Name, 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 list | `sku` (required), `country` | ## Reviews | Endpoint | Credits | What it returns | Key parameters | | ------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------- | | `GET /v1/wayfair/reviews` | 5 | 10 reviews a page with full text, star rating, reviewer name and location, date, verified-purchase flag, and reviewer photos | `sku` (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 ## 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](/docs/labels.md) for the field shapes and the labels you can add with `label=`, such as `label=reports&reports=the battery drains quickly`. ## Next steps - [Pagination](/docs/pagination.md): The universal cursor, and how to walk a search to the end. - [Credits](/docs/credits.md): What each tier costs, and which failures are refunded. - [API reference](/docs/api-reference.md): Every Wayfair parameter and response field. - [Home Depot](/docs/home_depot.md): The same shapes for hardware, plus per-store shelf counts. - [Target](/docs/target.md): Category browsing, reviews and store locations.