# Wayfair Scraper — Furniture Prices, Specs & Reviews (`khadinakbar/wayfair-scraper`) Actor

Scrape Wayfair by keyword, category/listing URL, or product URL: title, price, original price, savings, rating, review count, brand, SKU, availability, breadcrumbs, images, and (with detail enrichment) specs, dimensions, materials, description + optional customer reviews. PPE. MCP-ready.

- **URL**: https://apify.com/khadinakbar/wayfair-scraper.md
- **Developed by:** [Khadin Akbar](https://apify.com/khadinakbar) (community)
- **Categories:** E-commerce, MCP servers, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 wayfair product scrapeds

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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 — Furniture Prices, Specs & Ratings

Scrape **Wayfair** furniture and home‑goods listings by keyword, category/listing URL, or product URL. Get clean, structured records — **title, current price, original price, savings, star rating, review count, brand, SKU, availability, breadcrumbs, and images** — plus full **specs, dimensions, materials, and description** when detail enrichment is on. Works across **Wayfair.com (US), Wayfair.ca (CA), Wayfair.co.uk (UK), and Wayfair.ie (IE)**. MCP‑ready for AI agents.

> Wayfair runs aggressive bot protection (Akamai + PerimeterX). This Actor uses a stealth browser through residential/mobile proxies to fetch real, rendered pages — so you get the same data a shopper sees.

---

### What you can do

- **Keyword search** — pass a search term (e.g. `office chair`, `sectional sofa`) and collect product cards across paginated results.
- **Category / listing URLs** — paste any Wayfair listing URL (`/keyword.php?keyword=…` or a category page like `/furniture/sb0/sofas-c413892.html`) and the Actor walks the pages.
- **Product URLs** — paste `/.../pdp/…-w12345678.html` links to get one full detail record each (specs, dimensions, materials, description, image gallery).
- **Detail enrichment** — turn on `enrichProductDetails` to upgrade every search/listing result with full product‑page data.
- **Filter** — `minPrice`, `maxPrice`, `minRating`, and `sortBy` (relevance, price low→high, price high→low, top rated, newest).

#### Who it's for

Furniture resellers and dropshippers (competitor SKU + price monitoring), retail price‑monitoring SaaS, interior designers sourcing by dimensions/materials, procurement teams, market researchers, and AI shopping agents.

---

### Output

Each record is one product (`recordType: "product"`). Listing/search mode returns card‑level fields; product‑URL mode and `enrichProductDetails` add the full detail set.

```json
{
  "recordType": "product",
  "title": "Lundgren Faux Leather Task Chair with Padded Arms",
  "productUrl": "https://www.wayfair.com/furniture/pdp/ophelia-co-lundgren-faux-leather-task-chair-with-padded-arms-kthm2748.html",
  "sku": "KTHM2748",
  "brand": "Ophelia & Co.",
  "price": 164.99,
  "originalPrice": 379.90,
  "savings": 214.91,
  "savingsPercent": 57,
  "currency": "USD",
  "rating": 4.6,
  "reviewCount": 3478,
  "availability": "In Stock",
  "imageUrl": "https://assets.wfcdn.com/im/.../resize-h800-w800/...jpg",
  "breadcrumbs": ["Furniture", "Office Furniture", "Office Chairs"],
  "category": "Office Furniture",
  "subCategory": "Office Chairs",
  "dimensions": "40'' H X 22.2'' W X 26'' D",
  "weight": "26 lb.",
  "material": "Manufactured Wood",
  "specs": { "Seat": "22.2'' H X 19.2'' W X 20.5'' D", "Overall Product Weight": "26 lb." },
  "position": 1,
  "searchQuery": "office chair",
  "site": "wayfair.com",
  "scrapedAt": "2026-06-21T00:00:00.000Z"
}
````

#### Fields

| Field | Type | Description |
|---|---|---|
| `title` | string | Product name |
| `productUrl` | string | Canonical product page URL |
| `sku` | string | Wayfair SKU (e.g. `W118077895`, `KTHM2748`) |
| `brand` | string | Manufacturer / brand (detail mode) |
| `price` | number | Current price in the marketplace currency |
| `originalPrice` | number | List/strike‑through price before discount |
| `savings` / `savingsPercent` | number | Dollar and percent savings |
| `currency` | string | USD / CAD / GBP / EUR by marketplace |
| `rating` | number | Average star rating (0–5) |
| `reviewCount` | number | Total review count |
| `availability` | string | Stock status |
| `imageUrl` / `images` | string / array | Lead image + gallery (detail mode) |
| `breadcrumbs` / `category` / `subCategory` | array / string | Category path (detail mode) |
| `dimensions` / `weight` / `material` / `color` | string | Parsed from the spec table (detail mode) |
| `description` | string | Product description (detail mode) |
| `features` / `specs` | array / object | Feature bullets + full spec map (detail mode) |
| `position` | number | Result rank within the run |
| `searchQuery` / `site` / `sourceUrl` | string | Provenance |
| `scrapedAt` | string | ISO 8601 timestamp |

Download the dataset as **JSON, CSV, Excel, XML, or RSS**.

***

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `searchQuery` | string | `office chair` | Keyword to search Wayfair |
| `startUrls` | string\[] | `[]` | Wayfair search, category, or `/pdp/` product URLs (auto‑detected) |
| `maxResults` | integer | `100` | Max product records (cost ceiling) |
| `country` | enum | `com` | `com`, `ca`, `co.uk`, `ie` |
| `sortBy` | enum | `relevance` | `relevance`, `price_low_to_high`, `price_high_to_low`, `top_rated`, `newest` |
| `minPrice` / `maxPrice` | integer | — | Price bounds (marketplace currency) |
| `minRating` | integer | — | Minimum star rating (0–5) |
| `enrichProductDetails` | boolean | `false` | Visit each product page for full specs/dimensions/description |
| `proxyConfiguration` | object | Apify Proxy | Override proxy (residential strongly recommended) |

#### Examples

Keyword search:

```json
{ "searchQuery": "sectional sofa", "maxResults": 50, "sortBy": "top_rated" }
```

Product URLs (full detail):

```json
{ "startUrls": ["https://www.wayfair.com/furniture/pdp/...-w12345678.html"] }
```

Category with enrichment + price filter:

```json
{ "startUrls": ["https://www.wayfair.com/furniture/sb0/sofas-c413892.html"], "enrichProductDetails": true, "maxPrice": 800 }
```

***

### Pricing (Pay Per Event)

| Event | Price |
|---|---|
| Actor start | $0.00005 |
| Product scraped | $0.004 |

You're charged only for products returned in the dataset; products dropped by your filters are not billed. `maxResults` is your hard cost ceiling. Pay‑Per‑Usage (compute + proxy) is also available.

***

### Reliability & proxies

Wayfair uses **Akamai + PerimeterX**, which block datacenter IPs and non‑browser requests outright. This Actor runs a **stealth Chromium browser** and defaults to a **residential/mobile proxy gateway**. If you supply your own `proxyConfiguration`, use **residential** proxies for dependable results. If every request is blocked, the run **fails honestly** with a clear message rather than returning an empty "success".

***

### Use with AI agents (MCP)

This Actor is exposed in the Apify MCP server as `apify--wayfair-scraper`. Agents pass a `searchQuery` or `startUrls` and receive structured JSON. Input descriptions are written for LLM routing (when to use, accepted format, disambiguators).

***

### FAQ

**Does it work outside the US?** Yes — set `country` to `ca`, `co.uk`, or `ie`. Prices/currency follow the marketplace.

**Why are some detail fields empty in search mode?** Search cards expose price, rating, reviews, image, and SKU. Turn on `enrichProductDetails` (or pass product URLs) for specs, dimensions, materials, and description.

**Can I scrape a whole category?** Yes — paste the category URL in `startUrls`; the Actor auto‑paginates until `maxResults`.

**Does it scrape customer reviews?** Not in this version — it returns the product's aggregate `rating` and `reviewCount`. Individual review text is planned for a later release.

***

### Legal

Use this Actor responsibly and in compliance with Wayfair's Terms of Service and applicable laws (including data‑protection regulations). Scrape only publicly available data, respect rate limits, and do not use the data for unlawful purposes. You are responsible for how you use the collected data. This Actor is not affiliated with or endorsed by Wayfair.

# Actor input Schema

## `searchQuery` (type: `string`):

Free-text keyword to search Wayfair (e.g. 'office chair', 'sectional sofa'). The Actor opens Wayfair's search-results pages and collects product cards across pages up to your Max results cap. Leave empty if you instead paste Start URLs. NOT a single product URL — for one product, paste a /pdp/ link into Start URLs.

## `startUrls` (type: `array`):

Optional list of Wayfair URLs: keyword/search pages (/keyword.php?keyword=...), category/browse pages (e.g. /furniture/sb0/sofas-c413892.html), or product detail pages (/.../pdp/...-w12345678.html). Each URL's type is auto-detected — listing URLs are paginated for product cards; product URLs return one full detail record. Plain https strings only; non-Wayfair URLs are skipped.

## `maxResults` (type: `integer`):

Maximum number of product records to return across all sources. The Actor auto-paginates listing pages until this cap is hit, then stops, so it doubles as your product cost ceiling (each product is one billable event). Defaults to 100. Reviews, when enabled, are billed separately and are not counted against this cap.

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

Which Wayfair storefront to search: 'com' (United States, default), 'ca' (Canada), 'co.uk' (United Kingdom), or 'ie' (Ireland). Prices and currency reflect the chosen marketplace, and the residential proxy exit country is matched automatically. Ignored for Start URLs, which use their own domain.

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

Order Wayfair returns search/listing results in: 'relevance' (default best match), 'price\_low\_to\_high', 'price\_high\_to\_low', 'top\_rated', or 'newest'. Applies to keyword searches and category Start URLs; ignored for product Start URLs. Use 'top\_rated' to surface the best-reviewed items first.

## `minPrice` (type: `integer`):

Only return products whose current price is at or above this value, in the marketplace currency. Applied as a Wayfair URL filter and re-checked on the parsed price. Filtered products are not billed. Leave empty for no minimum.

## `maxPrice` (type: `integer`):

Only return products whose current price is at or below this value, in the marketplace currency. Applied as a Wayfair URL filter and re-checked on the parsed price. Filtered products are not billed. Leave empty for no maximum.

## `minRating` (type: `integer`):

Drop products whose average star rating (0–5) is below this value, or whose rating is unknown when this is set. Applied after extraction; filtered products are not billed. Useful to keep only well-reviewed items. Leave empty to keep all ratings.

## `enrichProductDetails` (type: `boolean`):

When scraping from keyword/listing sources, also open each product's detail page to add breadcrumbs, full specs, dimensions, materials, description, feature bullets, and the high-res image gallery (slower: one extra request per product). Product Start URLs always return full detail regardless of this flag. Default false keeps listing runs fast and cheap; each enriched product is still billed once.

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

Proxy used for requests. Wayfair runs Akamai + PerimeterX and blocks datacenter IPs, so residential proxies are strongly recommended for reliable results. Defaults to Apify Proxy. The Actor automatically prefers a configured residential gateway and falls back through available proxy tiers.

## Actor input object example

```json
{
  "searchQuery": "sectional sofa",
  "startUrls": [],
  "maxResults": 10,
  "country": "com",
  "sortBy": "relevance",
  "enrichProductDetails": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

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

All product (and optional review) records found across the search/listing/product pages. Download as JSON, CSV, Excel, HTML, or RSS.

# 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 = {
    "searchQuery": "office chair",
    "startUrls": [],
    "maxResults": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("khadinakbar/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 = {
    "searchQuery": "office chair",
    "startUrls": [],
    "maxResults": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

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

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "office chair",
  "startUrls": [],
  "maxResults": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call khadinakbar/wayfair-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=khadinakbar/wayfair-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wayfair Scraper — Furniture Prices, Specs & Reviews",
        "description": "Scrape Wayfair by keyword, category/listing URL, or product URL: title, price, original price, savings, rating, review count, brand, SKU, availability, breadcrumbs, images, and (with detail enrichment) specs, dimensions, materials, description + optional customer reviews. PPE. MCP-ready.",
        "version": "1.0",
        "x-build-id": "Fk9H0JNmqq2DY00eC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/khadinakbar~wayfair-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-khadinakbar-wayfair-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/khadinakbar~wayfair-scraper/runs": {
            "post": {
                "operationId": "runs-sync-khadinakbar-wayfair-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/khadinakbar~wayfair-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-khadinakbar-wayfair-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Search keyword",
                        "type": "string",
                        "description": "Free-text keyword to search Wayfair (e.g. 'office chair', 'sectional sofa'). The Actor opens Wayfair's search-results pages and collects product cards across pages up to your Max results cap. Leave empty if you instead paste Start URLs. NOT a single product URL — for one product, paste a /pdp/ link into Start URLs."
                    },
                    "startUrls": {
                        "title": "Start URLs (search, category, or product pages)",
                        "type": "array",
                        "description": "Optional list of Wayfair URLs: keyword/search pages (/keyword.php?keyword=...), category/browse pages (e.g. /furniture/sb0/sofas-c413892.html), or product detail pages (/.../pdp/...-w12345678.html). Each URL's type is auto-detected — listing URLs are paginated for product cards; product URLs return one full detail record. Plain https strings only; non-Wayfair URLs are skipped.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxResults": {
                        "title": "Max results (products)",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of product records to return across all sources. The Actor auto-paginates listing pages until this cap is hit, then stops, so it doubles as your product cost ceiling (each product is one billable event). Defaults to 100. Reviews, when enabled, are billed separately and are not counted against this cap.",
                        "default": 100
                    },
                    "country": {
                        "title": "Wayfair marketplace",
                        "enum": [
                            "com",
                            "ca",
                            "co.uk",
                            "ie"
                        ],
                        "type": "string",
                        "description": "Which Wayfair storefront to search: 'com' (United States, default), 'ca' (Canada), 'co.uk' (United Kingdom), or 'ie' (Ireland). Prices and currency reflect the chosen marketplace, and the residential proxy exit country is matched automatically. Ignored for Start URLs, which use their own domain.",
                        "default": "com"
                    },
                    "sortBy": {
                        "title": "Sort results by",
                        "enum": [
                            "relevance",
                            "price_low_to_high",
                            "price_high_to_low",
                            "top_rated",
                            "newest"
                        ],
                        "type": "string",
                        "description": "Order Wayfair returns search/listing results in: 'relevance' (default best match), 'price_low_to_high', 'price_high_to_low', 'top_rated', or 'newest'. Applies to keyword searches and category Start URLs; ignored for product Start URLs. Use 'top_rated' to surface the best-reviewed items first.",
                        "default": "relevance"
                    },
                    "minPrice": {
                        "title": "Minimum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return products whose current price is at or above this value, in the marketplace currency. Applied as a Wayfair URL filter and re-checked on the parsed price. Filtered products are not billed. Leave empty for no minimum."
                    },
                    "maxPrice": {
                        "title": "Maximum price",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Only return products whose current price is at or below this value, in the marketplace currency. Applied as a Wayfair URL filter and re-checked on the parsed price. Filtered products are not billed. Leave empty for no maximum."
                    },
                    "minRating": {
                        "title": "Minimum star rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Drop products whose average star rating (0–5) is below this value, or whose rating is unknown when this is set. Applied after extraction; filtered products are not billed. Useful to keep only well-reviewed items. Leave empty to keep all ratings."
                    },
                    "enrichProductDetails": {
                        "title": "Enrich with product detail pages",
                        "type": "boolean",
                        "description": "When scraping from keyword/listing sources, also open each product's detail page to add breadcrumbs, full specs, dimensions, materials, description, feature bullets, and the high-res image gallery (slower: one extra request per product). Product Start URLs always return full detail regardless of this flag. Default false keeps listing runs fast and cheap; each enriched product is still billed once.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy used for requests. Wayfair runs Akamai + PerimeterX and blocks datacenter IPs, so residential proxies are strongly recommended for reliable results. Defaults to Apify Proxy. The Actor automatically prefers a configured residential gateway and falls back through available proxy tiers.",
                        "default": {
                            "useApifyProxy": true
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
