# Middle East Car Dealer Scraper (`rastriq/middle-east-car-dealer-scraper`) Actor

Extract new and used car inventory from official BMW, Mercedes-Benz, Porsche, and Chevrolet dealer websites across Saudi Arabia, UAE, Kuwait, Bahrain, Qatar, and Oman. Prices, specs, images, and direct listing URLs.

- **URL**: https://apify.com/rastriq/middle-east-car-dealer-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** E-commerce, Agents, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.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.

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

## Middle East Car Dealer Scraper — Middle East & Gulf Vehicle Inventory

Extract new and used vehicle stock data from official dealer websites across the Middle East. Middle East Car Dealer Scraper collects structured inventory data from BMW, Mercedes-Benz, Porsche, and Chevrolet dealerships in 10 countries — including Saudi Arabia, UAE, Kuwait, Qatar, Bahrain, and Oman.

> 🚀 **Try it free** — click **Start** with default settings to extract inventory from all 14 markets at once.


### 📌 What is Middle East Car Dealer Scraper?

**Middle East Car Dealer Scraper** extracts real-time vehicle inventory from official brand dealership websites in the Middle East and Gulf region. It collects every vehicle listing published on these sites — including pricing, specs, images, and availability — and returns it as structured, analysis-ready data.

Use Middle East Car Dealer Scraper to:

- 🔍 **Monitor dealer inventory** — track stock levels, new arrivals, and removals across brands and markets
- 💰 **Analyze pricing** — compare prices across countries and currencies (SAR, AED, KWD, BHD, QAR, OMR)
- 📊 **Benchmark the competitive landscape** — see which models are available, at what price, and where
- 🔄 **Automate recurring snapshots** — schedule daily or weekly runs to build time-series datasets

The Apify platform provides **scheduling**, **API access**, **proxy rotation**, and **integrations** with Make, Zapier, Google Sheets, and more — all out of the box.


### 📋 What data does Middle East Car Dealer Scraper extract?

Middle East Car Dealer Scraper returns structured data with the following fields:

|                          |                                    |
| ------------------------ | ---------------------------------- |
| 🏷️ Brand, model, variant | 📅 Year of manufacture              |
| 💰 Price and currency    | 🎨 Exterior and interior color     |
| 🆔 Stock ID and VIN      | 📸 Image gallery URLs              |
| 🏪 Dealer and location   | 🌍 Country and market              |
| ⛽ Fuel type, transmission, body style | 🔄 Condition (new / used) |
| 📏 Mileage / odometer   | 🕐 Scrape timestamp                |

**Detailed field reference:**

| Field | Type | Description |
|-------|------|-------------|
| `brand` | string | Vehicle brand (BMW, Mercedes-Benz, Porsche, Chevrolet) |
| `model_name` | string | Model name (e.g., "A-Class", "X5", "Cayenne") |
| `variant` | string | Specific trim or variant (e.g., "A 200 AMG Line") |
| `year` | integer | Production or model year |
| `price` | number | Listed price in local currency |
| `currency` | string | Currency code (SAR, AED, KWD, BHD, QAR, OMR, JOD, USD, IQD, ILS) |
| `price_formatted` | string | Human-readable price (e.g., "SAR 228,032") |
| `color_ext` | string | Exterior color |
| `color_int` | string | Interior material and color |
| `stock_id` | string | Dealer stock identifier |
| `record_type` | string | `stock_new` or `stock_used` |
| `country` | string | Market country code |
| `dealer` | string | Dealer name |
| `mileage` | number | Odometer reading (0 for new vehicles) |
| `images` | array | List of high-resolution image URLs |
| `specs` | object | Additional specifications (fuel, transmission, body style, VIN, location) |
| `scraped_at` | string | ISO 8601 extraction timestamp |

> 💡 Not all fields are available for every listing — availability depends on what each dealer publishes.


### 🚀 How to use Middle East Car Dealer Scraper

Extracting vehicle inventory takes under 5 minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) — your first $5 is free
2. **Open Middle East Car Dealer Scraper** in Apify Console or click **Try for free** on this page
3. **Select markets** — choose specific brand–country combinations or leave empty to scrape all 14 targets
4. **Choose stock types** — new vehicles, used vehicles, or both
5. **Click Start** and wait — a full run across all markets typically completes in under 5 minutes
6. **Download your results** in JSON, CSV, Excel, or XML — or access them via the Apify API

#### Available markets

| Brand | Markets |
|-------|---------|
| BMW | 🇸🇦 Saudi Arabia |
| Mercedes-Benz | 🇸🇦 Saudi Arabia, 🇦🇪 UAE (Dubai), 🇦🇪 UAE (Abu Dhabi), 🇰🇼 Kuwait, 🇧🇭 Bahrain, 🇶🇦 Qatar, 🇴🇲 Oman, 🇯🇴 Jordan, 🇱🇧 Lebanon, 🇮🇶 Iraq, 🇵🇸 Palestine |
| Porsche | 🇸🇦 Saudi Arabia |
| Chevrolet | 🇸🇦 Saudi Arabia |


### ⚙️ Input parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `targets` | array | ❌ | All markets | Select specific brand–country combinations to scrape |
| `scrapeTypes` | array | ❌ | Both | New vehicles, used vehicles, or both |
| `maxItemsPerTarget` | integer | ❌ | `0` (unlimited) | Max vehicles per target. Use 50–100 for testing |
| `proxyConfiguration` | object | ❌ | Apify datacenter | Proxy settings (datacenter is sufficient) |
| `requestDelayMs` | integer | ❌ | `1000` | Delay between requests (ms) |
| `maxConcurrency` | integer | ❌ | `3` | Max parallel requests |

**Example input (scrape only BMW and Mercedes KSA, new stock only):**

```json
{
  "targets": ["bmw_ksa", "mercedes_ksa"],
  "scrapeTypes": ["stock_new"],
  "maxItemsPerTarget": 200
}
````

### 📦 Output example

Each result is a structured JSON object. Here is a sample from a real run:

```json
{
  "brand": "BMW",
  "dealer": "Naghi Motors",
  "country": "KSA",
  "platform": "gforces_netdirector",
  "record_type": "stock_new",
  "model_name": "2 Series",
  "variant": "218 Gran Coupe M Sport Package",
  "year": 2026,
  "mileage": 0,
  "color_ext": "white",
  "color_int": "Veganza Perforated | Coral Red/Black",
  "stock_id": "20620179",
  "stock_status": "available",
  "images": [
    "https://s3-eu-west-1.amazonaws.com/.../image_1.jpg",
    "https://s3-eu-west-1.amazonaws.com/.../image_2.jpg"
  ],
  "specs": {
    "manufacturer": "BMW",
    "bodyStyle": "Gran Coupé",
    "fuelType": "Petrol",
    "transmission": "Automatic",
    "condition": "New",
    "vin": "WBA11GG08T7U61892",
    "location": "Jeddah Tahlia BMW"
  },
  "price": 175000,
  "currency": "SAR",
  "price_formatted": "SAR 175,000",
  "source_url": "https://www.bmw-saudiarabia.com",
  "scraped_at": "2026-07-11T10:32:52.015613+00:00"
}
```

Download results in **JSON, CSV, Excel, XML, or HTML** from the Output tab, or pull them programmatically using the Apify API.

### 🔗 Related Rastriq Actors

Explore the full [Rastriq intelligence portfolio](https://apify.com/rastriq) on Apify Store.

### ❓ Frequently Asked Questions

#### Is scraping vehicle inventory from these websites legal?

Middle East Car Dealer Scraper only accesses **publicly available data** — information visible to any visitor browsing the dealer websites without logging in. The actor respects rate limiting and applies reasonable request delays to avoid overloading servers.

As with any data collection activity, you are responsible for ensuring your use case complies with applicable laws and the websites' Terms of Service. For guidance, see [Apify's blog on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### Does Middle East Car Dealer Scraper require any login or API key?

No. The actor works entirely with **publicly listed vehicle data** and does not require any account, credentials, or API keys from the dealer websites.

#### How many vehicles can I extract?

Middle East Car Dealer Scraper extracts the complete inventory published on each dealer website. A full run across all 14 markets typically returns 3,000–6,000 vehicles, depending on current stock levels.

#### Some markets return 0 results. Is that normal?

Yes. Some dealer websites (e.g., Jordan, Lebanon, Iraq, Palestine) may not have any vehicles published at a given time. The actor reports 0 items for these markets — this reflects the actual state of the dealer website.

#### What proxy configuration should I use?

The default **Apify datacenter proxy** with AE (UAE) exit node works well. Residential proxies are not required.

#### How do I integrate the results with my workflow?

Middle East Car Dealer Scraper integrates natively with:

- **Make (formerly Integromat)** and **Zapier** — trigger runs and receive data automatically
- **Google Sheets** — export directly to a spreadsheet
- **Webhooks** — get notified when a run finishes
- **Apify API** — call from Python, Node.js, or any language (see the API tab)

#### I found a bug or my run failed. Where do I report it?

Please open an issue in the **Issues tab** on this page. Include your input configuration and the run ID so we can investigate quickly.

# Actor input Schema

## `targets` (type: `array`):

Select which brand-country combinations to scrape. <b>Leave empty to scrape all 14 targets.</b><br><br>Each target corresponds to an official dealer website in that market. Markets with no published stock will return 0 results (this is normal).<br><br>💡 <b>Tip:</b> Start with 1-2 targets for a quick test run.

## `scrapeTypes` (type: `array`):

Choose which inventory types to extract.<br><br>• <b>New stock</b> -- brand-new vehicles at the dealer<br>• <b>Used stock</b> -- pre-owned / certified vehicles<br><br>Select both for a complete inventory snapshot.

## `maxItemsPerTarget` (type: `integer`):

Maximum number of vehicles to extract per brand-country target. Set to <code>0</code> for unlimited (extract all available stock).<br><br>💡 <b>Tip:</b> Use a low value (50-100) for testing, <code>0</code> for production runs.

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

Select proxy settings. The default configuration works well for most runs.<br><br>💡 Datacenter proxies are sufficient -- residential proxies are not required.

## `requestDelayMs` (type: `integer`):

Delay between API requests in milliseconds. A +/-40% jitter is applied automatically.<br><br>Recommended:<br>• <b>500-1000 ms</b> -- normal operation<br>• <b>1500-3000 ms</b> -- conservative / if rate-limited

## `maxConcurrency` (type: `integer`):

Maximum number of parallel requests across all targets.<br><br>Higher values are faster but may trigger rate limiting.<br>• <b>2-3</b> -- safe default<br>• <b>5-8</b> -- faster, use with proxies

## Actor input object example

```json
{
  "targets": [],
  "scrapeTypes": [
    "stock_new",
    "stock_used"
  ],
  "maxItemsPerTarget": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "AE"
  },
  "requestDelayMs": 1000,
  "maxConcurrency": 3
}
```

# Actor output Schema

## `results` (type: `string`):

Structured inventory data including prices, specs, images, and direct listing URLs for new and used vehicles.

# 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 = {
    "maxItemsPerTarget": 100,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyCountry": "AE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/middle-east-car-dealer-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 = {
    "maxItemsPerTarget": 100,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyCountry": "AE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/middle-east-car-dealer-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 '{
  "maxItemsPerTarget": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyCountry": "AE"
  }
}' |
apify call rastriq/middle-east-car-dealer-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Middle East Car Dealer Scraper",
        "description": "Extract new and used car inventory from official BMW, Mercedes-Benz, Porsche, and Chevrolet dealer websites across Saudi Arabia, UAE, Kuwait, Bahrain, Qatar, and Oman. Prices, specs, images, and direct listing URLs.",
        "version": "0.0",
        "x-build-id": "xElpLFrKeTwWvjpr9"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/rastriq~middle-east-car-dealer-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-rastriq-middle-east-car-dealer-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/rastriq~middle-east-car-dealer-scraper/runs": {
            "post": {
                "operationId": "runs-sync-rastriq-middle-east-car-dealer-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/rastriq~middle-east-car-dealer-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-rastriq-middle-east-car-dealer-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": {
                    "targets": {
                        "title": "🚗 Brands & Markets",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Select which brand-country combinations to scrape. <b>Leave empty to scrape all 14 targets.</b><br><br>Each target corresponds to an official dealer website in that market. Markets with no published stock will return 0 results (this is normal).<br><br>💡 <b>Tip:</b> Start with 1-2 targets for a quick test run.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "bmw_ksa",
                                "mercedes_ksa",
                                "mercedes_uae_dubai",
                                "mercedes_uae_abudhabi",
                                "mercedes_kuwait",
                                "mercedes_bahrain",
                                "mercedes_qatar",
                                "mercedes_oman",
                                "mercedes_jordan",
                                "mercedes_lebanon",
                                "mercedes_iraq",
                                "mercedes_palestine",
                                "porsche_ksa",
                                "chevrolet_ksa"
                            ],
                            "enumTitles": [
                                "🇸🇦 BMW -- Saudi Arabia (SAR)",
                                "🇸🇦 Mercedes-Benz -- Saudi Arabia (SAR)",
                                "🇦🇪 Mercedes-Benz -- UAE Dubai (AED)",
                                "🇦🇪 Mercedes-Benz -- UAE Abu Dhabi (AED)",
                                "🇰🇼 Mercedes-Benz -- Kuwait (KWD)",
                                "🇧🇭 Mercedes-Benz -- Bahrain (BHD)",
                                "🇶🇦 Mercedes-Benz -- Qatar (QAR)",
                                "🇴🇲 Mercedes-Benz -- Oman (OMR)",
                                "🇯🇴 Mercedes-Benz -- Jordan (JOD)",
                                "🇱🇧 Mercedes-Benz -- Lebanon (USD)",
                                "🇮🇶 Mercedes-Benz -- Iraq (IQD)",
                                "🇵🇸 Mercedes-Benz -- Palestine (ILS)",
                                "🇸🇦 Porsche -- Saudi Arabia (SAR)",
                                "🇸🇦 Chevrolet -- Saudi Arabia (SAR)"
                            ]
                        },
                        "default": []
                    },
                    "scrapeTypes": {
                        "title": "📋 Stock types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Choose which inventory types to extract.<br><br>• <b>New stock</b> -- brand-new vehicles at the dealer<br>• <b>Used stock</b> -- pre-owned / certified vehicles<br><br>Select both for a complete inventory snapshot.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "stock_new",
                                "stock_used"
                            ],
                            "enumTitles": [
                                "🆕 New vehicles",
                                "🔄 Used / Pre-owned vehicles"
                            ]
                        },
                        "default": [
                            "stock_new",
                            "stock_used"
                        ]
                    },
                    "maxItemsPerTarget": {
                        "title": "💯 Max items per target",
                        "minimum": 0,
                        "maximum": 50000,
                        "type": "integer",
                        "description": "Maximum number of vehicles to extract per brand-country target. Set to <code>0</code> for unlimited (extract all available stock).<br><br>💡 <b>Tip:</b> Use a low value (50-100) for testing, <code>0</code> for production runs.",
                        "default": 0
                    },
                    "proxyConfiguration": {
                        "title": "🔒 Proxy configuration",
                        "type": "object",
                        "description": "Select proxy settings. The default configuration works well for most runs.<br><br>💡 Datacenter proxies are sufficient -- residential proxies are not required."
                    },
                    "requestDelayMs": {
                        "title": "⏱️ Request delay",
                        "minimum": 300,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Delay between API requests in milliseconds. A +/-40% jitter is applied automatically.<br><br>Recommended:<br>• <b>500-1000 ms</b> -- normal operation<br>• <b>1500-3000 ms</b> -- conservative / if rate-limited",
                        "default": 1000
                    },
                    "maxConcurrency": {
                        "title": "🔀 Max concurrency",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "Maximum number of parallel requests across all targets.<br><br>Higher values are faster but may trigger rate limiting.<br>• <b>2-3</b> -- safe default<br>• <b>5-8</b> -- faster, use with proxies",
                        "default": 3
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
