{
  "openapi": "3.0.1",
  "info": {
    "title": "ImmoScout24 Scraper 💰 $1.00/1K — Germany & Switzerland",
    "description": "Scrape ImmoScout24 listings across Germany and Switzerland — apartments and houses, for sale or rent, with price, living area, rooms, images, coordinates and descriptions. Adds the German cold/warm rent breakdown, agent contacts, and incremental monitoring for new listings.",
    "version": "0.1",
    "x-build-id": "N6dCQTRkXgSwc6Ctw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blackfalcondata~immoscout24-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blackfalcondata-immoscout24-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/blackfalcondata~immoscout24-scraper/runs": {
      "post": {
        "operationId": "runs-sync-blackfalcondata-immoscout24-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/blackfalcondata~immoscout24-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-blackfalcondata-immoscout24-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": {
          "keyword": {
            "title": "🔤 Keyword",
            "type": "string",
            "description": "Words that must ALL appear in the listing (for example \"altbau balkon\"). Germany: the portal's full-text search. Switzerland: checked against title and description."
          },
          "location": {
            "title": "📍 Location",
            "type": "string",
            "description": "Optional ImmoScout24 location: a city, district, postcode or German federal state, or several separated by commas. Example: berlin, berlin/charlottenburg, Bayern or \"Berlin, Brandenburg\". Leave empty in sitemap-detail mode to crawl the latest listings nationwide."
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "DE",
              "CH"
            ],
            "type": "string",
            "description": "ImmoScout24 market to scrape: Germany (`DE`, immobilienscout24.de) or Switzerland (`CH`, immoscout24.ch). Switzerland returns multilingual listings (de/fr/it/en), agent contacts, and Swiss building-register IDs.",
            "default": "DE"
          },
          "maxResults": {
            "title": "💯 Max Results",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum total listings to return. This is the primary cost control — Apify charges per emitted record. Use this to cap your run cost regardless of how many listings the source has.",
            "default": 100
          },
          "startUrls": {
            "title": "🔗 Start URLs",
            "type": "array",
            "description": "Direct ImmoScout24 search URLs, as plain URLs or {\"url\": \"...\"} objects. Overrides the generated search path when provided. Also accepts German agency profile URLs (immobilienscout24.de/anbieter/profil/...): returns the agency's listings for sale and for rent plus the ones it already sold or let (listingStatus). Add ?type=miete, verkauf or vermarktet and ?category=wohnen or gewerbe to the URL to read one tab only.",
            "items": {
              "type": "string"
            }
          },
          "propertyType": {
            "title": "Property Type",
            "enum": [
              "apartment",
              "house",
              "apartment_and_house"
            ],
            "type": "string",
            "description": "Which property family to search.",
            "default": "apartment"
          },
          "marketingType": {
            "title": "Marketing Type",
            "enum": [
              "buy",
              "rent",
              "buy_and_rent"
            ],
            "type": "string",
            "description": "Whether to search properties for sale or rent.",
            "default": "buy"
          },
          "priceMin": {
            "title": "💰 Min Price",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price (purchase price, or monthly cold rent for rentals). Applied by the portal's own search in Germany and Switzerland."
          },
          "priceMax": {
            "title": "💰 Max Price",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum price. See Min Price."
          },
          "areaMin": {
            "title": "📐 Min Living Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum living area in square metres."
          },
          "areaMax": {
            "title": "📐 Max Living Area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum living area in square metres."
          },
          "roomsMin": {
            "title": "🚪 Min Rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of rooms."
          },
          "roomsMax": {
            "title": "🚪 Max Rooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of rooms."
          },
          "radiusKm": {
            "title": "📍 Search Radius (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Search within this many kilometres. Germany: around the location (or around Latitude/Longitude when no location is set); towns outside the built-in city list are always searched by radius around their centre. Switzerland: around the searched place. Each result then carries distanceKm."
          },
          "constructionYearMin": {
            "title": "🏗️ Min Construction Year",
            "minimum": 1850,
            "maximum": 2035,
            "type": "integer",
            "description": "Only include properties built in or after this year. Germany: applied by the portal. Switzerland: checked on each listing; listings that do not state a year are left out."
          },
          "constructionYearMax": {
            "title": "🏗️ Max Construction Year",
            "minimum": 1850,
            "maximum": 2035,
            "type": "integer",
            "description": "Only include properties built in or before this year. See Min Construction Year."
          },
          "sort": {
            "title": "↕️ Sort Order",
            "enum": [
              "relevance",
              "newest",
              "price_asc",
              "price_desc",
              "area_asc",
              "area_desc"
            ],
            "type": "string",
            "description": "Order of results. Germany: all options. Switzerland: Relevance or Newest first only (other orders are not offered there and are ignored with a warning). 'Newest first' pairs well with Incremental Mode."
          },
          "features": {
            "title": "✨ Required Features",
            "type": "array",
            "description": "Only include listings that have ALL of these features. Germany: balcony, builtinkitchen, garden, cellar, lift, parking, handicappedaccessible, guesttoilet. Switzerland: balcony, lift, parking, cellar, handicappedaccessible (checked on each listing; a listing that does not state the feature is left out). Unknown values stop the run with a list of valid ones.",
            "items": {
              "type": "string"
            }
          },
          "excludeFeatures": {
            "title": "🚫 Exclude Listing Kinds",
            "type": "array",
            "description": "Exclude listings of these kinds (Germany). Supported: swapflat (Tauschwohnung), projectlisting (new-build project umbrella ads).",
            "items": {
              "type": "string"
            }
          },
          "newBuildOnly": {
            "title": "🆕 New builds only",
            "type": "boolean",
            "description": "Only new-build / first-occupancy listings. Germany: applied by the portal. Switzerland: listings flagged as new build."
          },
          "petsAllowed": {
            "title": "🐾 Pets allowed",
            "type": "boolean",
            "description": "Germany, rentals only: only listings where pets are allowed."
          },
          "energyEfficiencyClasses": {
            "title": "⚡ Energy efficiency classes",
            "type": "array",
            "description": "Germany: only listings in these energy classes. Values: A+, A, B, C, D, E, F, G, H.",
            "items": {
              "type": "string"
            }
          },
          "heatingTypes": {
            "title": "🔥 Heating types",
            "type": "array",
            "description": "Germany: only listings with these heating types. Values: central, selfcontainedcentral (self-contained central/floor heating), stove.",
            "items": {
              "type": "string"
            }
          },
          "apartmentTypes": {
            "title": "🏢 Apartment types",
            "type": "array",
            "description": "Germany, apartment searches: only these types. Values: apartment, roofstorey, loft, maisonette, penthouse, terracedflat, groundfloor, raisedgroundfloor, halfbasement, other.",
            "items": {
              "type": "string"
            }
          },
          "houseTypes": {
            "title": "🏡 House types",
            "type": "array",
            "description": "Germany, house searches: only these types. Values: singlefamilyhouse, villa, bungalow, farmhouse, multifamilyhouse, semidetachedhouse, terracehouse, endterracehouse, midterracehouse, otherrealestate.",
            "items": {
              "type": "string"
            }
          },
          "floorMin": {
            "title": "⬇️ Min floor",
            "minimum": -1,
            "maximum": 100,
            "type": "integer",
            "description": "Apartments: lowest floor (0 = ground floor). Germany: applied by the portal. Switzerland: checked on each listing; listings without a floor are left out."
          },
          "floorMax": {
            "title": "⬆️ Max floor",
            "minimum": -1,
            "maximum": 100,
            "type": "integer",
            "description": "Apartments: highest floor. See Min floor."
          },
          "commissionFreeOnly": {
            "title": "🤝 Commission-free only",
            "type": "boolean",
            "description": "Germany: only listings without a buyer's/tenant's commission."
          },
          "excludeRentedOut": {
            "title": "🔑 Exclude rented-out properties",
            "type": "boolean",
            "description": "Germany, purchases only: leave out properties that are currently rented out (keep owner-occupier properties)."
          },
          "minInternetSpeedMbps": {
            "title": "🌐 Min internet speed (Mbit/s)",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Germany: only listings where at least this internet speed is available (for example 100)."
          },
          "bathroomsMin": {
            "title": "🛁 Min bathrooms",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Only listings with at least this many bathrooms. Checked on each listing's details (details are read even when Fetch details is off); listings that do not state the number are left out."
          },
          "plotAreaMin": {
            "title": "🌳 Min plot area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings with at least this plot area. Checked on each listing's details; listings that do not state a plot area are left out."
          },
          "plotAreaMax": {
            "title": "🌳 Max plot area (m²)",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings with at most this plot area. See Min plot area."
          },
          "lat": {
            "title": "🌐 Latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Germany: latitude of a search centre (for example 52.52 for Berlin). Pair with Longitude and set Search Radius (default 10 km when unset). Used when no location or search URL is given."
          },
          "lon": {
            "title": "🌐 Longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Germany: longitude of the search centre (for example 13.405 for Berlin). Pair with Latitude."
          },
          "includeDetails": {
            "title": "📋 Include Full Details",
            "type": "boolean",
            "description": "Fetch expose detail pages for description and additional property fields.",
            "default": true
          },
          "descriptionMaxLength": {
            "title": "✂️ Description Max Length",
            "minimum": 0,
            "type": "integer",
            "description": "Truncate description to this many characters. 0 keeps the full description.",
            "default": 0
          },
          "compact": {
            "title": "📦 Compact Output",
            "type": "boolean",
            "description": "Return only the core listing fields.",
            "default": false
          },
          "descriptionFormat": {
            "title": "Description format",
            "enum": [
              "all",
              "text",
              "html",
              "markdown"
            ],
            "type": "string",
            "description": "Pick a single description representation. `all` keeps every variant; `text` / `html` / `markdown` drop the others.",
            "default": "all"
          },
          "excludeEmptyFields": {
            "title": "Exclude empty fields from output",
            "type": "boolean",
            "description": "Drop null, empty-string, and empty-array fields from each record before push. Smaller payloads for AI agents and dashboards.",
            "default": false
          },
          "directoryLocations": {
            "title": "🏢 Agent directory locations",
            "type": "array",
            "description": "Germany only. List the estate agencies working in these places instead of listings: German cities, districts or postcodes, for example Berlin, München Schwabing or 10115. Each row is one agency (or one agent, see below) and is billed as one result. Leave empty to search listings.",
            "items": {
              "type": "string"
            }
          },
          "directoryMode": {
            "title": "👥 Agent directory rows",
            "enum": [
              "agencies",
              "agents"
            ],
            "type": "string",
            "description": "One row per agency, or one row per agent of those agencies (name, position, phone, photo, agency contact).",
            "default": "agencies"
          },
          "directoryAgencyName": {
            "title": "🔎 Agency name contains",
            "type": "string",
            "description": "Keep only agencies whose name contains this text (case and punctuation ignored, so remax matches RE/MAX)."
          },
          "includeAgencyDetails": {
            "title": "📇 Include agency contact details",
            "type": "boolean",
            "description": "Add each agency's phone, email, address, website, social links, services, operating areas, opening hours, imprint and agent count. Slower: reads each agency's profile. Agent rows always include them.",
            "default": false
          },
          "directoryRequirePhone": {
            "title": "📞 Only rows with a phone number",
            "type": "boolean",
            "description": "Skip agencies or agents without a phone number. Reads each agency's profile, like the option above.",
            "default": false
          },
          "incrementalMode": {
            "title": "🔁 Incremental Mode",
            "type": "boolean",
            "description": "Track listings across runs in a persisted state store. Each run classifies listings as NEW / UPDATED / UNCHANGED / EXPIRED and, by default, emits only NEW + UPDATED + REAPPEARED — ideal for monitoring a search for fresh listings. Adds `changeType`, `firstSeenAt`, `lastSeenAt` and `expiredAt` to each record.",
            "default": false
          },
          "stateKey": {
            "title": "🗝️ State Key",
            "type": "string",
            "description": "Optional name for the incremental state bucket. Use distinct keys to track several independent searches; leave empty to derive one automatically from the search parameters."
          },
          "emitUnchanged": {
            "title": "♻️ Include unchanged listings",
            "type": "boolean",
            "description": "When Incremental Mode is on, also emit UNCHANGED listings. Off by default, so unchanged listings are skipped (and not billed).",
            "default": false
          },
          "emitExpired": {
            "title": "⚰️ Include expired listings",
            "type": "boolean",
            "description": "When Incremental Mode is on, also emit a record for listings that disappeared since the last run (changeType=EXPIRED).",
            "default": false
          },
          "skipReposts": {
            "title": "♻️ Skip Reposts",
            "type": "boolean",
            "description": "When Incremental Mode is on, suppress listings detected as reposts of an already-seen listing (same content re-published under a new ID).",
            "default": false
          },
          "notifyOnlyChanges": {
            "title": "🔄 Notify Only New/Updated",
            "type": "boolean",
            "description": "When Incremental Mode is on, only send notifications for NEW / UPDATED / REAPPEARED listings. Has no effect outside incremental mode.",
            "default": false
          },
          "notificationLimit": {
            "title": "📊 Max Listings Per Notification",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of listings included in each notification message (1–20). Excess listings are still in the dataset; notifications get a summary line.",
            "default": 5
          },
          "telegramToken": {
            "title": "🤖 Telegram Bot Token",
            "type": "string",
            "description": "Telegram bot token from @BotFather. Required for Telegram notifications."
          },
          "telegramChatId": {
            "title": "💬 Telegram Chat ID",
            "type": "string",
            "description": "Telegram chat or channel ID where alerts are sent (e.g. \"-100123456789\" for a private group, or \"@yourchannel\")."
          },
          "discordWebhookUrl": {
            "title": "🎮 Discord Webhook URL",
            "type": "string",
            "description": "Discord incoming webhook URL. Get one from Server Settings → Integrations → Webhooks."
          },
          "slackWebhookUrl": {
            "title": "💼 Slack Webhook URL",
            "type": "string",
            "description": "Slack incoming webhook URL. Create at api.slack.com/messaging/webhooks."
          },
          "whatsappPhoneNumberId": {
            "title": "📱 WhatsApp Phone Number ID",
            "type": "string",
            "description": "WhatsApp Business phone number ID from Meta Business Manager (NOT the phone number itself — the numeric ID shown next to your business number). Free service-conversation messages within 24 hours of last user-initiated contact."
          },
          "whatsappAccessToken": {
            "title": "🔐 WhatsApp Access Token",
            "type": "string",
            "description": "Meta Cloud API access token with `whatsapp_business_messaging` scope. Get a permanent token from a system user in Meta Business Manager."
          },
          "whatsappTo": {
            "title": "📨 WhatsApp Recipient",
            "type": "string",
            "description": "Recipient phone in E.164 format (e.g. +4915123456789). Recipient must have messaged your business number within the last 24 hours — outside that window, free-form text is rejected by Meta."
          },
          "webhookUrl": {
            "title": "🪝 Generic Webhook URL",
            "type": "string",
            "description": "Generic webhook URL that receives a JSON POST with the full listing payload + run metadata. Universal escape hatch for n8n / Make / Zapier / your own backend."
          },
          "webhookHeaders": {
            "title": "🔑 Webhook Headers",
            "type": "object",
            "description": "Optional headers (e.g. {\"Authorization\": \"Bearer xyz\"}) sent with the webhook POST."
          },
          "appConnector": {
            "title": "Send results to Notion (or another connected app)",
            "type": "string",
            "description": "Optional. Pick a connected app under Settings → API & Integrations to receive your results. Notion is supported today (a run-summary page); other MCP connectors are best-effort as Apify expands its catalog."
          },
          "mcpIssueTeam": {
            "title": "Issue tracker team",
            "type": "string",
            "description": "Only when the connected app is an issue tracker: the team (name or ID) the summary issue is created under, if that app requires one."
          },
          "transport": {
            "title": "Fetch Mode",
            "enum": [
              "mobile-api",
              "sitemap-detail",
              "enhanced-super",
              "browser-first",
              "partner-api"
            ],
            "type": "string",
            "description": "Select how German (DE) listings are retrieved. Auto is recommended for most users and needs no extra credentials. Switzerland (CH) always uses its own mode automatically.",
            "default": "mobile-api"
          },
          "is24ConsumerKey": {
            "title": "IS24 Consumer Key",
            "type": "string",
            "description": "IS24 Partner API consumer key. Required only when Partner API mode is selected."
          },
          "is24ConsumerSecret": {
            "title": "IS24 Consumer Secret",
            "type": "string",
            "description": "IS24 Partner API consumer secret. Required only when Partner API mode is selected."
          },
          "is24Geocode": {
            "title": "IS24 Geocode",
            "type": "string",
            "description": "IS24 geocode ID to search (e.g. 1276003001001 for Berlin). If omitted, resolved automatically from location."
          },
          "language": {
            "title": "🗣️ Language (Switzerland)",
            "enum": [
              "de",
              "fr",
              "it",
              "en"
            ],
            "type": "string",
            "description": "Preferred language for Swiss listing text and search slugs (de/fr/it/en). Switzerland only; ignored for Germany.",
            "default": "de"
          },
          "maxPages": {
            "title": "📄 Max Pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of search pages or sitemap pages to inspect per source. Defensive safety bound — `maxResults` is the primary record cap.",
            "default": 5
          },
          "skipItems": {
            "title": "⏭️ Skip Results",
            "minimum": 0,
            "type": "integer",
            "description": "Number of results to pass over before delivering, counted in the order the search returns them. Use it to continue where an earlier run stopped. Skipped results are not charged.",
            "default": 0
          },
          "browserStartPage": {
            "title": "Start Page",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "First result page to request. Default is 2 for Reliable mode.",
            "default": 2
          },
          "browserWarmupWaitMs": {
            "title": "Preload Wait (ms)",
            "minimum": 0,
            "maximum": 120000,
            "type": "integer",
            "description": "How long to wait on the homepage before listing requests in Reliable mode.",
            "default": 30000
          },
          "browserCountryCode": {
            "title": "Region",
            "enum": [
              "DE"
            ],
            "type": "string",
            "description": "Region for Reliable mode. DE is currently the verified working option.",
            "default": "DE"
          },
          "cityName": {
            "title": "🏙️ City Name",
            "type": "string",
            "description": "City or region to search in (e.g. \"München\", \"Hamburg\"). Alias for Location — either field works."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}