Wayfair Product API
Scrape Wayfair product data effortlessly and get real-time, accurate results, without worrying about website restrictions.
To enable this engine, set the engine=wayfair_async parameter.
Scraping Wayfair product pages can be challenging due to various anti-scraping measures. Luckily, with the Wayfair API, you only need to send a POST request to our endpoint, and our powerful engine will handle all the complexities, returning the data you need quickly and efficiently.

Wayfair Product API Integration Examples
We will use following URL as an example for this request:
https://ecom.webscrapingapi.com/v1?engine=wayfair_async&api_key=<YOUR_API_KEY>&type=productWe will use this body for the POST request:
[{"url":"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930"}]Ready to Use Wayfair Product Scraping Scripts:
curl --request POST --url "https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product" --header "Content-Type: application/json" --data "[{"url":"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930"}]"const http = require("https");
const options = {
"method": "POST",
"hostname": "ecom.webscrapingapi.com",
"port": null,
"path": "/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product",
"headers": {
"Content-Type": "application/json"
}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.write("[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]");
req.end();import http.client
conn = http.client.HTTPSConnection("ecom.webscrapingapi.com")
payload = "[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]"
headers = { 'Content-Type': "application/json" }
conn.request("POST", "/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]",
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product"
payload := strings.NewReader("[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product")
.header("Content-Type", "application/json")
.body("[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]")
.asString();var client = new RestClient("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product");
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");
request.AddParameter("application/json", "[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);require 'uri'
require 'net/http'
require 'openssl'
url = URI("https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&engine=wayfair_async&type=product")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "[{\"url\":\"https://www.wayfair.com/baby-kids/pdp/oxfordbaby-harper-4-in-1-convertible-baby-crib-greenguard-gold-certified-w004666617.html?piid=386556049&auctionId=f8312e98-1796-4811-a317-061bc1893930\"}]"
response = http.request(request)
puts response.read_bodyOnce you send the POST request with the required parameters, the API will process your request and return a snapshot_id, which can be used to fetch the results via the Snapshot API.
Retrieving Results Using the Snapshot API
Once you've submitted a POST request to the Wayfair API and received a snapshot_id, you can use the Snapshot API to retrieve the processed results. This allows you to fetch data asynchronously once it's ready, ensuring smooth and efficient operation.
We will use following URL as an example of getting results from a snapshot_id
https://ecom.webscrapingapi.com/v1?api_key=<YOUR_API_KEY>&snapshot_id=s_m515ng7f2gvbyaz05eWhen the data is ready, the API will return a JSON response containing the scraped results. Here's an example of the response structure:
Last updated