# Wayfair Product Scraper

> Wayfair Product Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.04/call, status unknown (last checked 2026-10-02).

Scrapes structured product data (title, price, brand, SKU, ratings, URLs) from Wayfair search, category, brand, or product pages

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/wayfair?utm_source=zero.xyz
- Price: $0.04/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/wayfair-product-scraper-f0a839eb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_TSFNjuk13-fWdN39yKoyB

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability wayfair-product-scraper-f0a839eb -d '<json body>'
```

Example prompt: Search Wayfair for sectional sofas under $1,200 with at least a 4-star rating, sorted by price low to high, and give me up to 50 results from the US storefront.

## When to prefer this

Use this endpoint when you need structured product data from Wayfair — prices, titles, SKUs, ratings, and URLs — at scale, especially for search-based or SKU-based lookups across Wayfair's US, CA, UK, or IE storefronts. It is better than generic web scrapers because it handles Wayfair-specific pagination, proxy escalation, and returns consistently structured output. It is pay-per-successful-call, so failed or empty runs cost nothing.

## Known failure modes

- Empty results if keywords or SKUs return no matching products on Wayfair
- Proxy blocks causing incomplete data if residential proxy escalation fails
- Truncated results if maxItems or maxPages limits are hit before full catalog coverage
- Invalid SKU format returning no items
- Unsupported storefront country code causing lookup failure

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

A JSON object with a count of matched products and an array of product items, each containing SKU, brand, price, title, brand URL, variant ID, product URL, and canonical URL. Failed or empty runs are not charged.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "skus": {
   "type": "array",
   "description": "Public product identifiers to look up one by one when URLs are empty. Example: W117455547. Can be combined with a keyword."
  },
  "brand": {
   "type": "string",
   "description": "Search this brand when no keyword is given and keep products whose public brand name contains this text. Leave empty for all brands."
  },
  "proxy": {
   "type": "object",
   "default": {
    "useApifyProxy": true
   },
   "description": "Proxy configuration for public page requests. The actor starts with the standard proxy and escalates to residential on repeated blocks."
  },
  "sortBy": {
   "enum": [
    "relevance",
    "price_low_to_high",
    "price_high_to_low",
    "top_rated"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Sort products within the listing pages fetched by this run. Site order preserves the page order. Other choices sort the collected pages locally."
  },
  "country": {
   "enum": [
    "com",
    "ca",
    "co.uk",
    "ie"
   ],
   "type": "string",
   "default": "com",
   "description": "Storefront used for generated keyword and SKU searches. A full URL uses its own storefront. Default: United States."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "minimum": 1,
   "description": "Hard cap on rows written to the dataset. Default: 100."
  },
  "maxPages": {
   "type": "integer",
   "default": 3,
   "maximum": 80,
   "minimum": 1,
   "description": "Maximum listing pages to visit per URL using curpage pagination. Default: 3; one listing page usually contains about 48 products."
  },
  "priceMax": {
   "type": "number",
   "minimum": 0,
   "description": "Keep products priced at or below this amount in the storefront currency. Leave empty for no maximum."
  },
  "priceMin": {
   "type": "number",
   "minimum": 0,
   "description": "Keep products priced at or above this amount in the storefront currency. Leave empty for no minimum."
  },
  "ratingMin": {
   "type": "number",
   "maximum": 5,
   "minimum": 0,
   "description": "Keep rated products at or above this rating from 0 to 5. Unrated products are kept."
  },
  "startUrls": {
   "type": "array",
   "description": "Public search, category, brand, or product URLs on supported Wayfair storefronts. When set, these URLs take priority over the keyword and SKU fields. Example: https://www.wayfair.com/furniture/sb0/sofas-c413892.html."
  },
  "inStockOnly": {
   "type": "boo
… (truncated)
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "sku": null,
    "brand": null,
    "price": null,
    "title": null,
    "brandUrl": null,
    "variantId": null,
    "productUrl": null,
    "canonicalUrl": null
   }
  ],
  "product": "wayfair"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/wayfair-product-scraper-f0a839eb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
