# Autohero Cars Scraper — All Europe (`memo23/autohero-cars-scraper`) Actor

Scrape used-car listings from Autohero across all 10 EU storefronts. Get structured rows: make, model, trim, price, mileage, power, fuel, transmission, emissions, accidents, service history, dealer location, and image — straight from Autohero's own catalog API.

- **URL**: https://apify.com/memo23/autohero-cars-scraper.md
- **Developed by:** [Muhamed Didovic](https://apify.com/memo23) (community)
- **Categories:** Automation, Agents, Lead generation
- **Stats:** 15 total users, 14 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

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

## Autohero Cars Scraper — All Europe

Scrape used-car listings from **Autohero** (AUTO1 Group's B2C marketplace) across all **10 European storefronts** — make, model, trim, price, monthly finance, mileage, power, fuel, transmission, drivetrain, emissions, **accident & damage counts, service-book status, previous owners**, dealer branch location, image, and the direct car URL. One flat row per car, straight from Autohero's own catalog API.

![How the Autohero Cars Scraper works](https://raw.githubusercontent.com/muhamed-didovic/muhamed-didovic.github.io/main/assets/how-it-works-autohero.png)

### Why this actor

Autohero sells inspected used cars online in 10 European markets — Germany, Austria, Spain, France, Belgium (FR + NL), Italy, Netherlands, Poland, and Sweden — a combined live inventory of **~23,000 cars**. This actor pulls them all as clean structured rows:

- **All 10 storefronts from one actor** — pick the locales you want; each is an independent country catalog with prices in the local currency (EUR / SEK / PLN).
- **Autohero's own catalog API** — no HTML scraping, no anti-bot, no fingerprinting. We call the same endpoint the Autohero website uses, so the data arrives pre-structured.
- **~40 fields per car in one pass** — the search response carries everything, so there's no slow per-car detail fetch.
- **Condition signals competitors miss** — accident count, damage count, previous-owner count, service-book status, last-service date. Autohero inspects every car and exposes this; we surface it.
- **Decoded, not coded** — fuel type, transmission, and emission class come back as integer codes from the API; we translate them to readable labels (Petrol / Diesel / Electric / Hybrid, Manual / Automatic / Dual-clutch, EURO 5 / 6 / 6d-TEMP) while keeping the raw code too.
- **Mixed input** — scrape a full locale catalog, or paste direct car URLs to grab specific vehicles.

### Use cases

- **Used-car price intelligence** — track asking prices by make/model/year/mileage across 10 markets; spot cross-border arbitrage (a model cheaper in PL than DE).
- **Dealer & remarketing analytics** — monitor Autohero's inventory mix, ageing, and pricing as a market signal.
- **Automotive market research** — fuel-mix shift (EV/hybrid share), emission-class distribution, average mileage by segment.
- **Lead & inventory feeds** — pipe structured car rows into your own marketplace, comparison site, or valuation model.
- **Condition-aware sourcing** — filter the dataset for low-accident, full-service-history cars.

### Input

| Field | Type | Required | Notes |
|---|---|---|---|
| `locales` | `string[]` | no | Storefronts to scrape in full. Any of `de, at, es, fr, fr-be, nl-be, it, nl, pl, se`. Defaults to `["de"]` (largest catalog, ~7,400 cars). |
| `startUrls` | `string[]` | no | Optional direct car URLs (`https://www.autohero.com/de/{brand-model}/id/{uuid}/`). Each scrapes one car. Any `/{locale}/...` URL also adds its storefront to the locale set. |
| `maxItems` | `integer` | no | Max car rows **per locale**. 3 locales × `maxItems: 500` → up to 1,500 rows. Each row is one paid dataset item. Default `1000`. Free-tier users are capped at 100 total. |
| `pageLimit` | `integer` | no | Cars per API request (1–100). Default `100`. |
| `maxConcurrency` | `integer` | no | Parallel API calls. No anti-bot, so 4–8 is comfortable. Default `6`. |
| `maxRequestRetries` | `integer` | no | Per-request retry budget on transient errors. Default `5`. |
| `proxy` | object | no | Apify Residential (any country) recommended. Direct + datacenter also work. Override the country if a locale returns empty. |

#### Example input

```json
{
  "locales": ["de", "fr", "it"],
  "maxItems": 500,
  "pageLimit": 100,
  "maxConcurrency": 6,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
````

### How it works

1. **Resolve the plan** — your `locales` (+ any locales implied by pasted URLs) become catalog jobs; direct car URLs become single-car lookups.
2. **Page 0 per locale** — a single paginated request to Autohero's structured catalog feed (scoped by country) returns the first 100 cars and the `total` count.
3. **Parallel pagination** — remaining offsets are fetched with a sliding window (`limit` + `offset`), capped by your `maxItems`.
4. **Map + dedupe + emit** — each ad is mapped to a flat row, deduped globally by `vehicleId`, and pushed to the dataset. Direct car URLs are fetched by `id`.

### Output schema

Every row has `rowType: "car"`. **~40 fields per car.** Real sample (Sweden storefront):

```jsonc
{
  "rowType": "car",
  "vehicleId": "a1b354eb-ddd9-4602-b621-f870d459c792",
  "stockNumber": "GW78790",
  "retailAdId": "d5bf29eb-7cdf-4053-9011-6e77e9998f6b",
  "locale": "se",
  "countryCode": "SE",
  "detailUrl": "https://www.autohero.com/se/subaru-forester/id/a1b354eb-…/",

  "title": "Subaru Forester 2.0 e-Boxer",
  "make": "Subaru",
  "model": "Forester",
  "trim": "2.0 e-Boxer",

  "builtYear": 2023,
  "firstRegistrationYear": 2024,
  "firstRegistration": "20240108T000000.000Z",
  "mileageKm": 26300,

  "price":            { "amount": 380000, "currency": "SEK" },   // offer price
  "dealerSalesPrice": { "amount": null,   "currency": null  },   // when present
  "monthlyPayment":   { "amount": 4042, "currency": "SEK", "financingMonths": 36 },

  "fuelType": "Petrol",          "fuelTypeCode": 1039,
  "transmission": "Automatic",   "transmissionCode": 1139,
  "driveTrain": "all-wheel-drive",
  "powerKw": 110,  "powerHp": 150,
  "engineCcm": 1995,
  "acceleration0to100": 11.8,
  "isPluginHybrid": false,

  "fuelConsumption": { "city": 7.4, "highway": 6.4, "combined": 8.1 },
  "co2Value": 185,
  "emissionClass": "EURO 6",     "emissionClassCode": 3532,
  "emissionSticker": null,
  "vatType": "VAT deductible",

  "previousOwners": 1,
  "accidents": 0,
  "damages": 2,
  "hasServiceBook": false,
  "lastServiceOn": "20260327",

  "dealer": { "branchId": 0, "name": "...", "city": "...", "zipcode": "...", "street": "..." },

  "mainImageUrl": "https://img-eu-c1.autohero.com/img/…/640x480-….jpg",
  "firstPublishedAt": "…", "publishedAt": "…",
  "retailAdState": "imported-to-retail",
  "isComingSoon": false,
  "scrapedAt": "2026-05-31T…Z"
}
```

### Key output fields

| Field | Meaning |
|---|---|
| `vehicleId` | Autohero's stable car UUID — the dedupe key. |
| `stockNumber` | Human-readable stock code (e.g. `GW78790`). |
| `price` / `dealerSalesPrice` / `monthlyPayment` | Offer price, dealer sales price (when shown), and financing instalment — all in the locale's currency. |
| `mileageKm`, `powerKw` / `powerHp`, `engineCcm` | Odometer + power (kW and computed hp) + displacement. |
| `fuelType` / `transmission` / `emissionClass` | Decoded labels; raw codes kept in `*Code` fields. |
| `accidents` / `damages` / `previousOwners` / `hasServiceBook` | Condition & history signals from Autohero's inspection. |
| `dealer` | Branch handling the car — name, city, zip, street. |
| `detailUrl` / `mainImageUrl` | Canonical public car page + lead image. |

### FAQ

**Which markets are covered?**
All 10 Autohero storefronts: Germany (`de`), Austria (`at`), Spain (`es`), France (`fr`), Belgium French (`fr-be`), Belgium Dutch (`nl-be`), Italy (`it`), Netherlands (`nl`), Poland (`pl`), Sweden (`se`). Prices come back in each market's currency.

**How many cars are there?**
\~23,000 across all locales at the time of writing (DE ~7,400; IT ~3,500; FR ~3,400; ES ~2,500; BE ~1,900; AT ~950; NL ~670; PL ~670; SE ~500). Inventory changes daily.

**Why is `maxItems` per locale, not per run?**
So multi-country runs are predictable: `["de","fr","it"]` with `maxItems: 500` gives up to 500 from each (1,500 total), not 500 split arbitrarily.

**Why are some fields `null`?**
Autohero doesn't publish every field for every car — `dealerSalesPrice`, `emissionSticker`, `previousOwners`, and a few specs are populated for most but not all listings. We never synthesize; absent data is `null`. The raw `fuelTypeCode` / `transmissionCode` / `emissionClassCode` are always present even when a new code hasn't been added to the decode map yet.

**Can I scrape one specific car?**
Yes — paste its URL (`https://www.autohero.com/de/{brand-model}/id/{uuid}/`) into `startUrls`. It's fetched by `id` and emitted as one row.

**What does each dataset-item charge cover?**
One car row with all ~40 fields. `maxItems` is per locale, so a `maxItems: 100` run with 3 locales = up to 300 charges. The Apify Store pricing event is `apify-default-dataset-item`.

### Support

- **Bugs / feature requests** — open an issue on the GitHub repo.
- **Custom exports / extra fields / filters (make, price band, year)** — drop a note via the Apify Store contact form.
- **Other actors** — see my Apify Store profile for the rest of the catalog.

***

### ⚠️ Disclaimer

This Actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by** Autohero, AUTO1 Group SE, or any of their subsidiaries. All trademarks mentioned are the property of their respective owners.

The scraper extracts only **publicly visible** car listings served by Autohero's own public storefront API — no login, no CAPTCHA solving, no access to AUTO1's dealer-only B2B platform. It rate-limits via a concurrency cap (default 6) to avoid burdening Autohero's infrastructure.

Users are responsible for:

- Complying with Autohero's Terms of Service
- Following GDPR and your jurisdiction's data-protection laws when storing or processing scraped listings
- Not republishing scraped data in a way that competes commercially with Autohero

***

### SEO Keywords

autohero scraper, scrape autohero, autohero.com scraper, autohero api, auto1 scraper, used car scraper europe, used car listings api, european car marketplace scraper, car price data, used car price scraper, germany used cars scraper, autohero germany, car inventory api, vehicle data extraction, car mileage data, ev hybrid market share, emission class car data, dealer inventory scraper, automotive market research, car valuation data, apify autohero, used car arbitrage, multi-country car scraper

# Actor input Schema

## `locales` (type: `array`):

Which Autohero storefronts to scrape in full. Each is an independent country catalog. Leave empty to default to Germany (`de`, the largest catalog ~7,400 cars).

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

Optional direct Autohero car URLs (e.g. `https://www.autohero.com/de/audi-q3/id/{uuid}/`). Each scrapes that single car. Any `/{locale}/...` URL also adds its storefront to the locale set above.

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

Maximum car rows emitted **per storefront locale**. 3 locales × `maxItems: 500` → up to 1,500 rows. Each row is one paid dataset item. Default 1000. Free-tier users are capped at 100 total rows.

## `pageLimit` (type: `integer`):

Page size for Autohero's catalog API (1–100). Higher = fewer requests. Default 100.

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

Parallel catalog-API calls. Autohero's API has no anti-bot — 4–8 is comfortable. Default 6.

## `maxRequestRetries` (type: `integer`):

Per-request retry budget on transient errors. Each retry rotates the proxy session. Default 5.

## `proxy` (type: `object`):

Apify Residential (any country) recommended. Autohero's API tolerates direct + datacenter IPs, but residential is the safe default. Some storefronts geo-restrict — override the country if a locale returns empty.

## Actor input object example

```json
{
  "locales": [
    "de"
  ],
  "startUrls": [],
  "maxItems": 1000,
  "pageLimit": 100,
  "maxConcurrency": 6,
  "maxRequestRetries": 5,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

# 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 = {
    "locales": [
        "de"
    ],
    "startUrls": [],
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ]
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("memo23/autohero-cars-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 = {
    "locales": ["de"],
    "startUrls": [],
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
    },
}

# Run the Actor and wait for it to finish
run = client.actor("memo23/autohero-cars-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 '{
  "locales": [
    "de"
  ],
  "startUrls": [],
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}' |
apify call memo23/autohero-cars-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Autohero Cars Scraper — All Europe",
        "description": "Scrape used-car listings from Autohero across all 10 EU storefronts. Get structured rows: make, model, trim, price, mileage, power, fuel, transmission, emissions, accidents, service history, dealer location, and image — straight from Autohero's own catalog API.",
        "version": "0.1",
        "x-build-id": "psYbUQPvicoGyjbQL"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/memo23~autohero-cars-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-memo23-autohero-cars-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/memo23~autohero-cars-scraper/runs": {
            "post": {
                "operationId": "runs-sync-memo23-autohero-cars-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/memo23~autohero-cars-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-memo23-autohero-cars-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": {
                    "locales": {
                        "title": "Storefront locales",
                        "type": "array",
                        "description": "Which Autohero storefronts to scrape in full. Each is an independent country catalog. Leave empty to default to Germany (`de`, the largest catalog ~7,400 cars).",
                        "items": {
                            "type": "string",
                            "enum": [
                                "de",
                                "at",
                                "es",
                                "fr",
                                "fr-be",
                                "nl-be",
                                "it",
                                "nl",
                                "pl",
                                "se"
                            ],
                            "enumTitles": [
                                "Germany (de)",
                                "Austria (at)",
                                "Spain (es)",
                                "France (fr)",
                                "Belgium – French (fr-be)",
                                "Belgium – Dutch (nl-be)",
                                "Italy (it)",
                                "Netherlands (nl)",
                                "Poland (pl)",
                                "Sweden (se)"
                            ]
                        },
                        "default": [
                            "de"
                        ]
                    },
                    "startUrls": {
                        "title": "Car URLs (optional)",
                        "type": "array",
                        "description": "Optional direct Autohero car URLs (e.g. `https://www.autohero.com/de/audi-q3/id/{uuid}/`). Each scrapes that single car. Any `/{locale}/...` URL also adds its storefront to the locale set above.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Max cars per locale",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum car rows emitted **per storefront locale**. 3 locales × `maxItems: 500` → up to 1,500 rows. Each row is one paid dataset item. Default 1000. Free-tier users are capped at 100 total rows.",
                        "default": 1000
                    },
                    "pageLimit": {
                        "title": "Cars per API request",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Page size for Autohero's catalog API (1–100). Higher = fewer requests. Default 100.",
                        "default": 100
                    },
                    "maxConcurrency": {
                        "title": "Max parallel requests",
                        "minimum": 1,
                        "maximum": 12,
                        "type": "integer",
                        "description": "Parallel catalog-API calls. Autohero's API has no anti-bot — 4–8 is comfortable. Default 6.",
                        "default": 6
                    },
                    "maxRequestRetries": {
                        "title": "Max request retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Per-request retry budget on transient errors. Each retry rotates the proxy session. Default 5.",
                        "default": 5
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Apify Residential (any country) recommended. Autohero's API tolerates direct + datacenter IPs, but residential is the safe default. Some storefronts geo-restrict — override the country if a locale returns empty.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ]
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
