{
  "openapi": "3.0.1",
  "info": {
    "title": "BC Assessment Property Values Scraper",
    "description": "Official BC Assessment values of any property in British Columbia (Vancouver and the whole province) from an address, PID, roll number, plan or Realtor.ca listing: assessed value, 10-year history, land and building, sales, comparables, asking price vs value.",
    "version": "0.0",
    "x-build-id": "iNblzLSLjYd2NPbIB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~bcassessment-property-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-bcassessment-property-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~bcassessment-property-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-bcassessment-property-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~bcassessment-property-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-bcassessment-property-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": {
          "addresses": {
            "title": "Addresses",
            "maxItems": 10000,
            "type": "array",
            "description": "Civic addresses in British Columbia, one per line, as you would write them: `202-1000 Beach Ave, Vancouver`, `1000 Douglas St Victoria`, `3895 W 20th Avenue Vancouver`. Put the unit number first (`202-1000 …` or `202 1000 …`) for a condo; add the city when the same street exists in several towns. Max 10 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "pids": {
            "title": "PIDs (parcel identifiers)",
            "maxItems": 10000,
            "type": "array",
            "description": "Land title parcel identifiers, 9 digits, with or without dashes (`017-580-285`). Max 10 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "rollNumbers": {
            "title": "Roll numbers",
            "maxItems": 10000,
            "type": "array",
            "description": "Assessment roll numbers WITH their jurisdiction, as printed on the assessment notice: `09-200-030-617-121-24-0140` (area-jurisdiction-roll), `200-030-617-121-24-0140` (jurisdiction-roll) or `City of Vancouver: 030-617-121-24-0140` (jurisdiction name, then the roll). Max 10 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "plans": {
            "title": "Plan + lot",
            "maxItems": 10000,
            "type": "array",
            "description": "Legal plan number and lot, separated by a space or `/`: `VAS2613 140`, `EPP12345/7`. The lot is required (a plan alone matches too many properties). Max 10 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Realtor.ca or BC Assessment URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Realtor.ca listing URLs (`https://www.realtor.ca/real-estate/30329771/…`), Realtor.ca map searches (`https://www.realtor.ca/map#…`, every filter set on the map is kept) and BC Assessment property pages (`https://www.bcassessment.ca/Property/Info/…`). Listings outside British Columbia are listed in the `NOT_FOUND` record (not charged). Max 1 000 URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "mlsNumbers": {
            "title": "MLS® numbers",
            "maxItems": 10000,
            "type": "array",
            "description": "Realtor.ca listing numbers (`R3169686`, `10401741`): each listing is read, then its property is looked up in the roll. Max 10 000.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location (British Columbia)",
            "maxLength": 200,
            "type": "string",
            "description": "City, town or area in British Columbia (`Vancouver`, `North Vancouver`, `Kelowna`, `Victoria`). The search covers a square of **Search radius** around its centre."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several locations in one run: every keyword is searched in every location (max 500 searches). Added to **Location**; a listing found by several searches is saved once.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Half the side of the square searched around each location's centre.",
            "default": 10
          },
          "latitude": {
            "title": "Or: centre latitude",
            "maxLength": 20,
            "type": "string",
            "description": "Search around a point instead of a named location: latitude in decimal degrees (`49.2827`), with **Centre longitude** and **Search radius**."
          },
          "longitude": {
            "title": "Centre longitude",
            "maxLength": 20,
            "type": "string",
            "description": "Longitude in decimal degrees (`-123.1207`)."
          },
          "query": {
            "title": "Listing keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Word that must appear in the listing (Realtor.ca keyword search), e.g. `view`, `laneway`, `suite`."
          },
          "searchQueries": {
            "title": "More listing keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "One search per keyword (times each location). Added to **Listing keyword**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "transactionType": {
            "title": "For sale or for rent",
            "enum": [
              "sale",
              "rent"
            ],
            "type": "string",
            "description": "Listings for sale (the asking price is compared with the assessed value) or for rent.",
            "default": "sale"
          },
          "propertyTypeGroup": {
            "title": "Residential or commercial",
            "enum": [
              "residential",
              "commercial"
            ],
            "type": "string",
            "description": "Realtor.ca residential listings, or its commercial listings (offices, retail, industrial, land for business).",
            "default": "residential"
          },
          "propertyType": {
            "title": "Property type",
            "enum": [
              "any",
              "residential",
              "condoStrata",
              "vacantLand",
              "recreational",
              "multiFamily",
              "agriculture",
              "parking"
            ],
            "type": "string",
            "description": "Realtor.ca property type.",
            "default": "residential"
          },
          "buildingType": {
            "title": "Building type",
            "enum": [
              "any",
              "house",
              "apartment",
              "rowTownhouse",
              "duplex",
              "triplex",
              "fourplex",
              "mobileHome"
            ],
            "type": "string",
            "description": "Realtor.ca building type.",
            "default": "any"
          },
          "ownershipType": {
            "title": "Ownership",
            "enum": [
              "any",
              "freehold",
              "condoStrata",
              "timeshareFractional",
              "leasehold"
            ],
            "type": "string",
            "description": "Freehold, condo / strata, timeshare or leasehold.",
            "default": "any"
          },
          "constructionType": {
            "title": "Construction style",
            "enum": [
              "any",
              "detached",
              "attached",
              "semiDetached",
              "stacked",
              "link"
            ],
            "type": "string",
            "description": "Detached, attached, semi-detached, stacked or link (houses and townhouses).",
            "default": "any"
          },
          "minPrice": {
            "title": "Min asking price (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Lowest asking price (monthly rent for rentals)."
          },
          "maxPrice": {
            "title": "Max asking price (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Highest asking price (monthly rent for rentals)."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "At least this many bedrooms (listing)."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "At most this many bedrooms (listing)."
          },
          "minBathrooms": {
            "title": "Min bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "At least this many bathrooms (listing)."
          },
          "maxBathrooms": {
            "title": "Max bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "At most this many bathrooms (listing)."
          },
          "minLandSizeAcres": {
            "title": "Min land size (acres)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "number",
            "description": "Smallest lot, in acres (listing)."
          },
          "maxLandSizeAcres": {
            "title": "Max land size (acres)",
            "minimum": 0,
            "maximum": 1000000,
            "type": "number",
            "description": "Largest lot, in acres (listing)."
          },
          "listedWithinDays": {
            "title": "Listed in the last N days",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only listings added to Realtor.ca in the last N days. Empty = any date."
          },
          "openHouseOnly": {
            "title": "With an open house only",
            "type": "boolean",
            "description": "Keep the listings that announce an open house (read on the listing, dates in `openHouses`).",
            "default": false
          },
          "liveStreamsOnly": {
            "title": "With a live stream only",
            "type": "boolean",
            "description": "Keep the listings that announce a live-stream visit.",
            "default": false
          },
          "sortBy": {
            "title": "Sort",
            "enum": [
              "newest",
              "oldest",
              "priceLow",
              "priceHigh"
            ],
            "type": "string",
            "description": "Order in which Realtor.ca returns the listings (matters when a cap stops the search). Exact up to 600 listings per search: a bigger one is split into map squares, and a cap between 600 and its count is filled square by square (README: the newest listings of a big area). With **Only new results**, keep **Newest first**: the search then stops at the listings already delivered; another order reads the whole search on every run.",
            "default": "newest"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of properties to save for the whole run (lookups and searches together, after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max results per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH Realtor.ca search (keyword × location, or map URL), so that the first search cannot use up the whole **Max results** budget. 0 = no per-search cap.",
            "default": 0
          },
          "includeLandAndBuilding": {
            "title": "Land / building split and neighbours",
            "type": "boolean",
            "description": "Land value and building value of the property, and its 9 nearest neighbours with their values. Off by default: charged per property (see Pricing).",
            "default": false
          },
          "includeComparableSales": {
            "title": "Comparable sales",
            "type": "boolean",
            "description": "The 9 sold properties BC Assessment shows as similar (sale price, sale date, values, year built, size). Off by default: charged per property (see Pricing).",
            "default": false
          },
          "includeListingDetails": {
            "title": "Listing details",
            "type": "boolean",
            "description": "For a Realtor.ca listing: open the listing for its description, yearly property tax, strata fee, features, photos and video. Off by default: charged per listing page read (see Pricing).",
            "default": false
          },
          "language": {
            "title": "Listing language",
            "enum": [
              "en",
              "fr"
            ],
            "type": "string",
            "description": "Language of the listing texts (description, features) when the board provides both.",
            "default": "en"
          },
          "includeVancouverTaxData": {
            "title": "City of Vancouver tax and zoning",
            "type": "boolean",
            "description": "For a property in the City of Vancouver: the yearly property tax levied and the zoning district, from the City's open data.",
            "default": false
          },
          "minAssessedValue": {
            "title": "Min assessed value (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties whose current total assessed value is at least this."
          },
          "maxAssessedValue": {
            "title": "Max assessed value (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties whose current total assessed value is at most this."
          },
          "minLandValue": {
            "title": "Min land value (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties whose land value is at least this (needs **Land / building split**); useful to find land-heavy lots."
          },
          "maxLandValue": {
            "title": "Max land value (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties whose land value is at most this (needs **Land / building split**)."
          },
          "maxAskingToAssessedRatio": {
            "title": "Max asking price ÷ assessed value",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Listings only: keep the listings whose asking price is at most this multiple of the assessed value, e.g. `0.95` = listed at least 5 % under the assessment. Listings without a price or a value are dropped."
          },
          "minAskingToAssessedRatio": {
            "title": "Min asking price ÷ assessed value",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Listings only: keep the listings whose asking price is at least this multiple of the assessed value, e.g. `1.2`."
          },
          "minYearBuilt": {
            "title": "Built from (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep the properties built in or after this year (BC Assessment year built)."
          },
          "maxYearBuilt": {
            "title": "Built until (year)",
            "minimum": 1800,
            "maximum": 2100,
            "type": "integer",
            "description": "Keep the properties built in or before this year."
          },
          "minSquareFootage": {
            "title": "Min floor area (sq ft)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties with at least this floor area (BC Assessment strata area, or first + second floor + finished basement; the listing size when the roll has none)."
          },
          "maxSquareFootage": {
            "title": "Max floor area (sq ft)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Keep the properties with at most this floor area."
          },
          "minStoreys": {
            "title": "Min building storeys",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Keep the properties in buildings with at least this many storeys (BC Assessment)."
          },
          "maxStoreys": {
            "title": "Max building storeys",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Keep the properties in buildings with at most this many storeys."
          },
          "minPropertyTax": {
            "title": "Min yearly property tax (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Listings: the tax shown on the listing (needs **Listing details**); City of Vancouver: the tax levied (needs **City of Vancouver tax and zoning**). Properties without a tax figure are dropped."
          },
          "maxPropertyTax": {
            "title": "Max yearly property tax (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Same source as the minimum."
          },
          "minMaintenanceFees": {
            "title": "Min monthly strata fee (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Listings only (needs **Listing details**). Listings without a fee are dropped."
          },
          "maxMaintenanceFees": {
            "title": "Max monthly strata fee (CAD)",
            "minimum": 0,
            "maximum": 10000000000,
            "type": "integer",
            "description": "Listings only (needs **Listing details**). Listings without a fee are kept (a house has none)."
          },
          "soldAfter": {
            "title": "Sold after",
            "type": "string",
            "description": "Keep the properties with a sale on or after this date in BC Assessment's sales history (last 3 full calendar years): `2025-01-01` or a period such as `12 months`."
          },
          "soldBefore": {
            "title": "Sold before",
            "type": "string",
            "description": "Keep the properties with a sale on or before this date (whole day included)."
          },
          "postedAfter": {
            "title": "Listed after",
            "type": "string",
            "description": "Listings only: keep the listings added to Realtor.ca on or after this date: `2026-09-01`, or `7 days`, `2 weeks`. Lookups (address, PID, roll, plan) are not affected."
          },
          "postedBefore": {
            "title": "Listed before",
            "type": "string",
            "description": "Listings only: keep the listings added on or before this date (whole day included), or older than a period such as `30 days`."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the properties whose BC Assessment description or listing text contains one of these words (case and accents ignored), e.g. `commercial`, `leasehold`.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "exactMatchOnly": {
            "title": "Exact matches only",
            "type": "boolean",
            "description": "Save only the properties found exactly (the property itself, or its unit). Off: an address or listing whose unit is not in the roll is saved with the value of the WHOLE building or lot, marked `matchType` `wholeBuilding`.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new results",
            "type": "boolean",
            "description": "Skip what a previous run (same **Memory key**) already delivered: a listing already seen, or a property already delivered for the same assessment year. Skipped entries are not saved and not charged. 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 results**. Give each schedule / task its own key (e.g. `vancouver-condos`). 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) everything again. Untick it afterwards.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies, used for BC Assessment. Keep the default: it is included in the price. Realtor.ca listings are read through the Actor's own Canadian residential connection (included in the price) unless you give your own proxies here. 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": "Most requests in any 60 seconds, all sites counted. A budget, not an even pace (spread them with the minimum delay below). Lower it if the log shows HTTP 429 / 403.",
            "default": 240
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. 0 = no gap.",
            "default": 0
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed. Behind a proxy, a request the site turns away is also retried on a new proxy session up to 10 times without using up these retries.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}