# Wedding Vendor Aggregator Scraper (The Knot + WeddingWire) (`jungle_synthesizer/wedding-vendor-aggregator-scraper`) Actor

Unified scraper for wedding vendor profiles across The Knot and WeddingWire. Returns vendor name, phone, email and website (where public), Instagram / Facebook / Pinterest / X handles, location, ratings, review count, awards, price range, and capacity. Built for wedding-industry sales teams.

- **URL**: https://apify.com/jungle\_synthesizer/wedding-vendor-aggregator-scraper.md
- **Developed by:** [BowTiedRaccoon](https://apify.com/jungle_synthesizer) (community)
- **Categories:** Lead generation, Business
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Wedding Vendor Scraper — The Knot + WeddingWire

Scrape wedding vendor profiles from [The Knot](https://www.theknot.com/marketplace) and [WeddingWire](https://www.weddingwire.com) in a single run. Returns vendor name, contact info, social handles, ratings, awards, price range, and capacity — across both directories, in one flat schema.

---

### Wedding Vendor Aggregator Features

- Crawls **both The Knot and WeddingWire** in one pass. Same input, same output schema. Deduping is on you.
- Pulls **vendor email and website** from The Knot profiles where the vendor has chosen to expose them. WeddingWire gates these behind a contact form, so those fields stay blank for WW records.
- Captures **social handles** from both platforms — Instagram, Facebook, Pinterest, X, YouTube — pulled out of structured profile data, not screenshot OCR.
- Extracts **awards** (Best of Weddings years, Hall of Fame, Couples' Choice) as a clean array of human-readable strings.
- Returns **ratings, review count, price range, and venue capacity** for every record. Vendor description is included as the marketing bio.
- Mix Knot category URLs and WeddingWire category URLs freely in `searchUrls`. The scraper picks the right path per host.

---

### Who Uses Wedding Vendor Data?

- **Wedding-industry SaaS** — feed Honeybook / Dubsado / Aisle Planner outreach with verified vendor contacts and category context.
- **Photo & video delivery platforms** — pull photographers and videographers by city, then route into onboarding sequences.
- **Insurance and payments brokers** — score vendor categories by rating and review volume to size the addressable market before outreach.
- **Market research** — count vendors per category per region, or compare price-tier mix across cities. Numbers, not vibes.
- **Agency lead-gen** — build city-by-category prospect lists with social handles already attached, so the cold-DM step is one less manual step.

---

### How Wedding Vendor Aggregator Works

1. Pick category or city URLs from The Knot, WeddingWire, or both. Drop them into `searchUrls`.
2. The scraper paginates each search URL up to `maxPagesPerSearch`, harvests vendor profile links, and fetches each profile.
3. The Knot path parses the inline vendor JSON the site embeds in its SSR HTML (full contact data). The WeddingWire path parses Schema.org `LocalBusiness` JSON-LD plus the social-link block.
4. Records are flushed to the dataset as they come in. The run stops when `maxItems` is reached.

---

### Input

```json
{
  "searchUrls": [
    { "url": "https://www.theknot.com/marketplace/wedding-photographers-austin-tx" },
    { "url": "https://www.weddingwire.com/c/tx-texas/austin/wedding-photographers/615-10-rca.html" }
  ],
  "platforms": ["theknot", "weddingwire"],
  "maxItems": 100,
  "maxPagesPerSearch": 3
}
````

| Field               | Type    | Default                           | Description                                                                                                       |
| ------------------- | ------- | --------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
| `searchUrls`        | array   | required                          | Category or city pages on The Knot or WeddingWire. Mix freely — the scraper detects the platform from the host.   |
| `maxItems`          | integer | `15`                              | Cap on total records returned across all search URLs.                                                             |
| `maxPagesPerSearch` | integer | `5`                               | How many paginated pages to fetch per search URL. The Knot is ~33 vendors per page; WeddingWire is ~50.           |
| `platforms`         | array   | `["theknot", "weddingwire"]`      | Filter which platforms to keep. Useful when a search list contains both and you only want one.                    |

#### The Knot only

```json
{
  "searchUrls": [
    { "url": "https://www.theknot.com/marketplace/florists-nashville-tn" }
  ],
  "platforms": ["theknot"],
  "maxItems": 200,
  "maxPagesPerSearch": 7
}
```

#### WeddingWire only

```json
{
  "searchUrls": [
    { "url": "https://www.weddingwire.com/c/ca-california/los-angeles-county/wedding-djs/803-7-rca.html" }
  ],
  "platforms": ["weddingwire"],
  "maxItems": 100,
  "maxPagesPerSearch": 5
}
```

***

### Wedding Vendor Aggregator Output Fields

One record per vendor. Same flat schema across both platforms — `platform` tells you the source.

```json
{
  "vendor_name": "Ashton Gardens Atlanta by Walters Wedding Estates",
  "category": "Reception Venues",
  "city": "Sugar Hill",
  "state": "GA",
  "postal_code": "30518",
  "phone": "(404) 885-8503",
  "email": "concierge@waltersweddingestates.com",
  "website": "https://waltersweddingestates.com/venues/ashton-gardens-atlanta/",
  "instagram": "https://www.instagram.com/ashtongardensatl/",
  "facebook": "https://www.facebook.com/ashtongardensatl/",
  "pinterest": "https://www.pinterest.com/agardensatlanta/",
  "twitter": "",
  "youtube": "",
  "rating": 4.8,
  "review_count": 142,
  "price_range": "$$$ – Moderate",
  "capacity": "251-300",
  "description": "Ashton Gardens is the Atlanta area's premier wedding venue...",
  "awards": ["Best of Weddings 2025", "Best of Weddings 2024", "Best of Weddings 2023"],
  "facets": ["Settings: Ballroom", "Settings: Garden", "Venue Service Offerings: Bar & Drinks"],
  "profile_url": "https://www.theknot.com/marketplace/ashton-gardens-atlanta-by-walters-wedding-estates-sugar-hill-ga-435421",
  "platform": "theknot",
  "vendor_id": "435421",
  "scraped_at": "2026-04-27T12:55:29.000Z"
}
```

| Field          | Type             | Description                                                                                                  |
| -------------- | ---------------- | ------------------------------------------------------------------------------------------------------------ |
| `vendor_name`  | string           | Vendor business name as displayed on the profile.                                                            |
| `category`     | string           | Vendor category (Reception Venues, Photographers, Florists, etc.). Normalized across both platforms.         |
| `city`         | string           | City the vendor is headquartered in.                                                                         |
| `state`        | string           | Two-letter US state abbreviation, or province / region label.                                                |
| `postal_code`  | string           | ZIP / postal code.                                                                                           |
| `phone`        | string           | Vendor phone number, normalized to US format when 10 digits.                                                 |
| `email`        | string           | Vendor public email. The Knot only — WeddingWire gates email behind a contact form, so this is blank for WW. |
| `website`      | string           | Vendor's external website URL. The Knot only — WeddingWire routes outbound URLs through a redirect.          |
| `instagram`    | string           | Instagram profile URL.                                                                                       |
| `facebook`     | string           | Facebook page URL.                                                                                           |
| `pinterest`    | string           | Pinterest profile URL.                                                                                       |
| `twitter`      | string           | X (Twitter) profile URL.                                                                                     |
| `youtube`      | string           | YouTube channel URL.                                                                                         |
| `rating`       | number | null   | Overall star rating (0-5).                                                                                   |
| `review_count` | integer | null  | Number of reviews on the source platform.                                                                    |
| `price_range`  | string           | Price tier label, e.g. `$$ – Affordable`, `$$$ – Moderate`.                                                  |
| `capacity`     | string           | Guest capacity tier for venues, e.g. `151-200`. Empty for non-venue categories.                              |
| `description`  | string           | Vendor's marketing description / bio.                                                                        |
| `awards`       | array of strings | Awards and badges (Best of Weddings YYYY, Hall of Fame, Couples' Choice).                                    |
| `facets`       | array of strings | Attribute tags from the platform (settings, ceremony types, business attributes).                            |
| `profile_url`  | string           | Canonical URL to the vendor profile.                                                                         |
| `platform`     | string           | `theknot` or `weddingwire`.                                                                                  |
| `vendor_id`    | string           | Source platform's internal vendor ID.                                                                        |
| `scraped_at`   | string           | ISO 8601 timestamp when the record was captured.                                                             |

***

### FAQ

#### How do I scrape The Knot and WeddingWire vendor data?

Wedding Vendor Aggregator does both at once. Drop your category or city URLs from either site into `searchUrls` and the scraper paginates them, pulls every vendor profile, and writes flat records to the dataset. No code, no separate runs.

#### How much does Wedding Vendor Aggregator cost to run?

Wedding Vendor Aggregator runs on Apify's pay-per-event model — a small fixed start fee plus a tiny per-record fee. 100 records is roughly $0.20. 1,000 records is roughly $1.10. You only pay for records we actually deliver.

#### Can I get vendor email addresses?

Wedding Vendor Aggregator returns vendor email when it's publicly exposed on The Knot, which is most paid-tier listings. WeddingWire intentionally gates email behind a contact form to capture leads on its own platform, so WW records will have a blank `email` field. Same for `website` — Knot exposes it, WW doesn't.

#### Does it cover all 50 states or just one city?

Wedding Vendor Aggregator scrapes whatever search URLs you give it. The Knot has city-and-category index pages for every major US metro (e.g. `wedding-photographers-austin-tx`); WeddingWire uses region IDs in its URLs. To cover the country, add one URL per metro per category. There's no built-in nationwide crawl by design — that turns into millions of requests fast.

#### Does this need proxies?

Wedding Vendor Aggregator runs through Apify's US datacenter proxy by default, which both sites accept at modest concurrency. No CAPTCHAs to solve, no Cloudflare to clear. Both targets sit behind Akamai, but neither escalates to managed challenges at the volumes this actor runs at.

#### Why are awards labeled "BOW2025" sometimes in raw data?

Wedding Vendor Aggregator decodes The Knot's award codes for you. `BOW2025` becomes `Best of Weddings 2025`, `HOF` becomes `Hall of Fame`. The output is human-readable. Unknown codes pass through verbatim so nothing gets silently dropped.

***

### Need More Features?

Need extra fields, a different city / category mix, or a same-day variant scoped to one platform? [File an issue](https://console.apify.com/actors/issues) or reach out through the actor's Apify page. We add fields and tune selectors regularly.

### Why Use Wedding Vendor Aggregator?

- **Two directories, one schema** — most competing actors target only The Knot or only WeddingWire. This one normalizes both into a single flat record set so you don't have to merge later.
- **Real contact data where it exists** — pulls email and website directly from The Knot's embedded vendor JSON, which is more than card-only scrapers do, and labels the WeddingWire gaps honestly instead of returning empty profiles.
- **Pay per record** — ~$0.001 per vendor, fixed start fee. Nothing to subscribe to and no minimum commitment.

# Actor input Schema

## `sp_intended_usage` (type: `string`):

Please describe how you plan to use the data extracted by this crawler.

## `sp_improvement_suggestions` (type: `string`):

Provide any feedback or suggestions for improvements.

## `sp_contact` (type: `string`):

Provide your email address so we can get in touch with you.

## `searchUrls` (type: `array`):

List of category or city pages to crawl. Mix freely between The Knot
(`https://www.theknot.com/marketplace/...`) and WeddingWire
(`https://www.weddingwire.com/c/...-rca.html`). The actor discovers
vendor profile links from each, paginates, and extracts profiles.

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

Maximum number of vendor profile records to scrape across all search
URLs. Defaults to 15 to stay inside Apify's 5-minute test window;
users targeting full-directory pulls should raise this explicitly.

## `maxPagesPerSearch` (type: `integer`):

Cap on how many paginated pages to fetch per search URL. 1 page on
The Knot is ~33 vendors; WeddingWire is ~50. Keep low for sampling.

## `platforms` (type: `array`):

Filter which platforms to keep. By default both are included. Useful
when a search URL list contains both and you only want one.

## Actor input object example

```json
{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "searchUrls": [
    {
      "url": "https://www.theknot.com/marketplace/wedding-reception-venues-atlanta-ga"
    },
    {
      "url": "https://www.weddingwire.com/c/ga-georgia/atlanta/wedding-venues/524-11-rca.html"
    }
  ],
  "maxItems": 15,
  "maxPagesPerSearch": 5,
  "platforms": [
    "theknot",
    "weddingwire"
  ]
}
```

# Actor output Schema

## `results` (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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "searchUrls": [
        {
            "url": "https://www.theknot.com/marketplace/wedding-reception-venues-atlanta-ga"
        },
        {
            "url": "https://www.weddingwire.com/c/ga-georgia/atlanta/wedding-venues/524-11-rca.html"
        }
    ],
    "maxItems": 15,
    "maxPagesPerSearch": 5,
    "platforms": [
        "theknot",
        "weddingwire"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("jungle_synthesizer/wedding-vendor-aggregator-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 = {
    "sp_intended_usage": "Describe your intended use...",
    "sp_improvement_suggestions": "Share your suggestions here...",
    "sp_contact": "Share your email here...",
    "searchUrls": [
        { "url": "https://www.theknot.com/marketplace/wedding-reception-venues-atlanta-ga" },
        { "url": "https://www.weddingwire.com/c/ga-georgia/atlanta/wedding-venues/524-11-rca.html" },
    ],
    "maxItems": 15,
    "maxPagesPerSearch": 5,
    "platforms": [
        "theknot",
        "weddingwire",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("jungle_synthesizer/wedding-vendor-aggregator-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 '{
  "sp_intended_usage": "Describe your intended use...",
  "sp_improvement_suggestions": "Share your suggestions here...",
  "sp_contact": "Share your email here...",
  "searchUrls": [
    {
      "url": "https://www.theknot.com/marketplace/wedding-reception-venues-atlanta-ga"
    },
    {
      "url": "https://www.weddingwire.com/c/ga-georgia/atlanta/wedding-venues/524-11-rca.html"
    }
  ],
  "maxItems": 15,
  "maxPagesPerSearch": 5,
  "platforms": [
    "theknot",
    "weddingwire"
  ]
}' |
apify call jungle_synthesizer/wedding-vendor-aggregator-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Wedding Vendor Aggregator Scraper (The Knot + WeddingWire)",
        "description": "Unified scraper for wedding vendor profiles across The Knot and WeddingWire. Returns vendor name, phone, email and website (where public), Instagram / Facebook / Pinterest / X handles, location, ratings, review count, awards, price range, and capacity. Built for wedding-industry sales teams.",
        "version": "1.0",
        "x-build-id": "01wTFu5S3bDPbSevy"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/jungle_synthesizer~wedding-vendor-aggregator-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-jungle_synthesizer-wedding-vendor-aggregator-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/jungle_synthesizer~wedding-vendor-aggregator-scraper/runs": {
            "post": {
                "operationId": "runs-sync-jungle_synthesizer-wedding-vendor-aggregator-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/jungle_synthesizer~wedding-vendor-aggregator-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-jungle_synthesizer-wedding-vendor-aggregator-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",
                "required": [
                    "searchUrls"
                ],
                "properties": {
                    "sp_intended_usage": {
                        "title": "What is the intended usage of this data?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Please describe how you plan to use the data extracted by this crawler."
                    },
                    "sp_improvement_suggestions": {
                        "title": "How can we improve this crawler for you?",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide any feedback or suggestions for improvements."
                    },
                    "sp_contact": {
                        "title": "Contact Email",
                        "minLength": 1,
                        "type": "string",
                        "description": "Provide your email address so we can get in touch with you."
                    },
                    "searchUrls": {
                        "title": "Search / Category URLs",
                        "type": "array",
                        "description": "List of category or city pages to crawl. Mix freely between The Knot\n(`https://www.theknot.com/marketplace/...`) and WeddingWire\n(`https://www.weddingwire.com/c/...-rca.html`). The actor discovers\nvendor profile links from each, paginates, and extracts profiles.\n",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of vendor profile records to scrape across all search\nURLs. Defaults to 15 to stay inside Apify's 5-minute test window;\nusers targeting full-directory pulls should raise this explicitly.\n",
                        "default": 15
                    },
                    "maxPagesPerSearch": {
                        "title": "Max Pages Per Search URL",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Cap on how many paginated pages to fetch per search URL. 1 page on\nThe Knot is ~33 vendors; WeddingWire is ~50. Keep low for sampling.\n",
                        "default": 5
                    },
                    "platforms": {
                        "title": "Platforms",
                        "type": "array",
                        "description": "Filter which platforms to keep. By default both are included. Useful\nwhen a search URL list contains both and you only want one.\n",
                        "items": {
                            "type": "string",
                            "enum": [
                                "theknot",
                                "weddingwire"
                            ],
                            "enumTitles": [
                                "The Knot",
                                "WeddingWire"
                            ]
                        },
                        "default": [
                            "theknot",
                            "weddingwire"
                        ]
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
