# 1stDibs Scraper (`solidcode/1stdibs-com-scraper`) Actor

\[💰 $1.80 / 1K] Extract luxury 1stDibs listings — furniture, art, jewelry, watches, fashion, lighting, decor. Get titles, creators, prices, dimensions, materials, condition, images, and seller details (name, location, reviews, sales). Search by keyword, browse a category, or paste URLs.

- **URL**: https://apify.com/solidcode/1stdibs-com-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 1,000 results

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/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

## 1stDibs Scraper

Pull luxury product listings from 1stDibs at scale — titles, designers, prices in 10 currencies, dimensions, materials, condition, image galleries, and a full verified-seller profile on every item. Built for antique and art dealers, interior designers, and resellers who need 1stDibs inventory and seller intelligence without copy-pasting listings one page at a time.

### Why This Scraper?

- **8 luxury departments in one actor** — furniture, lighting, art, jewelry, watches, fashion, decor, and new arrivals, all from a single dropdown.
- **Live prices in 10 currencies** — every item returns a converted price across USD, GBP, EUR, CAD, AUD, CHF, DKK, SEK, NOK, and MXN, so you compare like-for-like across markets.
- **Full verified-seller intelligence** — dealer name, review score, review count, total lifetime sales, months active, direct phone number, and city/country for every item when full details are on.
- **Designer attribution and provenance** — creator/maker name plus production date ("20th Century", "1960s") on each piece for authentication and cataloging.
- **Exact specs per item** — height, width, and depth captured separately, plus materials and condition grade — not a single jumbled description string.
- **Comparable-sales pricing signal** — `priceRangeFromRecentSales` surfaces a clean estimated range (e.g. "$5,800 – $7,200") from recent sales of similar pieces, so you can spot under- and over-priced inventory.
- **"Price Upon Request" flagged explicitly** — a `priceVisibility` field marks every hidden-price listing as `upon_request`, so you can separate genuinely off-market luxury pieces from items with a published price instead of guessing at a blank price.
- **Three ways to target inventory** — type a keyword like "art deco mirror", browse a whole department, or paste any 1stDibs search, category, or product URL — mix them in one run.
- **Up to ~2,850 results per query** — sweeps deep through any search or category, with a Max Results cap so you always control spend.

### Use Cases

**Antique & Art Dealing**
- Track new arrivals across furniture, lighting, and art by department
- Authenticate pieces using designer attribution and production date
- Catalog inventory with dimensions, materials, and condition for each item
- Monitor what competing dealers are listing and at what prices

**Interior Design Sourcing**
- Build mood boards from full image galleries per item
- Source pieces by exact dimensions to fit a specific space
- Compare prices in your client's local currency
- Shortlist by condition grade before contacting the seller

**Reselling & Arbitrage**
- Spot under-priced pieces against the recent-sales price range
- Compare the same item's price across currencies and regions
- Pull a whole category to find pricing gaps and flip opportunities
- Track production dates and creators that command premiums

**Market & Price Research**
- Analyze price distribution across departments and designers
- Map how prices vary by seller country
- Benchmark a listing against its comparable-sales range
- Measure inventory depth in any category over time

**Dealer Lead Generation**
- Build dealer contact lists with name, phone, and location
- Rank sellers by review score, review count, and total sales
- Identify high-volume dealers by lifetime sales and tenure
- Target sellers in specific cities or countries

### Getting Started

#### Search by Keyword

The simplest way to start — just type what you're looking for:

```json
{
    "searchTerms": ["eames lounge chair"],
    "maxResults": 50
}
````

#### Browse a Whole Department

```json
{
    "searchTerms": ["art deco mirror"],
    "category": "decor",
    "currency": "EUR",
    "maxResults": 200
}
```

#### Paste 1stDibs URLs

Mix search, category, and product URLs — each is auto-detected:

```json
{
    "startUrls": [
        "https://www.1stdibs.com/furniture/seating/lounge-chairs/",
        "https://www.1stdibs.com/jewelry/rings/"
    ],
    "currency": "GBP",
    "maxResults": 500,
    "includeDetails": true
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | array | — | Paste 1stDibs search, category, or product URLs. Each URL's type is detected automatically; mix types freely in one run. |
| `searchTerms` | array | — | Keyword searches like "eames lounge chair" or "art deco mirror". No URL building needed — each term runs as a 1stDibs search. |

#### Search Filters

Applies to keyword searches only. When you paste URLs, all filters come from the URL itself.

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `category` | string | `all` | Limit keyword searches to one department: All, Furniture, Lighting, Art, Jewelry, Watches, Fashion, Decor, or New Arrivals. |
| `currency` | string | `USD` | Currency for the headline price on each item. Choose from USD, GBP, EUR, CAD, AUD, CHF, DKK, SEK, NOK, or MXN. |

#### Options

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Maximum products to return across all URLs and searches. Set to `0` for unlimited. Start with 10–50 to test, then scale up. |
| `includeDetails` | boolean | `true` | Open each product page for the richest data — full description, all dimensions, materials, condition, and the complete seller profile (phone, reviews, tenure, total sales). Off = summary fields only. |

### Output

Each product is one row. With **Include Full Product Details** on, every row is enriched with the complete seller profile and full specs.

```json
{
    "url": "https://www.1stdibs.com/furniture/seating/lounge-chairs/eames-lounge-chair-ottoman/id-f_34775942/",
    "productId": "f_34775942",
    "title": "Eames Lounge Chair and Ottoman by Herman Miller",
    "creator": "Charles and Ray Eames",
    "category": "furniture",
    "productionDate": "20th Century",
    "description": "Iconic rosewood and black leather lounge chair with matching ottoman...",
    "price": 6500,
    "currency": "USD",
    "priceVisibility": "visible",
    "priceRangeFromRecentSales": "$5,800 – $7,200",
    "priceRecommendation": "Priced within recent sales range",
    "availability": "available",
    "condition": "Good — wear consistent with age and use",
    "dimensionsHeight": "32 in (81 cm)",
    "dimensionsWidth": "33 in (84 cm)",
    "dimensionsDepth": "33 in (84 cm)",
    "materials": "Rosewood, Leather",
    "images": [
        "https://a.1stdibscdn.com/...-1.jpg",
        "https://a.1stdibscdn.com/...-2.jpg"
    ],
    "image": "https://a.1stdibscdn.com/...-1.jpg",
    "sellerId": "12345",
    "sellerName": "Mid-Century Modern Gallery",
    "sellerType": "Platinum",
    "sellerCity": "New York",
    "sellerState": "NY",
    "sellerCountry": "United States",
    "sellerPhone": "+1 212 555 0100",
    "sellerReviewCount": 184,
    "sellerScore": 4.9,
    "sellerMonthsActive": 96,
    "sellerTotalSales": 2310
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `url` | string | Product page URL |
| `productId` | string | 1stDibs internal product ID |
| `title` | string | Item title |
| `creator` | string | Artist, maker, or designer |
| `category` | string | Department classification |
| `productionDate` | string | Production or creation date (e.g. "20th Century") |
| `description` | string | Full item description |
| `availability` | string | Availability status |
| `condition` | string | Item condition grade |

#### Pricing Fields

| Field | Type | Description |
|-------|------|-------------|
| `price` | number | Listed price in the selected currency (null when the price is hidden) |
| `currency` | string | Currency code of the price |
| `priceVisibility` | string | `visible` when a price is published, or `upon_request` when the item is "Price Upon Request" — so you can tell a hidden price from a missing one |
| `priceRangeFromRecentSales` | string | Clean estimated range from recent comparable sales, e.g. `"$5,800 – $7,200"` (null when 1stDibs has no comparable-sales data for the piece) |
| `priceRecommendation` | string | 1stDibs guidance based on recent sales |

#### Specs & Images

| Field | Type | Description |
|-------|------|-------------|
| `dimensionsHeight` | string | Height |
| `dimensionsWidth` | string | Width |
| `dimensionsDepth` | string | Depth |
| `materials` | string | Materials used |
| `images` | array | All image URLs |
| `image` | string | Primary image URL |

#### Seller Profile

Populated when **Include Full Product Details** is on.

| Field | Type | Description |
|-------|------|-------------|
| `sellerId` | string | Seller/dealer ID |
| `sellerName` | string | Dealer or shop name |
| `sellerType` | string | Seller tier (e.g. Platinum, Gold, Distinguished) |
| `sellerCity` | string | Seller city |
| `sellerState` | string | Seller state or region (e.g. "NY" for US sellers; null when not applicable) |
| `sellerCountry` | string | Seller country (always the country — never a state) |
| `sellerPhone` | string | Seller phone number |
| `sellerScore` | number | Seller review score |
| `sellerReviewCount` | integer | Number of seller reviews |
| `sellerMonthsActive` | integer | Months the seller has been active |
| `sellerTotalSales` | integer | Total lifetime sales on the platform |

### Tips for Best Results

- **Start small** — set Max Results to 10–50 on your first run to confirm the data fits your needs, then scale up.
- **Keyword search beats URL building** — typing "art deco mirror" is faster and less error-prone than constructing a 1stDibs URL by hand.
- **Turn on full details for lead generation** — seller phone, review score, total sales, and tenure only come back when full details are on; that one toggle turns a product feed into a dealer contact list.
- **Browse a department for exhaustive coverage** — pick a category and leave the keyword broad to sweep an entire department rather than a narrow search.
- **Match currency to your client** — set the currency once and every price comes back ready to quote, no manual conversion.
- **Each query reaches ~2,850 items** — to go deeper than that, split a broad search into several narrower searches or category URLs and run them together.
- **Use the recent-sales range to spot deals** — compare `price` against `priceRangeFromRecentSales` to flag pieces listed below comparable value.

### Pricing

**From $1.80 per 1,000 results** — a flat pay-per-result rate that undercuts comparable 1stDibs scrapers. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.22 | $0.21 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.05 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.50 | $19.00 | $18.00 |
| 100,000 | $215.00 | $205.00 | $190.00 | $180.00 |

A "result" is any product row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate market research, inventory analysis, design sourcing, and dealer lead generation. Users are responsible for complying with applicable laws and 1stDibs' Terms of Service. Do not use extracted data for spam, harassment, or any illegal purpose, and handle any seller contact details in line with applicable privacy regulations.

# Actor input Schema

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

Paste one or more 1stDibs URLs. Works with search result pages, category pages, and individual product pages — the scraper figures out the type of each URL automatically. You can mix different page types in one run.

## `searchTerms` (type: `array`):

Type what you're looking for, for example 'eames lounge chair' or 'art deco mirror'. No need to build a URL — each term runs as a 1stDibs search.

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

Limit your search terms to a single department. Only applies to Search Terms above — URLs always use whatever category is in the URL itself.

## `currency` (type: `string`):

The currency used for the prices in your results.

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

Maximum number of products to return across all URLs and searches. Set to 0 for unlimited. Note: each individual search or category returns up to about 2,850 results (the site's own paging limit) — to collect more from one topic, split it into several narrower searches or category URLs. Tip: start with 10-50 to test, then increase.

## `includeDetails` (type: `boolean`):

Open each product's page to collect the richest data — full description, all dimensions, materials, and the complete seller profile (phone, reviews, tenure, total sales). Slower but far more detailed. When off, you get only the summary fields shown on the results page.

## Actor input object example

```json
{
  "startUrls": [
    "https://www.1stdibs.com/furniture/seating/lounge-chairs/"
  ],
  "searchTerms": [
    "eames lounge chair"
  ],
  "category": "all",
  "currency": "USD",
  "maxResults": 100,
  "includeDetails": true
}
```

# Actor output Schema

## `overview` (type: `string`):

Key product fields — title, creator, price, and seller.

## `detail` (type: `string`):

Full product and seller fields.

# 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 = {
    "startUrls": [
        "https://www.1stdibs.com/furniture/seating/lounge-chairs/"
    ],
    "searchTerms": [
        "eames lounge chair"
    ],
    "category": "all",
    "currency": "USD",
    "maxResults": 100,
    "includeDetails": true
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/1stdibs-com-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 = {
    "startUrls": ["https://www.1stdibs.com/furniture/seating/lounge-chairs/"],
    "searchTerms": ["eames lounge chair"],
    "category": "all",
    "currency": "USD",
    "maxResults": 100,
    "includeDetails": True,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/1stdibs-com-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 '{
  "startUrls": [
    "https://www.1stdibs.com/furniture/seating/lounge-chairs/"
  ],
  "searchTerms": [
    "eames lounge chair"
  ],
  "category": "all",
  "currency": "USD",
  "maxResults": 100,
  "includeDetails": true
}' |
apify call solidcode/1stdibs-com-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "1stDibs Scraper",
        "description": "[💰 $1.80 / 1K] Extract luxury 1stDibs listings — furniture, art, jewelry, watches, fashion, lighting, decor. Get titles, creators, prices, dimensions, materials, condition, images, and seller details (name, location, reviews, sales). Search by keyword, browse a category, or paste URLs.",
        "version": "1.0",
        "x-build-id": "sW1SfDn4BV1bJvx72"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~1stdibs-com-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-1stdibs-com-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/solidcode~1stdibs-com-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-1stdibs-com-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/solidcode~1stdibs-com-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-1stdibs-com-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": {
                    "startUrls": {
                        "title": "1stDibs URLs",
                        "type": "array",
                        "description": "Paste one or more 1stDibs URLs. Works with search result pages, category pages, and individual product pages — the scraper figures out the type of each URL automatically. You can mix different page types in one run.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchTerms": {
                        "title": "Search Terms",
                        "type": "array",
                        "description": "Type what you're looking for, for example 'eames lounge chair' or 'art deco mirror'. No need to build a URL — each term runs as a 1stDibs search.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "category": {
                        "title": "Category",
                        "enum": [
                            "all",
                            "furniture",
                            "lighting",
                            "art",
                            "jewelry",
                            "watches",
                            "fashion",
                            "decor",
                            "new-arrivals"
                        ],
                        "type": "string",
                        "description": "Limit your search terms to a single department. Only applies to Search Terms above — URLs always use whatever category is in the URL itself.",
                        "default": "all"
                    },
                    "currency": {
                        "title": "Currency",
                        "enum": [
                            "USD",
                            "GBP",
                            "EUR",
                            "CAD",
                            "AUD",
                            "CHF",
                            "DKK",
                            "SEK",
                            "NOK",
                            "MXN"
                        ],
                        "type": "string",
                        "description": "The currency used for the prices in your results.",
                        "default": "USD"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Maximum number of products to return across all URLs and searches. Set to 0 for unlimited. Note: each individual search or category returns up to about 2,850 results (the site's own paging limit) — to collect more from one topic, split it into several narrower searches or category URLs. Tip: start with 10-50 to test, then increase.",
                        "default": 100
                    },
                    "includeDetails": {
                        "title": "Include Full Product Details",
                        "type": "boolean",
                        "description": "Open each product's page to collect the richest data — full description, all dimensions, materials, and the complete seller profile (phone, reviews, tenure, total sales). Slower but far more detailed. When off, you get only the summary fields shown on the results page.",
                        "default": 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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
