{
  "openapi": "3.0.1",
  "info": {
    "title": "Kleinanzeigen Immobilien Scraper",
    "description": "Scrape real-estate listings from Kleinanzeigen.de: apartments and houses to rent or buy, shared flats, plots, commercial. Cold and warm rent, costs, deposit, area, rooms, floor, year, amenities, agency and phone. Export JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "PIRed4e1dpELiKzq8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~kleinanzeigen-immobilien-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-kleinanzeigen-immobilien-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~kleinanzeigen-immobilien-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-kleinanzeigen-immobilien-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~kleinanzeigen-immobilien-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-kleinanzeigen-immobilien-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": "Kleinanzeigen real-estate search URLs (`https://www.kleinanzeigen.de/s-wohnung-mieten/berlin/c203l3331`, pagination is automatic), seller pages (`https://www.kleinanzeigen.de/s-bestandsliste.html?userId=123745993`) or single listing URLs. A search URL outside the Immobilien section is refused; one without a category searches all of Immobilien. A pasted search keeps the search, the filters and the sort written in its URL: when this list is not empty, the search fields below (property types, keyword, location, sellers, shops) AND the **Site filters** are ignored, like the **Property filters** (the log names them) — set those on the site before copying the URL. The other filters, the 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"
                }
              }
            }
          },
          "propertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Which part of Kleinanzeigen's Immobilien section to search: one search per type (times each keyword and location below). Empty = all 11 types (the site's moving / transport services are never included).",
            "items": {
              "type": "string",
              "enum": [
                "apartment-rent",
                "apartment-buy",
                "house-rent",
                "house-buy",
                "shared-temporary",
                "land-garden",
                "commercial",
                "holiday-abroad",
                "garage-parking",
                "container",
                "other"
              ],
              "enumTitles": [
                "Apartments for rent (Mietwohnungen)",
                "Apartments for sale (Eigentumswohnungen)",
                "Houses for rent (Häuser zur Miete)",
                "Houses for sale (Häuser zum Kauf)",
                "Temporary & shared flats (Auf Zeit & WG)",
                "Plots & gardens (Grundstücke & Gärten)",
                "Commercial (Gewerbeimmobilien)",
                "Holiday & abroad (Ferien- & Auslandsimmobilien)",
                "Garages & parking (Garagen & Stellplätze)",
                "Containers",
                "Other real estate (Weitere Immobilien)"
              ]
            },
            "default": []
          },
          "offerType": {
            "title": "Rent or buy",
            "enum": [
              "ANY",
              "RENT",
              "BUY"
            ],
            "type": "string",
            "description": "Rentals only or sales only. Apartments and houses have a rent and a buy type of their own (the other one is skipped, the log says so); plots, commercial, holiday homes, garages and containers are filtered by the site on the seller's Art field. Other real estate has no such field and is skipped when this is set.",
            "default": "ANY"
          },
          "query": {
            "title": "Search keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Free-text search inside the chosen property types, as typed on the site (e.g. `altbau`, `balkon`). Empty = every listing."
          },
          "searchQueries": {
            "title": "More search keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several keywords in one run: one search per keyword (times each location below). Added to **Search keyword**; listings found by several searches are saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "maxLength": 200,
            "type": "string",
            "description": "City, district or postcode as typed on the site (e.g. `Berlin`, `10115`), or the site's own id (`l3331`). A name several places share gives the place of that name, the biggest one if several (`Hagen` = Hagen in NRW, not Hagen im Bremischen; `Frankfurt` = Frankfurt am Main; the log names the others — type the full name, `Frankfurt (Oder)`, to choose another). Empty = whole Germany."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several locations in one run: every keyword is searched in every location (3 keywords × 4 locations = 12 searches for each property type, max 500). Added to **Location**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Search radius around each location. 0 = the location only (no surroundings). Ignored when no location is given.",
            "default": 0
          },
          "sellerIds": {
            "title": "Seller ids or URLs",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Every real-estate ad of these sellers (an agency, a landlord): numeric user id, seller-page URL or listing URL of the seller. Each seller counts as one search per property type; keyword and filters still apply to it.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "storeIds": {
            "title": "Shop ids or URLs",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Every real-estate ad of these commercial shops (agencies with a Kleinanzeigen shop): the numeric shop id this Actor returns in the storeId column. Same rules as seller ids.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "listingIds": {
            "title": "Listing ids or URLs",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Fetch these listings directly, by id (`3516612023`) or by URL. Always added to the searches above; each id costs one request and is not affected by the site and property filters. Such a listing is always read on its own page, so it is charged the **Extract details** price even when that box is off.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of listings to save for the whole run (after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max listings per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH search (keyword × location, seller, shop or search URL), so that the first search cannot use up the whole **Max listings** budget. 0 = no per-search cap. The site itself never returns more than 10 000 listings per search.",
            "default": 0
          },
          "extractDetails": {
            "title": "Extract details",
            "type": "boolean",
            "description": "Open each listing (1 extra request per listing) for the full description, the seller's name, registration date, rating and badges, the agency imprint and e-mail, the street, and the phone number when the seller published one. Every real-estate field (area, rooms, rents, amenities…) is already on the results page: off (the default) = all of them, ≈ 100 listings per request, much faster and cheaper (no Details charge). **With phone number only** needs it on.",
            "default": false
          },
          "minPrice": {
            "title": "Min price (€)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Lowest price: the cold rent (Kaltmiete) for apartments and houses to rent, the warm rent for Auf Zeit & WG, the purchase price for sales. With **Min price** or **Max price** set, even `0`, the site drops the listings that show no amount."
          },
          "maxPrice": {
            "title": "Max price (€)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Highest price (same meaning as **Min price**). Set, it drops the listings that show no amount too."
          },
          "sellerType": {
            "title": "Seller type",
            "enum": [
              "ANY",
              "PRIVATE",
              "COMMERCIAL"
            ],
            "type": "string",
            "description": "Keep private sellers only, commercial sellers only, or both.",
            "default": "ANY"
          },
          "adType": {
            "title": "Ad type",
            "enum": [
              "ANY",
              "OFFERED",
              "WANTED"
            ],
            "type": "string",
            "description": "Offers, the site's Angebote — or wanted ads, its Gesuche — or both.",
            "default": "ANY"
          },
          "pictureRequired": {
            "title": "With photo only",
            "type": "boolean",
            "description": "Keep only the listings that have at least one photo.",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "DATE_DESCENDING",
              "PRICE_ASCENDING",
              "PRICE_DESCENDING",
              "DISTANCE_ASCENDING"
            ],
            "type": "string",
            "description": "Order in which the site returns the listings. Newest first is the default and the one used to stop early on **Posted after** / **Only new listings**.",
            "default": "DATE_DESCENDING"
          },
          "attributeFilters": {
            "title": "Category attributes",
            "type": "object",
            "description": "Advanced: any other attribute filter of the site, as `attribute: value` — the `name` of an entry of `attributeList` in the output (e.g. `wohnung_mieten.swap`: `nein`, `auf_zeit_wg.rauchen`: `unerwuenscht`). Ranges `min,max`, open ends allowed. Needs a property type that owns the attribute; one value per attribute; the site ignores an unknown name without error.",
            "default": {}
          },
          "minArea": {
            "title": "Min area (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Living area of apartments, houses and rooms; floor area of commercial properties and containers."
          },
          "maxArea": {
            "title": "Max area (m²)",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Same area as **Min area**."
          },
          "minRooms": {
            "title": "Min rooms",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Zimmer (half rooms count as .5): apartments, houses, Auf Zeit & WG."
          },
          "maxRooms": {
            "title": "Max rooms",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Same as **Min rooms**."
          },
          "minPlotArea": {
            "title": "Min plot area (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Grundstücksfläche of a house, or the size of a plot / garden."
          },
          "maxPlotArea": {
            "title": "Max plot area (m²)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Same as **Min plot area**."
          },
          "minFloor": {
            "title": "Min floor",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Etage of an apartment or a commercial unit (0 = ground floor)."
          },
          "maxFloor": {
            "title": "Max floor",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Same as **Min floor**."
          },
          "minConstructionYear": {
            "title": "Built in or after",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Baujahr: apartments and houses for sale, houses for rent, commercial, containers."
          },
          "maxConstructionYear": {
            "title": "Built in or before",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Same as **Built in or after**."
          },
          "availableFrom": {
            "title": "Available from (month)",
            "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
            "maxLength": 7,
            "type": "string",
            "description": "Verfügbar ab on or after this month, written like `2026-11`. Filtered by the site on the month the seller typed."
          },
          "availableTo": {
            "title": "Available by (month)",
            "pattern": "^\\d{4}-(0[1-9]|1[0-2])$",
            "maxLength": 7,
            "type": "string",
            "description": "Verfügbar ab on or before this month, written like `2027-03`."
          },
          "apartmentType": {
            "title": "Apartment type",
            "enum": [
              "ANY",
              "etagenwohnung",
              "dachgeschosswohnung",
              "erdgeschosswohnung",
              "hochparterre",
              "maisonette",
              "penthouse",
              "loft",
              "souterrain",
              "terrassenwohnung",
              "andere"
            ],
            "type": "string",
            "description": "Wohnungstyp (apartments to rent and to buy; other types are skipped).",
            "default": "ANY"
          },
          "houseType": {
            "title": "House type",
            "enum": [
              "ANY",
              "einfamilienhaus",
              "doppelhaushaelfte",
              "reihenhaus",
              "mehrfamilienhaus",
              "bungalow",
              "bauernhaus",
              "villa",
              "andere"
            ],
            "type": "string",
            "description": "Haustyp (houses to rent and to buy; other types are skipped).",
            "default": "ANY"
          },
          "commercialType": {
            "title": "Commercial type",
            "enum": [
              "ANY",
              "bueros_praxen",
              "einzelhandel_kioske",
              "gastronomie_hotels",
              "gewerbeeinheit",
              "lager_hallen_produktion"
            ],
            "type": "string",
            "description": "Objektart of commercial properties (other types are skipped).",
            "default": "ANY"
          },
          "plotType": {
            "title": "Plot type",
            "enum": [
              "ANY",
              "baugrundstueck",
              "garten",
              "land_forstwirtschaft",
              "andere"
            ],
            "type": "string",
            "description": "Grundstücksart of plots & gardens (other types are skipped).",
            "default": "ANY"
          },
          "accommodationType": {
            "title": "Room or whole place (Auf Zeit & WG)",
            "enum": [
              "ANY",
              "entire_accommodation",
              "private_room",
              "shared_room"
            ],
            "type": "string",
            "description": "Art der Unterkunft of Auf Zeit & WG (other types are skipped).",
            "default": "ANY"
          },
          "amenities": {
            "title": "Required amenities",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only the listings with ALL of these (as ticked by the seller). A property type that cannot have one of them is skipped (a balcony on a garage), the log says so.",
            "items": {
              "type": "string",
              "enum": [
                "balcony",
                "terrace",
                "garden",
                "cellar",
                "builtInKitchen",
                "parking",
                "elevator",
                "guestWc",
                "bathtub",
                "furnished",
                "petsAllowed",
                "barrierFree",
                "floorHeating",
                "oldBuilding",
                "newBuilding",
                "wgSuitable",
                "attic",
                "historicBuilding",
                "currentlyRented",
                "grannyFlat",
                "wifi",
                "washingMachine",
                "dishwasher",
                "airConditioning",
                "heavyCurrent",
                "onlineViewing"
              ],
              "enumTitles": [
                "Balcony",
                "Terrace",
                "Garden",
                "Cellar",
                "Built-in kitchen",
                "Garage / parking",
                "Elevator",
                "Guest WC",
                "Bathtub",
                "Furnished",
                "Pets allowed",
                "Step-free access",
                "Floor heating",
                "Old building (Altbau)",
                "New building (Neubau)",
                "Suitable for a shared flat",
                "Attic (Dachboden)",
                "Listed building",
                "Currently rented (investment)",
                "Granny flat (Einliegerwohnung)",
                "Wi-Fi",
                "Washing machine",
                "Dishwasher",
                "Air conditioning",
                "Heavy current (Starkstrom)",
                "Online viewing"
              ]
            },
            "default": []
          },
          "noCommission": {
            "title": "Commission-free only",
            "type": "boolean",
            "description": "Provisionsfrei: keep only the listings whose seller says there is no broker's commission (sales, plots, commercial, garages; rentals have no such field and are skipped).",
            "default": false
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Only listings published on or after this date: `2026-09-01`, a full ISO date-time, or a period before now such as `24 hours`, `7 days`, `2 weeks`, `1 month`. The site gives the publication time to the second, so a run every hour with `1 hour` returns exactly the new ads."
          },
          "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`."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the listings whose title or description contains one of these words (case and German umlauts ignored; a word inside a longer one counts: `rad` drops `Fahrrad`). Without **Extract details** the description is the short preview of the card.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxWarmRent": {
            "title": "Max warm rent (€)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Drop the rentals whose warm rent (Warmmiete) is above this, or unknown — the site does not filter it, so it is checked on each result and charged as a filter check. Auf Zeit & WG prices are warm rents already. The rentals of plots, commercial properties, holiday homes, garages and containers have none: only their sales are searched."
          },
          "priceTypes": {
            "title": "Price types",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only these kinds of price: a fixed amount, negotiable (VB, with or without an amount), or free (Zu verschenken). Empty = all. Checked on each listing, and charged as a filter check, kept or not.",
            "items": {
              "type": "string",
              "enum": [
                "SPECIFIED_AMOUNT",
                "PLEASE_CONTACT",
                "FREE"
              ],
              "enumTitles": [
                "Fixed amount",
                "Negotiable (VB)",
                "Free (Zu verschenken)"
              ]
            },
            "default": []
          },
          "requirePhone": {
            "title": "With phone number only",
            "type": "boolean",
            "description": "Keep only the listings whose seller published a phone number (≈ 69 % of commercial sellers, ≈ 4 % of private ones). Needs **Extract details**. The phone is only on the listing's own page: each page read, then dropped for lack of a phone, is charged as a *Filtered listing* event (see the pricing). On private sellers, hundreds of pages can be read for few listings: the run stops after 300 pages in a row without a phone, and never goes past your maximum cost.",
            "default": false
          },
          "minImages": {
            "title": "Min photos",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Drop the listings with fewer photos than this. 0 = no filter.",
            "default": 0
          },
          "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
          },
          "includeViewCount": {
            "title": "View count",
            "type": "boolean",
            "description": "Add how many times the listing has been viewed (`viewCount`). Costs 1 extra tiny request per listing and counts as one visit on the site, exactly like opening the page in a browser.",
            "default": false
          },
          "includeRaw": {
            "title": "Include raw data",
            "type": "boolean",
            "description": "Add a `raw` field with the untouched JSON of the site (listing card and detail). Useful to recover a field this Actor does not map yet; makes the dataset ≈ 5× bigger.",
            "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": 8
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 2000,
            "type": "integer",
            "description": "Global request rate. With **View count** on, a listing page and its view counter count as ONE request here: the counter is read together with its page, on top of this rate (up to twice as many requests to the site). In list mode (**Extract details** off) each view counter is a request of its own. Lower it if the site answers HTTP 429 / 403 in the log.",
            "default": 240
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed.",
            "default": 5
          },
          "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}