# Wayfair Scraper (`parsebird/wayfair-scraper`) Actor

Scrape Wayfair products by keyword, URL, category, brand, or SKU across the US, CA, UK, and IE storefronts. Get SKU, title, brand, price, previous price, rating, reviews, image, and promo flags.

- **URL**: https://apify.com/parsebird/wayfair-scraper.md
- **Developed by:** [ParseBird](https://apify.com/parsebird) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.99 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Wayfair Scraper

Scrape [Wayfair](https://www.wayfair.com/) products by keyword, URL, category, brand, or SKU and get clean, structured data — SKU, title, brand, current price, previous price, currency, rating, review count, image, breadcrumbs, and promo flags — across the US, Canada, UK, and Ireland storefronts, with no Wayfair API key and no browser automation.

<table><tr>
<td style="border-left:4px solid #7B1FA2;padding:12px 16px;font-weight:600">
Five input modes (search, by URL, by category, by brand, by SKU), four regional storefronts (wayfair.com, wayfair.ca, wayfair.co.uk, wayfair.ie), price and rating filters, six sort orders, automatic pagination, and optional product-detail enrichment that adds brand, full description, breadcrumbs, category, and a high-resolution image to every result — exported as JSON, CSV, or Excel.
</td>
</tr></table>

##### Copy to your AI assistant

Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.

```
Use the Apify actor "parsebird/wayfair-scraper" via the ApifyClient. Example (Python): from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/wayfair-scraper").call(run_input={"mode": "search", "country": "com", "text": "sofa", "sortBy": "top_rated", "maxItems": 50}); items = list(client.dataset(run["defaultDatasetId"]).iterate_items()). Key inputs: mode (one of search, byUrl, byCategory, byBrand, byProduct), country (one of com, ca, co.uk, ie), text (keyword for search mode), category (top-level Wayfair category for byCategory mode), brand (brand name for byBrand mode), urls (array of Wayfair URLs for byUrl mode), skus (array of Wayfair SKUs like W118077895 for byProduct mode), sortBy (relevance, price_low_to_high, price_high_to_low, top_rated, newest, best_seller), priceMin / priceMax (integers), ratingMin (float 0-5), fetchProductDetails (boolean, enrich every listing card from its product page), maxItems (integer), maxPagesPerListing (integer), proxyConfiguration (defaults to Apify Proxy Unblocker group, which is required). Output fields per product: sku, title, brand, productUrl, canonicalUrl, price, previousPrice, currency, ratingValue, reviewCount, imageUrl, description, breadcrumbs, category, subCategory, promoFlag, percentOff, isSponsored, country, siteName, recordType, scrapedAt, sourceUrl. Full API spec: https://apify.com/parsebird/wayfair-scraper/api. Get an API token at https://console.apify.com/settings/integrations.
```

### What is Wayfair Scraper?

Wayfair Scraper is a **Wayfair data extraction tool** that pulls product listings from [Wayfair.com](https://www.wayfair.com/) and its regional storefronts the same way the Wayfair website loads them — from Wayfair's own embedded product data — so you get structured fields instead of text scraped off a rendered page. It is a lightweight **Wayfair API alternative**: no reverse-engineering, no headless browser, no login.

The **Wayfair scraper** works across four storefronts — **Wayfair.com** (US), **Wayfair.ca** (Canada), **Wayfair.co.uk** (UK), and **Wayfair.ie** (Ireland) — and accepts five kinds of input so you can start from a keyword, a URL you already have, a category, a brand, or a list of SKUs.

### What can Wayfair Scraper do?

- 🔎 **Five input modes** — `search` (free-text keyword), `byUrl` (paste any Wayfair search, category, brand, or product URL — the kind and storefront are auto-detected), `byCategory` (browse a top-level Wayfair category), `byBrand` (brand-scoped keyword search), and `byProduct` (look up products by SKU).
- 🌍 **Four regional storefronts** — collect prices and assortment from Wayfair US, Canada, UK, and Ireland, each with its own currency.
- ↕️ **Six sort orders** — relevance, price low to high, price high to low, top rated, newest, and best seller.
- 💰 **Price and rating filters** — drop products outside a `priceMin`/`priceMax` band or below a `ratingMin` threshold before they are saved.
- 📄 **Automatic pagination** — set a `maxItems` target and the Wayfair scraper pages through listing results (about 48 products per page) on its own, de-duplicating by SKU.
- 🧩 **Optional product-detail enrichment** — set `fetchProductDetails` to `true` to open every listing card's product page and add brand, full description, breadcrumbs, category, sub-category, and a high-resolution image.
- ☁️ **Runs on Apify** — [schedule](https://docs.apify.com/platform/schedules) recurring runs, call it from the [API](https://docs.apify.com/api/v2), connect it to [integrations](https://apify.com/integrations) (Make, Zapier, n8n, Google Sheets, Slack), and export as JSON, CSV, Excel, or XML.

### What data can you extract from Wayfair?

| Field | Description |
|-------|-------------|
| `sku` | Wayfair SKU — a stable key for the product, e.g. `W118077895` or `CXVA1530` |
| `title` | Product name as shown on the Wayfair listing |
| `brand` | Manufacturer / brand name, e.g. `Latitude Run` |
| `productUrl` | Direct link to the Wayfair product detail page |
| `canonicalUrl` | Canonical product URL |
| `price` | Current price as a number, e.g. `689.99` |
| `previousPrice` | Strikethrough / "was" price before the discount |
| `currency` | Currency code for the storefront: `USD`, `CAD`, `GBP`, or `EUR` |
| `ratingValue` | Average star rating from `0` to `5` |
| `reviewCount` | Number of customer reviews |
| `imageUrl` | Product image URL |
| `description` | Full product description (added by `fetchProductDetails`) |
| `breadcrumbs` | Category path as a list (added by `fetchProductDetails`) |
| `category` | Top-level category from the breadcrumbs |
| `subCategory` | Deepest category from the breadcrumbs |
| `promoFlag` | Deal badge on the card, e.g. `Labor Day Deal`, `72-Hour Clearout` |
| `percentOff` | Discount percentage when the item is on sale |
| `isSponsored` | Whether the listing is a sponsored (paid) placement |
| `country` | Storefront token: `com`, `ca`, `co.uk`, or `ie` |
| `scrapedAt` | ISO 8601 timestamp when the data was extracted |
| `sourceUrl` | The Wayfair listing or search URL the record came from |

Download results in JSON, CSV, Excel, or XML.

### How to scrape Wayfair product data

1. Click **Try for free** / **Start** to open the Wayfair Scraper.
2. Choose a **Mode**: `search`, `byUrl`, `byCategory`, `byBrand`, or `byProduct`.
3. Pick a **Storefront** (`Wayfair.com`, `Wayfair.ca`, `Wayfair.co.uk`, or `Wayfair.ie`).
4. Fill the field for your mode — a **Search keyword** (e.g. `sofa`), a list of **Wayfair URLs**, a **Category**, a **Brand**, or a list of **SKUs**.
5. Optionally set **Sort by**, **Minimum / maximum price**, **Minimum rating**, and turn on **Fetch product details** for richer output.
6. Keep the default **Proxy configuration** (Apify Proxy, Unblocker group) — it is required to reach Wayfair.
7. Press **Start**. Results stream into the dataset as they are collected.
8. Open the **Storage** tab and export as JSON, CSV, Excel, or XML, or pull them from the [API](https://docs.apify.com/api/v2).

### Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `mode` | string | **Yes** | `search` | `search`, `byUrl`, `byCategory`, `byBrand`, or `byProduct`. |
| `country` | string | No | `com` | Storefront: `com` (US), `ca` (Canada), `co.uk` (UK), `ie` (Ireland). Auto-detected per URL in `byUrl` mode. |
| `text` | string | For `search` | `sofa` | Free-text search keyword. |
| `category` | string | For `byCategory` | `Furniture` | Top-level Wayfair category: Furniture, Outdoor, Decor & Pillows, Rugs, Kitchen & Tabletop, Bed & Bath, Lighting, Storage & Organization, Appliances, Home Improvement, Baby & Kids, Holiday Decor, Office, Pet. |
| `brand` | string | For `byBrand` | — | Brand name, e.g. `Latitude Run`. |
| `urls` | array | For `byUrl` | `[]` | Wayfair search, category, brand, or product URLs. |
| `skus` | array | For `byProduct` | `[]` | Wayfair SKUs, e.g. `W118077895`, `CXVA1530`. |
| `sortBy` | string | No | `relevance` | `relevance`, `price_low_to_high`, `price_high_to_low`, `top_rated`, `newest`, `best_seller`. |
| `priceMin` | integer | No | — | Drop products priced below this value. |
| `priceMax` | integer | No | — | Drop products priced above this value. |
| `ratingMin` | number | No | — | Drop products rated below this value (`0.0`–`5.0`). |
| `fetchProductDetails` | boolean | No | `false` | Enrich every listing card with product-page data. |
| `maxItems` | integer | No | `100` | Hard cap on saved products across all seeds. |
| `maxPagesPerListing` | integer | No | `10` | Max paginated listing pages per seed (~48 products per page). |
| `proxyConfiguration` | object | No | Apify Unblocker | Apify Proxy settings. The Unblocker group is the default and is required. |

#### Input examples

**Keyword search (search):**

```json
{
    "mode": "search",
    "country": "com",
    "text": "sofa",
    "sortBy": "top_rated",
    "maxItems": 50
}
```

**By URL — paste any Wayfair search, category, brand, or product URL:**

```json
{
    "mode": "byUrl",
    "urls": [
        "https://www.wayfair.com/furniture/cat/sofas-c413894.html",
        "https://www.wayfair.com/furniture/pdp/latitude-run-ilkeston-vegan-leather-manual-reclining-sofa-cxva1530.html"
    ]
}
```

**By category:**

```json
{
    "mode": "byCategory",
    "country": "com",
    "category": "Lighting",
    "sortBy": "newest"
}
```

**By brand:**

```json
{
    "mode": "byBrand",
    "country": "com",
    "brand": "Latitude Run"
}
```

**By product SKU:**

```json
{
    "mode": "byProduct",
    "country": "com",
    "skus": ["W118077895", "CXVA1530"]
}
```

### Output example

```json
{
    "sku": "CXVA1530",
    "title": "Ilkeston 81.6\" Wide Vegan Leather Manual Reclining Sofa",
    "brand": "Latitude Run",
    "productUrl": "https://www.wayfair.com/furniture/pdp/latitude-run-emony-816-wide-vegan-leather-manual-reclining-sofa-cxva1530.html",
    "canonicalUrl": "https://www.wayfair.com/furniture/pdp/latitude-run-emony-816-wide-vegan-leather-manual-reclining-sofa-cxva1530.html",
    "price": 639.99,
    "previousPrice": 1098.99,
    "currency": "USD",
    "ratingValue": 4.64,
    "reviewCount": 791,
    "imageUrl": "https://assets.wfcdn.com/im/01165583/compr-r85/4699/469939744/Ilkeston+81.6+Wide+Vegan+Leather+Manual+Reclining+Sofa.jpg",
    "description": "This manual reclining sofa introduces a casual, modern look to your home...",
    "breadcrumbs": ["Furniture", "Living Room Furniture", "Sofas"],
    "category": "Furniture",
    "subCategory": "Sofas",
    "promoFlag": "72-Hour Clearout",
    "percentOff": 42,
    "isSponsored": false,
    "country": "com",
    "siteName": "Wayfair",
    "recordType": "product",
    "scrapedAt": "2026-05-08T17:24:33.123456+00:00",
    "sourceUrl": "https://www.wayfair.com/keyword.php?keyword=sofa"
}
```

### Use cases

- 💰 **Price monitoring** — track Wayfair prices, previous prices, and promo flags for a fixed list of SKUs or product URLs on a schedule.
- 📊 **Competitor and market research** — pull a full category's assortment, brands, and price bands from Wayfair search across regions.
- 🧭 **Assortment and rank tracking** — watch which products rank for a keyword and how sponsored placements shift over time.
- 🛍️ **Catalog and feed building** — collect titles, images, SKUs, and product URLs to seed a product database.
- ⭐ **Review-signal analysis** — combine `ratingValue` and `reviewCount` to find top-rated products in a niche.
- 🤖 **AI and RAG pipelines** — feed structured Wayfair product data to agents and LLM workflows via the Apify API or [MCP](https://docs.apify.com/platform/integrations/mcp).

### How it works

1. The actor turns your input into one or more listing or product seeds for the chosen storefront (`wayfair.com`, `wayfair.ca`, `wayfair.co.uk`, or `wayfair.ie`).
2. Listing seeds are crawled page by page (about 48 products per page) up to `maxItems` or `maxPagesPerListing`, and each product card is parsed into a flat record.
3. `byProduct` and product URLs resolve to the Wayfair product detail page, which is parsed for the full record.
4. When `fetchProductDetails` is on, each listing card's product page is fetched to add brand, description, breadcrumbs, category, and a high-resolution image.
5. Price and rating filters are applied, and records stream into the dataset as they are collected, so partial results are always available.
6. Requests are routed through Apify Proxy's Unblocker group, which clears Wayfair's bot challenge.

### How much does it cost to scrape Wayfair?

This actor uses **pay-per-result** pricing through a single event, `product-scraped`, charged once per product saved to the dataset.

| Plan tier | Price per 1,000 products |
|-----------|--------------------------|
| Free | **$1.99** |
| Bronze | **$1.49** |
| Silver | **$1.19** |
| Gold | **$0.99** |

Collecting 1,000 Wayfair products costs about **$0.99–$1.99** depending on your Apify plan, plus Apify Proxy and compute usage. Your Apify plan's monthly usage credits apply. Example: `maxItems: 100` for two keywords costs roughly **$0.20–$0.40**. Turning on `fetchProductDetails` does not change the per-result price but adds proxy traffic because each product page is fetched.

### FAQ

**Do I need a Wayfair API key or a Wayfair account?**
No. The actor reads Wayfair's public product data. There is nothing to authenticate.

**Why is a proxy required?**
Wayfair answers Apify datacenter and plain residential IPs with "Press & Hold" bot challenges. The default `proxyConfiguration` uses Apify Proxy's Unblocker group, which clears the challenge. Access to the Unblocker group is included on paid Apify plans.

**Which storefronts are supported?**
Wayfair.com (US), Wayfair.ca (Canada), Wayfair.co.uk (UK), and Wayfair.ie (Ireland). Set `country`, or paste storefront URLs in `byUrl` mode and the storefront is detected from each host.

**How many products can I get per keyword?**
Wayfair's listing pages return roughly 48 products per page. Use `maxItems` and `maxPagesPerListing` to control depth, and narrower keywords or a different `sortBy` to reach different slices of a large category.

**What is the difference between the modes?**
`search` and `byBrand` and `byCategory` all run a keyword-style listing crawl. `byUrl` accepts any Wayfair URL and auto-detects whether it is a listing or a product page. `byProduct` looks up each SKU and returns its product page record.

**How do I get the full description and breadcrumbs?**
Turn on `fetchProductDetails`. Without it, listing modes return the fields visible on the listing card (`description` and `breadcrumbs` stay empty). `byProduct` and product URLs always return the full record.

**How fresh is the data?**
Every record carries a `scrapedAt` timestamp and reflects Wayfair's live listing at the moment of the request. Schedule the actor to keep a price history.

**Can I schedule recurring runs?**
Yes. Use Apify [Schedules](https://docs.apify.com/platform/schedules) to run the Wayfair scraper hourly, daily, or weekly, and send results to [integrations](https://apify.com/integrations) like Google Sheets, Make, Zapier, or a webhook.

**How do I call it from code?**

Python:

```python
from apify_client import ApifyClient

client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("parsebird/wayfair-scraper").call(run_input={
    "mode": "search",
    "country": "com",
    "text": "sofa",
    "sortBy": "top_rated",
    "maxItems": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item["title"], item.get("price"), item.get("currency"))
```

JavaScript:

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<APIFY_TOKEN>' });
const run = await client.actor('parsebird/wayfair-scraper').call({
    mode: 'byProduct',
    country: 'com',
    skus: ['W118077895', 'CXVA1530'],
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**Something looks wrong or missing.**
Open an issue on the **Issues** tab with the input you used. Feedback is welcome and helps keep the Wayfair Scraper reliable.

### Is it legal to scrape Wayfair?

Web scraping of publicly available data is legal in most jurisdictions, including the US and EU, when you do not collect personal data or bypass authentication. This actor only reads public Wayfair product listings — no login, no personal data. You are responsible for how you use the collected data, including compliance with Wayfair's Terms of Service, applicable laws (GDPR, CCPA), and copyright. See Apify's [guide to the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/) for background.

### Related Apify actors

- [Walmart Product Scraper](https://apify.com/parsebird/walmart-product-scraper) — product listings and prices from Walmart.com
- [Target Product Scraper](https://apify.com/parsebird/target-product-scraper) — product listings from Target.com search
- [AliExpress Scraper](https://apify.com/parsebird/aliexpress-scraper) — AliExpress product and pricing data
- [Shopify Products Scraper](https://apify.com/parsebird/shopify-products-scraper) — full product catalogs from any Shopify store
- [Hepsiburada Scraper](https://apify.com/parsebird/hepsiburada-scraper) — Hepsiburada products, reviews, and Q\&A

Browse the full [ParseBird actor collection](https://apify.com/parsebird) for more e-commerce and marketplace scrapers.

# Actor input Schema

## `mode` (type: `string`):

How to find products. search = keyword search. byUrl = paste any Wayfair search, category, brand, or product URL. byCategory = browse a top-level Wayfair category. byBrand = brand-scoped keyword search. byProduct = look up products by SKU.

## `country` (type: `string`):

Which regional Wayfair storefront to scrape. In byUrl mode the storefront is auto-detected from each URL's host.

## `text` (type: `string`):

Free-text keyword to search the storefront catalog. Used in 'search' mode.

## `category` (type: `string`):

Top-level Wayfair category to browse. Used in 'byCategory' mode.

## `brand` (type: `string`):

Brand name for 'byBrand' mode, e.g. "Latitude Run" or "Mercury Row". The scraper runs a brand-scoped keyword search.

## `urls` (type: `array`):

Direct Wayfair URLs for 'byUrl' mode — search results, category, brand, or product detail pages. The URL kind and storefront are auto-detected.

## `skus` (type: `array`):

Wayfair SKUs for 'byProduct' mode, e.g. W118077895 or CXVA1530.

## `sortBy` (type: `string`):

Result order applied on Wayfair's own listing pages. Used in listing modes.

## `priceMin` (type: `integer`):

Drop products priced below this value (storefront currency).

## `priceMax` (type: `integer`):

Drop products priced above this value (storefront currency).

## `ratingMin` (type: `number`):

Drop products with an average rating below this value (0.0-5.0).

## `fetchProductDetails` (type: `boolean`):

For every listing card, also fetch the product detail page and add brand, full description, breadcrumbs, category, and a high-resolution image. Slower and uses more proxy traffic.

## `maxItems` (type: `integer`):

Hard cap on the number of products saved to the dataset across all seeds.

## `maxPagesPerListing` (type: `integer`):

Maximum number of paginated listing pages to crawl per seed. Each page holds about 48 products.

## `proxyConfiguration` (type: `object`):

Wayfair answers Apify datacenter and plain residential IPs with 'Press & Hold' bot challenges. The default (Apify Proxy Unblocker group) clears the challenge and is required for cloud runs. Access to the Unblocker group is included on paid Apify plans.

## Actor input object example

```json
{
  "mode": "search",
  "country": "com",
  "text": "sofa",
  "category": "Furniture",
  "urls": [],
  "skus": [],
  "sortBy": "relevance",
  "fetchProductDetails": false,
  "maxItems": 30,
  "maxPagesPerListing": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "mode": "search",
    "country": "com",
    "text": "sofa",
    "urls": [],
    "skus": [],
    "sortBy": "relevance",
    "maxItems": 30,
    "maxPagesPerListing": 3,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "UNBLOCKER"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parsebird/wayfair-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "mode": "search",
    "country": "com",
    "text": "sofa",
    "urls": [],
    "skus": [],
    "sortBy": "relevance",
    "maxItems": 30,
    "maxPagesPerListing": 3,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["UNBLOCKER"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("parsebird/wayfair-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "mode": "search",
  "country": "com",
  "text": "sofa",
  "urls": [],
  "skus": [],
  "sortBy": "relevance",
  "maxItems": 30,
  "maxPagesPerListing": 3,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "UNBLOCKER"
    ]
  }
}' |
apify call parsebird/wayfair-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parsebird/wayfair-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/pNyICdHNn9WV8K630/builds/g5WZeaNOViGy5KnIO/openapi.json
