# NürnbergMesse Exhibitor Scraper (`solidcode/nuernbergmesse-de-scraper`) Actor

\[💰 $3 / 1K] Extract trade-fair exhibitors from any NürnbergMesse event directory — company name, country, hall, booth, exhibitor type, logo, and profile link. Optionally enrich each exhibitor with website, email, phone, address, description, and product categories.

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

## Pricing

from $3.00 / 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

## NürnbergMesse Exhibitor Scraper

Pull the complete exhibitor directory from any NürnbergMesse trade fair — company name, country, hall, booth, exhibitor type, logo, and profile link for every company, with optional website, email, phone, address, and product-category enrichment. Works across 18+ fairs including embedded world, BIOFACH, IWA OutdoorClassics, FachPack, IT-SA, Interzoo, and GaLaBau from a single input. Built for trade-show marketers, B2B lead-generation teams, competitive-intelligence analysts, and event organizers who need the full exhibitor list without copy-pasting company cards one page at a time.

### Why This Scraper?

- **18+ NürnbergMesse fairs from one input** — paste a "Find exhibitors" URL from embedded world, BIOFACH, IWA OutdoorClassics, FachPack, IT-SA, Interzoo, Chillventa, GaLaBau, or any other NürnbergMesse fair, and mix several fairs in a single run.
- **Complete lists past the 1,000-exhibitor platform limit** — large fairs with 1,000 to 2,400+ exhibitors are fully paginated and deduplicated, so you get every company, not a truncated first thousand.
- **15+ fields per exhibitor** — name, country, exhibitor type, hall, booth, location, logo URL, profile URL, exhibitor ID, and fair code on every core row, before any enrichment.
- **Verified exhibitor contacts** — turn on full details to capture website, public email, phone, and full postal address straight from each company's official fair profile.
- **Hall + booth location on every row** — plan your on-site route, prioritize which stands to visit, and match companies to floor-plan zones before the show opens.
- **Structured product-category taxonomy** — the enrichment step returns each exhibitor's official product/nomenclature categories, typically 3–20 per company, so you can segment the directory by what firms actually sell.
- **Exhibitor type classification** — every company is tagged by its role (manufacturer, distributor, and similar) for cleaner supplier vs. reseller targeting.
- **Country coverage for international sourcing** — the country field on every row lets you slice a fair's exhibitors by origin market in seconds.
- **Social profiles per exhibitor** — LinkedIn, Facebook, X/Twitter, Instagram, YouTube, and Xing links collected during enrichment for outreach and account research.

### Use Cases

**Lead Generation**
- Build a full contact list of every exhibitor at a target fair with email, phone, and website
- Pull supplier prospects segmented by product category before a sourcing trip
- Assemble outreach lists filtered by exhibitor type — manufacturers only, distributors only
- Capture social profiles for account-based marketing and warm outreach

**Market & Competitive Research**
- Map who exhibits across BIOFACH, FachPack, or IT-SA to size a category
- Track which competitors show up at which NürnbergMesse fairs year over year
- Segment a fair's directory by country to gauge international participation
- Benchmark product-category coverage across rival exhibitors

**Event Planning & On-Site Strategy**
- Export hall and booth assignments to plan an efficient walking route
- Pre-shortlist stands to visit by exhibitor type or product category
- Cross-reference booths against the official floor plan before the doors open

**Sales Prospecting**
- Feed verified exhibitor contacts straight into your CRM as fresh leads
- Prioritize outreach by country, product category, or company role
- Enrich an existing prospect database with fair-verified emails and phone numbers

**Data & Directory Building**
- Compile a multi-fair industry directory from several NürnbergMesse events at once
- Power analytics dashboards with structured exhibitor and product-category data
- Refresh a trade-show contact database each edition without manual re-entry

### Getting Started

#### Whole Fair — Core List

The simplest run — paste one exhibitor-directory URL and collect every exhibitor's core fields:

```json
{
    "startUrls": [
        { "url": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors" }
    ],
    "maxResults": 0
}
````

#### Whole Fair — With Contact Details

Add website, email, phone, address, description, product categories, and social links to every exhibitor:

```json
{
    "startUrls": [
        { "url": "https://www.biofach.de/en/exhibitors-products/find-exhibitors" }
    ],
    "includeDetails": true,
    "maxResults": 500
}
```

#### Multiple Fairs in One Run

Mix exhibitor directories from several NürnbergMesse fairs — each row is tagged with its `fair` code so you can split them downstream:

```json
{
    "startUrls": [
        { "url": "https://www.fachpack.de/en/exhibitors-products/find-exhibitors" },
        { "url": "https://www.it-sa.de/en/exhibitors-products/find-exhibitors" },
        { "url": "https://www.interzoo.com/en/exhibitors-products/find-exhibitors" }
    ],
    "includeDetails": true,
    "maxResults": 2000
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `startUrls` | URL\[] | embedded world directory | One or more NürnbergMesse exhibitor-directory URLs. Open any fair's "Find exhibitors" page in your browser and copy the address. Every exhibitor behind each URL is collected. Mix directories from several fairs in one run. |

#### Extra Details

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeDetails` | boolean | `false` | When on, each exhibitor's profile is opened to add website, public email, phone, full address, description, social links, and product categories. Slower, since it fetches one extra page per exhibitor. Leave off if the core listing fields are enough. |

#### Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `maxResults` | integer | `100` | Global cap on the total number of exhibitors collected across all URLs. Set to `0` for no cap (an internal safety limit still applies). |
| `maxPagesPerUrl` | integer | `0` | Safety valve limiting how many result batches to fetch per directory URL. `0` means no per-URL limit — only `maxResults` applies. Most users leave this at `0`. |

### Output

Each row is one exhibitor. Core fields are always populated; the enriched fields fill in only when `includeDetails` is on and the fair publishes them.

```json
{
    "exhibitorName": "Acme Sensor Technology GmbH",
    "country": "Germany",
    "exhibitorType": "Manufacturer",
    "hall": "4A",
    "booth": "4A-320",
    "location": "Hall 4A, 4A-320",
    "logoUrl": "https://www.embedded-world.de/logos/acme.png",
    "profileUrl": "https://www.embedded-world.de/en/exhibitors-products/exhibitor/acme-sensor-technology/A12345",
    "exhibitorId": "A12345",
    "fair": "embwld",
    "sourceUrl": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors",
    "website": "https://www.acme-sensor.com",
    "email": "info@acme-sensor.com",
    "phone": "+49 911 1234567",
    "address": "Musterstrasse 12, 90402, Nuremberg, Germany",
    "description": "Acme designs industrial-grade sensors and embedded modules for factory automation...",
    "productCategories": [
        "Sensors > Pressure sensors",
        "Embedded systems > Modules",
        "Industrial automation"
    ],
    "socialLinks": [
        "https://www.linkedin.com/company/acme-sensor",
        "https://twitter.com/acmesensor"
    ]
}
```

#### Core Fields

Always present on every row, no enrichment required.

| Field | Type | Description |
|-------|------|-------------|
| `exhibitorName` | string | Company name as listed in the fair directory |
| `country` | string | Exhibitor's country of origin |
| `exhibitorType` | string | Company role — e.g. manufacturer, distributor |
| `hall` | string | Assigned hall |
| `booth` | string | Booth number |
| `location` | string | Combined "Hall X, booth" label for quick reading |
| `logoUrl` | string | Company logo image URL |
| `profileUrl` | string | Direct link to the exhibitor's fair profile page |
| `exhibitorId` | string | Unique exhibitor identifier |
| `fair` | string | Fair code the row came from (e.g. `embwld`, `interz`) |
| `sourceUrl` | string | The directory URL this exhibitor was collected from |
| `email` | string | Public email when the directory listing publishes it |

#### Enriched Fields (with `includeDetails`)

Populated only when `includeDetails` is on and the profile publishes them; otherwise `null` or an empty array.

| Field | Type | Description |
|-------|------|-------------|
| `website` | string | Company website URL |
| `email` | string | Public contact email from the profile page |
| `phone` | string | Public phone number |
| `address` | string | Full postal address (street, postcode, city, country) |
| `description` | string | Company description / profile text |
| `productCategories` | string\[] | Official product/nomenclature categories, typically 3–20 per exhibitor |
| `socialLinks` | string\[] | LinkedIn, Facebook, X/Twitter, Instagram, YouTube, and Xing links |

### Tips for Best Results

- **Leave `includeDetails` off unless you need contact data.** The core list already includes company name, country, exhibitor type, hall, booth, and often email — turn on enrichment only when you also need website, phone, address, and product categories.
- **Set `maxResults` to `0` to guarantee the whole fair.** Big fairs run past 2,400 exhibitors; a `0` cap collects the complete, deduplicated directory instead of stopping early.
- **Test with a small cap first.** Start at `maxResults: 50` to confirm the fields and fair are right, then re-run uncapped for the full list.
- **Mix several fairs in one run.** Paste directories from multiple NürnbergMesse events together and split the output by the `fair` field afterward.
- **Copy the URL straight from the fair's "Find exhibitors" page.** Any language variant works — the `/en/` and `/de/` directory paths both resolve to the same complete exhibitor set.
- **Segment on `productCategories` for sourcing.** With enrichment on, filter the directory by category to isolate exactly the supplier type you're prospecting.
- **Use `hall` and `booth` for on-site planning.** Export those two fields against the official floor plan to build an efficient walking route before the show.

### Pricing

**From $3.00 per 1,000 results** — a complete, deduplicated exhibitor directory at a lower rate than comparable trade-fair extractors. 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.36 | $0.34 | $0.32 | $0.30 |
| 1,000 | $3.60 | $3.40 | $3.20 | $3.00 |
| 10,000 | $36.00 | $34.00 | $32.00 | $30.00 |
| 100,000 | $360.00 | $340.00 | $320.00 | $300.00 |

A "result" is any exhibitor 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
- **HubSpot** / **Salesforce** / other CRMs — Push exhibitor leads straight into your pipeline
- **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 trade-show research, lead generation, and market intelligence using publicly listed exhibitor directory information. Users are responsible for complying with applicable laws — including data-protection regulations such as the GDPR when handling business contact data — and with NürnbergMesse's terms of service. Do not use extracted data for spam, harassment, or any illegal purpose. </content> </invoke>

# Actor input Schema

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

Paste one or more NürnbergMesse exhibitor-directory URLs — from any fair (e.g. embedded world, FachPack, BIOFACH, Interzoo, Chillventa). Open a fair's 'Find exhibitors' page in your browser and copy the address. Every exhibitor listed behind each URL is collected.

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

When enabled, the actor opens each exhibitor's profile page to add its website, public email, phone, full address, description, social links, and product categories. This is slower because it fetches one extra page per exhibitor — leave it off if you only need the core listing fields (name, country, hall, booth, type, logo, profile link).

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

Global cap on the total number of exhibitors collected across all URLs. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal safety limit of 50,000 exhibitors still applies to prevent runaway pagination). Each exhibitor is billed at the per-result rate.

## `maxPagesPerUrl` (type: `integer`):

Safety valve limiting how many result pages (or lazy-load batches) to fetch for each directory URL. Set to 0 for no per-URL page limit — only the Maximum Results cap above applies. Most users can leave this at 0.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors"
    }
  ],
  "includeDetails": false,
  "maxResults": 100,
  "maxPagesPerUrl": 0
}
```

# Actor output Schema

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

Table of exhibitors with core listing fields.

## `details` (type: `string`):

Table of exhibitors including enriched contact and product fields (populated when 'Include full profile details' is enabled).

# 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": [
        {
            "url": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors"
        }
    ],
    "includeDetails": false,
    "maxResults": 100,
    "maxPagesPerUrl": 0
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/nuernbergmesse-de-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": [{ "url": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors" }],
    "includeDetails": False,
    "maxResults": 100,
    "maxPagesPerUrl": 0,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/nuernbergmesse-de-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": [
    {
      "url": "https://www.embedded-world.de/en/exhibitors-products/find-exhibitors"
    }
  ],
  "includeDetails": false,
  "maxResults": 100,
  "maxPagesPerUrl": 0
}' |
apify call solidcode/nuernbergmesse-de-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "NürnbergMesse Exhibitor Scraper",
        "description": "[💰 $3 / 1K] Extract trade-fair exhibitors from any NürnbergMesse event directory — company name, country, hall, booth, exhibitor type, logo, and profile link. Optionally enrich each exhibitor with website, email, phone, address, description, and product categories.",
        "version": "1.0",
        "x-build-id": "IheQAb8asToPnbnO0"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~nuernbergmesse-de-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-nuernbergmesse-de-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~nuernbergmesse-de-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-nuernbergmesse-de-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~nuernbergmesse-de-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-nuernbergmesse-de-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": "Exhibitor Directory URLs",
                        "type": "array",
                        "description": "Paste one or more NürnbergMesse exhibitor-directory URLs — from any fair (e.g. embedded world, FachPack, BIOFACH, Interzoo, Chillventa). Open a fair's 'Find exhibitors' page in your browser and copy the address. Every exhibitor listed behind each URL is collected.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "includeDetails": {
                        "title": "Include full profile details (website, email, phone, address, product categories)",
                        "type": "boolean",
                        "description": "When enabled, the actor opens each exhibitor's profile page to add its website, public email, phone, full address, description, social links, and product categories. This is slower because it fetches one extra page per exhibitor — leave it off if you only need the core listing fields (name, country, hall, booth, type, logo, profile link).",
                        "default": false
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Global cap on the total number of exhibitors collected across all URLs. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal safety limit of 50,000 exhibitors still applies to prevent runaway pagination). Each exhibitor is billed at the per-result rate.",
                        "default": 100
                    },
                    "maxPagesPerUrl": {
                        "title": "Maximum Pages per URL",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Safety valve limiting how many result pages (or lazy-load batches) to fetch for each directory URL. Set to 0 for no per-URL page limit — only the Maximum Results cap above applies. Most users can leave this at 0.",
                        "default": 0
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
