Wayfair Search API searches products by keyword and returns 48 products per page with price, sale price, rating, review count, delivery promise, stock message, images and the sponsored flag. Page with page. Search has no sort: Wayfair drops it when it hands a keyword to a category. The answer carries the filter tree and, when Wayfair hands the search to a category, the category_url: take the category id from it and use the category route to sort and filter.
Completeness: a page is only returned when it is the requested page, in the requested sort and fully loaded. Some keywords that Wayfair does not hand to a category only render 30 of 48 products; those requests fail with 503 and are not billed. Try a more specific term or use the category route. Wayfair UK uses its own words, so try the UK term (for example bookcase for bookshelf).
Sponsored cards: cards with sponsored: true are paid placements. They are outside the ranking and can show a higher or lower price than their neighbours.
Credits: 1 credit per successful request. Failed requests are not billed.
Run this endpoint
Endpoint
Parameters
Start with the required fields, then add optional filters only when your use case needs them.
Runnable path
1 required parameter needed before sending a request.
2 optional filters available.
string
Required
Search keyword, 2 to 100 characters. Example: sofa.
coffee shops
integer
Optional
One-based page number, 1 to 100 (default 1).
1
string
Optional
Storefront: com (default), ca or co.uk. SKUs, slugs and category ids differ per storefront: use ids from the same storefront.
example.com
Response Schema
Example response fields are illustrative; inspect the JSON before integrating.
Example response fields
Scan these fields before integrating.
data
meta
success
{
"data": {
"sort": "recommended",
"query": "sofa",
"filters": [
{
"id": "2479",
"max": 1000000,
"min": 0,
"name": "Price Per Item",
"type": "range",
"unit": "$",
"ranges": [
{
"max": 500,
"min": 0,
"name": "Under $500",
"selected": false
},
{
"max": 1000,
"min": 500,
"name": "$500 to $1,000",
"selected": false
},
{
"max": 2000,
"min": 1000,
"name": "$1,000 to $2,000",
"selected": false
}
],
"options": []
},
{
"id": "161199",
"max": null,
"min": null,
"name": "Custom Product",
"type": "options",
"unit": null,
"ranges": [],
"options": [
{
"id": "592771",
"name": "Yes",
"enabled": true,
"selected": false
},
{
"id": "592772",
"name": "No",
"enabled": true,
"selected": false
}
]
}
],
"products": [
{
"sku": "W113009307",
"url": "https://www.wayfair.com/furniture/pdp/lark-manor-57-upholstered-loveseat-classic-aloejasper-linen-w900000.html",
"flag": null,
"brand": "Lark Manor\u2122",
"price": {
"amount": 599.99,
"currency": "USD"
},
"title": "57\" Upholstered Loveseat - Classic Aloe/Jasper Linen",
"rating": 0,
"on_sale": true,
"delivery": {
"promise": "FREE Delivery",
"estimated_arrival": null
},
"position": 1,
"sponsored": true,
"image_urls": [
"https://assets.wfcdn.com/im/00000000/resize-h800-w800%5Ecompr-r85/3886/388615376/image.jpg",
"https://assets.wfcdn.com/im/00000000/resize-h800-w800%5Ecompr-r85/3886/388615368/image.jpg"
],
"variant_id": "AZ37092405",
"review_count": 0,
"is_best_value": false,
"savings_label": null,
"stock_message": "414 Left in Stock",
"original_price": {
"amount": 629.99,
"currency": "USD"
},
"savings_percent": 5,
"selected_options": []
}
],
"pagination": {
"page": 2,
"total": 876,
"per_page": 48,
"total_pages": 19,
"has_next_page": true
},
"category_url": "https://www.wayfair.com/furniture/sb0/sofas-c413892.html",
"applied_filters": []
},
"meta": {
"credits": 1,
"billable": true,
"endpoint_family": "search"
},
"success": true
}
Errors
Handle these documented responses before retrying or showing customer-facing failures.
Validation Error
A parameter is missing or invalid, or an id does not belong to the request. This response is not billable.
{
"errors": {
"domain": [
"The domain must be com, ca or co.uk."
]
},
"message": "The request validation failed"
}Upstream Unavailable
Wayfair could not be reached, blocked the request or returned data that does not match the request (another page, another sort, a partly loaded grid). This response is not billable and is retryable.
{
"meta": {
"billable": false,
"retryable": true,
"endpoint_family": "search"
},
"error": {
"code": "UPSTREAM_UNAVAILABLE",
"message": "Wayfair could not be reached. Please retry shortly."
},
"success": false
}Generate Code with AI
Copy a ready-made prompt with all the endpoint details, parameters, and example responses. Paste it into ChatGPT, Claude, or any AI assistant to instantly generate working code.
Try It Live
Test this endpoint in our interactive playground with real data.