Wayfair
The largest US home-goods retailer: prices, the full spec table, reviews, and every colour and size option priced separately.
/wayfair/v1/search2 creditsSearch Wayfair by keyword and read the whole result grid. 48 listings per page with price, was-price, sale badge, brand, rating and review count, the selected colour or fabric, the other options with their own product URLs, stock message and delivery promise. Wayfair's own facets can be applied with `filters`.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | required | — | What to search for, e.g. 'velvet accent chair'. |
| page = 1 | optional | 1–50 | Result page. Wayfair serves 48 listings per page. |
| filters | optional | — | Wayfair facet selections as '<filter_id>~<option_id>' pairs, e.g. '2470~7175' (Material: Genuine Leather). Several stack as AND. Call the `filters` action for the valid pairs of a category. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/category/products2 creditsBrowse one Wayfair category — the same 48-listing grid as search, for a category id. Facets stack with `filters`: Sofas alone is 278,015 listings, Sofas + Genuine Leather + Seats 3 is about 1,170, and the two result sets do not overlap at all on page 1.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| category | required | — | Wayfair category id (e.g. 413892 for Sofas) or any category URL. |
| page = 1 | optional | 1–50 | Result page. Wayfair serves 48 listings per page. |
| filters | optional | — | Wayfair facet selections as '<filter_id>~<option_id>' pairs, e.g. '2470~7175' (Material: Genuine Leather). Several stack as AND. Call the `filters` action for the valid pairs of a category. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/brand/products2 creditsEvery listing Wayfair publishes for one of its house or partner brands (Mercer41, Latitude Run, AllModern…), by brand id or brand-page URL.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| brand | required | — | Wayfair brand id (e.g. 40128 for Latitude Run) or the brand URL. |
| page = 1 | optional | 1–50 | Result page. Wayfair serves 48 listings per page. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/filters1 creditEvery facet Wayfair offers for a keyword or a category, with the ids needed to build a filtered call: material, colour, size, brand, style, seating capacity, customer rating, availability, assembly, sustainability and the rest — plus the price buckets, the sort options the page offers, and the neighbouring categories.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| query | optional | — | Facets for a keyword search. |
| category | optional | — | Facets for a category id or URL. |
| filters | optional | — | Wayfair facet selections as '<filter_id>~<option_id>' pairs, e.g. '2470~7175' (Material: Genuine Leather). Several stack as AND. Call the `filters` action for the valid pairs of a category. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/product/detail2 creditsThe full Wayfair product record for one SKU (and, when given, one option): title, brand, price and was-price, sale badge, rating and review count, stock, delivery promise, description, the specification table, structured dimensions and weight, assembly, warranty, certifications, breadcrumbs, every image, and every colour / fabric / size option with its own product URL and stock status.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| sku | required | — | Wayfair SKU, e.g. W117906390 — or the full product URL. |
| option_id | optional | — | One option (colour / fabric / size) of the listing, as published in `option_groups[].options[].option_id`. The price, images and stock all follow the option. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/product/reviews2 creditsThe review block Wayfair serves on a product page: the star average, the review count, Wayfair's own AI summary of what customers say, the sentiment aspects, and the five most recent reviews with rating, body, date, reviewer and incentive badge. The source serves only those five without an account — `has_more_on_source` says whether more exist.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| sku | required | — | Wayfair SKU, e.g. W117906390 — or the full product URL. |
| option_id | optional | — | One option (colour / fabric / size) of the listing, as published in `option_groups[].options[].option_id`. The price, images and stock all follow the option. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
/wayfair/v1/product/options4 creditsEvery option of a listing WITH ITS OWN PRICE. Wayfair prices each colour and size separately — one sofa measured $264.99 / $289.99 / $499.99 / $269.99 across four fabrics — and only the option's own page carries its price, so this action reads them. Costs one upstream page per option, which is why it is priced above `product/detail`.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| sku | required | — | Wayfair SKU, e.g. W117906390 — or the full product URL. |
| max_options = 6 | optional | 1–10 | How many options to price. Each one is a separate page on the source. |
| max_rotations = 6 | optional | 1–12 | How many times to retry on a different route out when the site paces the request. Higher = slower but more reliable. |
curl -X POST https://api.reefapi.com/wayfair/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"sofa"}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}