{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmobilienScout24 Scraper - Germany Real Estate Listings",
    "description": "Scrape ImmobilienScout24.de listings for the whole of Germany, rent or sale, 16 property types: price, costs, area, rooms, address, GPS, energy data, photos and the agent's phone and e-mail. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "LaV88iDap5Xlcw0F7"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~immobilienscout24-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-immobilienscout24-listings-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/nice_dev~immobilienscout24-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-immobilienscout24-listings-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/nice_dev~immobilienscout24-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-immobilienscout24-listings-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": "Start URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "ImmobilienScout24.de search URLs (`https://www.immobilienscout24.de/Suche/de/berlin/berlin/wohnung-mieten?price=-1500.0`, radius and map-area searches too — every filter set on the site is kept, pagination is automatic) or listing URLs (`https://www.immobilienscout24.de/expose/171143307`). When this list is not empty, the search fields below (property type, keywords, locations) are ignored; site filters set here are added to those of the URL, post-filters, caps and monitoring still apply. Max 1 000 URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "apartment",
              "house",
              "plot",
              "garage",
              "flatshare",
              "temporaryLiving",
              "office",
              "retail",
              "gastronomy",
              "industry",
              "specialPurpose",
              "investment",
              "foreclosure",
              "prefabHouse",
              "commercialPlot",
              "assistedLiving"
            ],
            "type": "string",
            "description": "What to search. Combined with **Offer type** (rent / buy).",
            "default": "apartment"
          },
          "offerType": {
            "title": "Offer type",
            "enum": [
              "rent",
              "buy",
              "any"
            ],
            "type": "string",
            "description": "Rent, buy, or both (both = two searches for homes, one unfiltered search for commercial property). Ignored for the types that only exist one way (flat-share, temporary living: rent; investment, foreclosure, prefab house: buy). Gastronomy, commercial plots, assisted living: the site cannot search their rentals alone — a rent search returns their sales too (told apart by the `offerType` column).",
            "default": "rent"
          },
          "propertyTypes": {
            "title": "More property types",
            "maxItems": 16,
            "uniqueItems": true,
            "type": "array",
            "description": "Several property types in one run (same values as **Property type**: `apartment`, `house`, `plot`, `garage`, `flatshare`, `temporaryLiving`, `office`, `retail`, `gastronomy`, `industry`, `specialPurpose`, `investment`, `foreclosure`, `prefabHouse`, `commercialPlot`, `assistedLiving`). Added to **Property type**; each one is searched in every location with every keyword.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "query": {
            "title": "Search keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Free-text search in the listings (the site's `fulltext` search), e.g. `Kamin` or `Altbau`. Empty = no keyword."
          },
          "searchQueries": {
            "title": "More search keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several keywords in one run: one search per keyword (times each location and property type). Added to **Search keyword**; listings found by several searches are saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "maxLength": 200,
            "type": "string",
            "description": "German city, district, town quarter or federal state, as typed in the site's search box (`Berlin`, `München`, `Prenzlauer Berg`, `Bayern`), or an ImmoScout24 region path (`/de/berlin/berlin`). The best match of the site's own location search is used and written in the log. Empty = the whole of Germany."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several locations in one run: every keyword and property type is searched in every location (3 keywords × 4 locations = 12 searches, max 500). Added to **Location**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Latitude (radius search)",
            "minimum": 47,
            "maximum": 55.5,
            "type": "number",
            "description": "Centre of a radius search, with **Longitude** and **Radius**. When set, it replaces **Location**."
          },
          "longitude": {
            "title": "Longitude (radius search)",
            "minimum": 5.5,
            "maximum": 15.5,
            "type": "number",
            "description": "Centre of a radius search, with **Latitude** and **Radius**."
          },
          "radiusKm": {
            "title": "Radius",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Radius around **Latitude** / **Longitude**, in km (the site's radius search).",
            "default": 10
          },
          "listingIds": {
            "title": "Listing ids or URLs",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Fetch these listings directly, by Scout-ID (`171143307`) or listing URL. Always added to the searches above; each one costs one request, is not affected by the site filters, and is charged the **Extract details** price (it is read on its own page).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of listings to save for the whole run (after deduplication and filters). 0 = no limit — a single search can return every listing of Germany (≈ 83 000 apartments for rent), there is no page limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max listings per search",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap for EACH search (property type × location × keyword, or search URL), so that the first search cannot use up the whole **Max listings** budget. 0 = no per-search cap.",
            "default": 0
          },
          "extractDetails": {
            "title": "Extract details",
            "type": "boolean",
            "description": "Open each listing (1 extra request per listing) for the full description, all costs (service charge, heating, deposit, commission, purchase costs), energy certificate, building data, all photos, the contact's name, company and e-mail (phone numbers: **Extract phone numbers**). Off (default) = the search-card fields only (title, price, area, rooms, address, coordinates, first photos, date): faster and cheaper.",
            "default": false
          },
          "extractPhone": {
            "title": "Extract phone numbers",
            "type": "boolean",
            "description": "Add the contact's phone numbers (`phone`, `phones`: mobile and landline) read on the listing page (needs **Extract details**: ticked alone, it delivers no phone and the run log says so). Charged only for a listing that shows at least one number; a listing without a phone costs nothing more. Off (default) = no phone in the output: `phone` / `phones` empty, the numbers of the agent's legal notice (`imprint`) replaced by `[phone hidden]`. Always on with **Only with a phone number**.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "oldest",
              "priceAsc",
              "priceDesc",
              "areaAsc",
              "areaDesc",
              "standard"
            ],
            "type": "string",
            "description": "Order in which the site returns the listings. Newest first is the one used to stop early on **Posted after** / **Only new listings**. `standard` = the site's default order (paid listings first). Not every type has every order (no area order for plots or garages for sale, no price order for foreclosures): such a search stops at once, naming the sort.",
            "default": "newest"
          },
          "minPrice": {
            "title": "Min price (€)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Lowest price: monthly rent for rentals (cold rent unless **Price type** says total rent), purchase price for sales. Not for: offices, retail, gastronomy, halls, special properties, foreclosures, commercial plots, assisted living."
          },
          "maxPrice": {
            "title": "Max price (€)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Highest price (same rules as **Min price**)."
          },
          "priceType": {
            "title": "Price type (apartments for rent)",
            "enum": [
              "coldRent",
              "totalRent"
            ],
            "type": "string",
            "description": "Which rent the price filter reads for apartments for rent: cold rent (Kaltmiete, the site's default) or total rent including service charges (Warmmiete).",
            "default": "coldRent"
          },
          "minRooms": {
            "title": "Min rooms",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Lowest number of rooms (half rooms allowed: `2.5`). Works for: apartments, houses, temporary living."
          },
          "maxRooms": {
            "title": "Max rooms",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Highest number of rooms."
          },
          "minLivingSpace": {
            "title": "Min living space (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Lowest living space. Works for: apartments, houses, flat-share rooms, prefab houses."
          },
          "maxLivingSpace": {
            "title": "Max living space (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Highest living space."
          },
          "minPlotArea": {
            "title": "Min plot area (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Lowest plot area. Works for: plots, commercial plots."
          },
          "maxPlotArea": {
            "title": "Max plot area (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Highest plot area."
          },
          "minFloorArea": {
            "title": "Min floor space (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Lowest net floor space. Works for: offices, retail, halls, investment property."
          },
          "maxFloorArea": {
            "title": "Max floor space (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Highest net floor space."
          },
          "minYearBuilt": {
            "title": "Built from (year)",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Earliest construction year. Works for: apartments, houses."
          },
          "maxYearBuilt": {
            "title": "Built until (year)",
            "minimum": 1000,
            "maximum": 2100,
            "type": "integer",
            "description": "Latest construction year."
          },
          "minFloor": {
            "title": "Min floor",
            "minimum": -5,
            "maximum": 200,
            "type": "integer",
            "description": "Lowest floor (0 = ground floor). Works for: apartments."
          },
          "maxFloor": {
            "title": "Max floor",
            "minimum": -5,
            "maximum": 200,
            "type": "integer",
            "description": "Highest floor."
          },
          "equipment": {
            "title": "Equipment",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep the listings that have ALL of these (the site's equipment filter). Each one works for some property types only — Balcony / terrace: apartments, assisted living. Garden: apartments, assisted living. Fitted kitchen: apartments, houses for rent. Lift: apartments, halls. Cellar: apartments, houses, temporary living, retail, gastronomy, special properties. Guest toilet: apartments, houses, temporary living. Garage / parking space: apartments, houses, temporary living, assisted living. Step-free access: apartments, houses, flat-share rooms, temporary living, offices, assisted living.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "garden",
                "builtinkitchen",
                "lift",
                "cellar",
                "guesttoilet",
                "parking",
                "handicappedaccessible"
              ],
              "enumTitles": [
                "Balcony / terrace",
                "Garden",
                "Fitted kitchen",
                "Lift",
                "Cellar",
                "Guest toilet",
                "Garage / parking space",
                "Step-free access"
              ]
            },
            "default": []
          },
          "energyEfficiencyClasses": {
            "title": "Energy efficiency classes",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep the listings of these energy classes (energy certificate). Not for: plots, garages, prefab houses, commercial plots, assisted living.",
            "items": {
              "type": "string",
              "enum": [
                "a_plus",
                "a",
                "b",
                "c",
                "d",
                "e",
                "f",
                "g",
                "h"
              ],
              "enumTitles": [
                "A+",
                "A",
                "B",
                "C",
                "D",
                "E",
                "F",
                "G",
                "H"
              ]
            },
            "default": []
          },
          "apartmentTypes": {
            "title": "Apartment types",
            "uniqueItems": true,
            "type": "array",
            "description": "The site's apartment categories. Works for: apartments.",
            "items": {
              "type": "string",
              "enum": [
                "apartment",
                "loft",
                "maisonette",
                "penthouse",
                "terracedflat",
                "groundfloor",
                "raisedgroundfloor",
                "roofstorey",
                "halfbasement",
                "other"
              ],
              "enumTitles": [
                "Floor apartment (Etagenwohnung)",
                "Loft",
                "Maisonette",
                "Penthouse",
                "Terrace apartment",
                "Ground floor",
                "Raised ground floor",
                "Attic (Dachgeschoss)",
                "Souterrain",
                "Other"
              ]
            },
            "default": []
          },
          "buildingTypes": {
            "title": "House types",
            "uniqueItems": true,
            "type": "array",
            "description": "The site's house categories. Works for: houses, prefab houses. The site files mid- and end-terrace houses under one category (either value returns both), and castles / manors with special properties.",
            "items": {
              "type": "string",
              "enum": [
                "singlefamilyhouse",
                "semidetachedhouse",
                "midterracehouse",
                "endterracehouse",
                "multifamilyhouse",
                "bungalow",
                "villa",
                "farmhouse",
                "castlemanorhouse",
                "specialrealestate"
              ],
              "enumTitles": [
                "Detached house",
                "Semi-detached house",
                "Mid-terrace house",
                "End-terrace house",
                "Multi-family house",
                "Bungalow",
                "Villa",
                "Farmhouse",
                "Castle / manor",
                "Special property"
              ]
            },
            "default": []
          },
          "newBuildingOnly": {
            "title": "New buildings only",
            "type": "boolean",
            "description": "Only new-build listings (Neubau). Works for: apartments, houses.",
            "default": false
          },
          "excludeNewBuildProjects": {
            "title": "Exclude new-build projects",
            "type": "boolean",
            "description": "Drop the listings that are units of a developer's new-build project. Sent to the site for apartments and houses for sale; applied to the results for the other types.",
            "default": false
          },
          "noCommissionOnly": {
            "title": "Commission-free only",
            "type": "boolean",
            "description": "Only the listings without a buyer's / tenant's commission (provisionsfrei). Not for: foreclosures, prefab houses, assisted living.",
            "default": false
          },
          "petsAllowed": {
            "title": "Pets allowed",
            "type": "boolean",
            "description": "Only the rentals where pets are allowed. Works for: apartments for rent, houses for rent, flat-share rooms, temporary living, assisted living.",
            "default": false
          },
          "excludeRented": {
            "title": "Exclude rented-out properties",
            "type": "boolean",
            "description": "Drop the properties that are currently let (vermietet). Works for: apartments for sale, houses for sale.",
            "default": false
          },
          "minInternetSpeed": {
            "title": "Min internet speed (Mbit/s)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Lowest internet speed available at the address, as given by the site. Not for: plots, garages, prefab houses, commercial plots, assisted living."
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Only listings published on or after this date: `2026-09-01`, or a period before now such as `7 days`, `2 weeks` (via the API also `24 hours` or a full ISO date-time). The date read is `publishedAt`: derived from the site's “x hours / days / months ago” (precision in `publishedAtPrecision`), exact to the second for the listings still in the site's early access (about 1 in 15 of the listings under 3 days old). The site rounds (“3 days ago” = 2.5 to 3.5 days ago): a listing that may be inside the range is kept, never dropped."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Only listings published on or before this date (the whole day is included), or older than a period such as `30 days`."
          },
          "postalCodes": {
            "title": "Postal codes",
            "maxItems": 500,
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only the listings in these postal codes (5 digits, or a prefix such as `101` for 101xx). Combine with a **Location** that contains them, e.g. Berlin.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the listings whose title contains one of these words (case and accents ignored).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "privateSellersOnly": {
            "title": "Private landlords / sellers only",
            "type": "boolean",
            "description": "Keep only the listings of private persons (no agencies). Read on the search card: no extra request.",
            "default": false
          },
          "requirePhone": {
            "title": "Only with a phone number",
            "type": "boolean",
            "description": "Keep only the listings whose contact shows a phone number (needs **Extract details**). The phone is on the listing page: each page read and then dropped for lack of one costs $0.45 / 1,000 (apartments for rent: about 2 dropped per listing kept). Turns **Extract phone numbers** on: the phone of each listing kept is delivered and charged.",
            "default": false
          },
          "requireEmail": {
            "title": "Only with an e-mail",
            "type": "boolean",
            "description": "Keep only the listings whose agent publishes an e-mail in the legal notice (needs **Extract details**; private persons never do: dropped on the search card, without reading their page). An agency listing page read and then dropped for lack of one costs $0.45 / 1,000.",
            "default": false
          },
          "earlyAccessOnly": {
            "title": "Early-access listings only",
            "type": "boolean",
            "description": "Keep only the listings still in the site's early access for paying members (Suchen+, the first 2 to 5 days of some listings: about 1 in 15 of the listings under 3 days old), with a publication time exact to the second. Read on the search card: no extra request.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new listings",
            "type": "boolean",
            "description": "Skip the listings that a previous run (same **Memory key**) already delivered: they are not saved and not charged, and their page is not even opened. First run = everything is new.",
            "default": false
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new listings**. Give each schedule / task its own key (e.g. `berlin-rentals`) so that they do not share their memory. Letters, digits, `-` and `_`.",
            "default": "default"
          },
          "resetState": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget everything remembered under this **Memory key** before the run: this run returns (and charges) every listing again. Untick it afterwards.",
            "default": false
          },
          "includeRaw": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Add `raw`: the site's search card and listing page exactly as received (≈ 20-50 KB per listing). For your own parsing in JSON or through the API; the other fields already hold every value. Leave it off for a CSV or Excel export: with **Extract details**, `raw` adds hundreds of columns per listing, and those exports keep only the first 2,000 columns — other columns would be missing.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies. Keep the default: it is included in the price. The residential Apify proxy is not available in this Actor.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of requests processed in parallel.",
            "default": 4
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 2000,
            "type": "integer",
            "description": "Global request rate. The site limits the requests per IP address; the Actor already changes IP when it is slowed down. Lower it if the log keeps showing HTTP 429.",
            "default": 120
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed.",
            "default": 8
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Include debug messages in the run log.",
            "default": false
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}