{
  "openapi": "3.0.1",
  "info": {
    "title": "Crexi Commercial Real Estate Scraper",
    "description": "Scrape Crexi commercial real estate for sale and for lease: price, size, property type, address and status. Optional: full listing details, brokers with licenses, the property owner, and the cap rate, NOI and occupancy Crexi hides. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "IVc4Wx7STnKYT5Zgw"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~crexi-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-crexi-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nice_dev~crexi-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-crexi-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nice_dev~crexi-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-crexi-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Start URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Crexi search URLs (for sale `https://www.crexi.com/properties?...`, for lease `https://www.crexi.com/lease/properties?...`: the filters set on the site are kept) or single listing URLs (`https://www.crexi.com/properties/<id>/<name>`, `https://www.crexi.com/lease/properties/<id>/<name>`). When this list is not empty, the search fields below (keywords, locations, listing type) are ignored; filters, caps and monitoring still apply. Max 1 000 URLs.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "listingIds": {
            "title": "Listing ids",
            "maxItems": 1000,
            "uniqueItems": true,
            "type": "array",
            "description": "Crexi listing ids to read directly (the number in a listing URL, e.g. `2492041`), read as **Listing type** says (sale ids and lease ids are separate series). Added to **Start URLs**; the search fields below are ignored.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "sale",
              "lease",
              "both"
            ],
            "type": "string",
            "description": "Properties for sale (asking price, cap rate, NOI…) or spaces for lease (rent per SF, available spaces). `Both` runs every search twice.",
            "default": "sale"
          },
          "query": {
            "title": "Search keyword",
            "maxLength": 200,
            "type": "string",
            "description": "Free-text search, as typed in the Crexi search box (e.g. `dollar general`, `medical office`, `NNN`)."
          },
          "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": "A US state (`TX` or `Texas`), a city with its state (`Austin, TX`), a county (`Travis County, TX`, `Orleans Parish, LA`) or a ZIP code (`78701`, `Austin, TX 78701`); `St.` / `Saint`, `Ft.` / `Fort`, `Mt.` / `Mount`: either spelling. Empty = the whole US (large searches are split automatically: no 1 500-result cap)."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Several locations in one run, same formats as **Location**: every keyword is searched in every location (3 keywords × 4 locations = 12 searches, max 500). Added to **Location**.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "states": {
            "title": "States",
            "uniqueItems": true,
            "type": "array",
            "description": "Only these states (added to every search). Empty = no state filter.",
            "items": {
              "type": "string",
              "enum": [
                "AL",
                "AK",
                "AZ",
                "AR",
                "CA",
                "CO",
                "CT",
                "DE",
                "DC",
                "FL",
                "GA",
                "HI",
                "ID",
                "IL",
                "IN",
                "IA",
                "KS",
                "KY",
                "LA",
                "ME",
                "MD",
                "MA",
                "MI",
                "MN",
                "MS",
                "MO",
                "MT",
                "NE",
                "NV",
                "NH",
                "NJ",
                "NM",
                "NY",
                "NC",
                "ND",
                "OH",
                "OK",
                "OR",
                "PA",
                "RI",
                "SC",
                "SD",
                "TN",
                "TX",
                "UT",
                "VT",
                "VA",
                "WA",
                "WV",
                "WI",
                "WY",
                "PR"
              ],
              "enumTitles": [
                "Alabama (AL)",
                "Alaska (AK)",
                "Arizona (AZ)",
                "Arkansas (AR)",
                "California (CA)",
                "Colorado (CO)",
                "Connecticut (CT)",
                "Delaware (DE)",
                "District of Columbia (DC)",
                "Florida (FL)",
                "Georgia (GA)",
                "Hawaii (HI)",
                "Idaho (ID)",
                "Illinois (IL)",
                "Indiana (IN)",
                "Iowa (IA)",
                "Kansas (KS)",
                "Kentucky (KY)",
                "Louisiana (LA)",
                "Maine (ME)",
                "Maryland (MD)",
                "Massachusetts (MA)",
                "Michigan (MI)",
                "Minnesota (MN)",
                "Mississippi (MS)",
                "Missouri (MO)",
                "Montana (MT)",
                "Nebraska (NE)",
                "Nevada (NV)",
                "New Hampshire (NH)",
                "New Jersey (NJ)",
                "New Mexico (NM)",
                "New York (NY)",
                "North Carolina (NC)",
                "North Dakota (ND)",
                "Ohio (OH)",
                "Oklahoma (OK)",
                "Oregon (OR)",
                "Pennsylvania (PA)",
                "Rhode Island (RI)",
                "South Carolina (SC)",
                "South Dakota (SD)",
                "Tennessee (TN)",
                "Texas (TX)",
                "Utah (UT)",
                "Vermont (VT)",
                "Virginia (VA)",
                "Washington (WA)",
                "West Virginia (WV)",
                "Wisconsin (WI)",
                "Wyoming (WY)",
                "Puerto Rico (PR)"
              ]
            },
            "default": []
          },
          "propertyTypes": {
            "title": "Property types",
            "uniqueItems": true,
            "type": "array",
            "description": "Only these property types. Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "Office",
                "Retail",
                "Industrial",
                "Multifamily",
                "Land",
                "Hospitality",
                "Mixed Use",
                "Special Purpose",
                "Self Storage",
                "Senior Living",
                "Business for Sale",
                "Mobile Home Park",
                "Note/Loan"
              ],
              "enumTitles": [
                "Office",
                "Retail",
                "Industrial",
                "Multifamily",
                "Land",
                "Hospitality",
                "Mixed Use",
                "Special Purpose",
                "Self Storage",
                "Senior Living",
                "Business for Sale",
                "Mobile Home Park",
                "Note/Loan"
              ]
            },
            "default": []
          },
          "propertySubtypes": {
            "title": "Property subtypes",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Only these subtypes, as written on Crexi (e.g. `Medical Office`, `Flex`, `Warehouse`, `Strip Center`, `Quick Service Restaurant`).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of listings to save for the whole run (after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max listings per search",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Cap for EACH search (keyword × location, or search URL), so that the first search cannot use up the whole **Max listings** budget. 0 = no per-search cap.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "updated",
              "priceHigh",
              "priceLow",
              "capRateHigh"
            ],
            "type": "string",
            "description": "Order in which the listings are read (matters with **Max listings**). **Only new listings** works best with `Newest first`.",
            "default": "relevance"
          },
          "extractDetails": {
            "title": "Extract details",
            "type": "boolean",
            "description": "Open each listing (1-2 extra requests) for the full description, investment highlights, property facts (zoning, lot size, buildings, stories, class…), available spaces of a lease listing and the broker of record. Off = search-card fields only (much faster). Charged per listing page read (`listing-details`, see Pricing).",
            "default": false
          },
          "includeBrokers": {
            "title": "Include brokers",
            "type": "boolean",
            "description": "All listing brokers (1 extra request per listing): name, license numbers and states, brokerage, brokerage website and office address, Crexi profile, number of listings. Needs **Extract details** (ticked alone, it reads nothing and the run log says so). A small fee per broker page read, found or not (`broker-page-read`), plus a price per listing that got at least one broker (`listing-brokers`, see Pricing).",
            "default": false
          },
          "enrichEmails": {
            "title": "Find brokerage e-mails on their websites",
            "type": "boolean",
            "description": "Visits the website of each listing brokerage (home page, then its contact or legal pages, 3 pages at most per site) and adds the e-mail published there to `brokerageEmail` and to each broker of that brokerage. A brokerage's site is read once per run, whatever the number of its listings. Paid option: needs **Include brokers** (the website comes from the brokers page) and **Extract details**; ticked alone, it reads nothing and the run log says so. A small fee per page of a brokerage site read, found or not (`agency-site-page-read`), plus a price per listing that got at least one brokerage e-mail (`agency-email`, see Pricing). Some large brokerage networks turn visitors away: no e-mail, nothing charged for it.",
            "default": false
          },
          "includePropertyRecord": {
            "title": "Include property record (owner, APN, year built)",
            "type": "boolean",
            "description": "The public Crexi property record of the listed building (2 extra requests per listing): owner name and past owners, parcel number (APN), year built, lot size, neighborhood, property history events. Found for most US sale listings. Needs **Extract details** (ticked alone, it reads nothing and the run log says so). A small fee per record page read, found or not (`owner-record-page-read`), plus a price per listing whose record names the owner (`property-owner`, see Pricing).",
            "default": false
          },
          "unmaskFinancials": {
            "title": "Recover hidden financials (cap rate, occupancy, tenancy, lease type)",
            "type": "boolean",
            "description": "Crexi shows `*****` for the cap rate, occupancy, tenancy and lease type to visitors without an account. The Actor recovers the exact values anyway, without any account (it takes extra time: see the README). Sale listings only. Charged only per listing that got at least one value back (`financials-recovered`, see Pricing).",
            "default": false
          },
          "includeGallery": {
            "title": "Include all photos",
            "type": "boolean",
            "description": "All photo URLs in full size (1 extra request per listing). Off = the main photo only.",
            "default": true
          },
          "includeUnpriced": {
            "title": "Include unpriced listings",
            "type": "boolean",
            "description": "Keep the listings without an asking price (\"Unpriced\", \"Call for offers\"). Not with **Min price** / **Max price**: a price range gives priced listings only.",
            "default": true
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "maximum": 1000000000000,
            "type": "number",
            "description": "Sale listings: minimum asking price."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "maximum": 1000000000000,
            "type": "number",
            "description": "Sale listings: maximum asking price."
          },
          "minCapRate": {
            "title": "Min cap rate",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Sale listings: minimum cap rate, in % (e.g. `6.5`). Works even though Crexi hides the value without an account."
          },
          "maxCapRate": {
            "title": "Max cap rate",
            "minimum": 0,
            "maximum": 100,
            "type": "number",
            "description": "Sale listings: maximum cap rate, in %."
          },
          "minSqft": {
            "title": "Min building size",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Minimum building size (sale) or available space (lease), in square feet."
          },
          "maxSqft": {
            "title": "Max building size",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Maximum building size (sale) or available space (lease), in square feet."
          },
          "minLotAcres": {
            "title": "Min lot size",
            "minimum": 0,
            "maximum": 10000000,
            "type": "number",
            "description": "Minimum lot size, in acres."
          },
          "maxLotAcres": {
            "title": "Max lot size",
            "minimum": 0,
            "maximum": 10000000,
            "type": "number",
            "description": "Maximum lot size, in acres."
          },
          "minPricePerSqft": {
            "title": "Min price per SF",
            "minimum": 0,
            "maximum": 10000000,
            "type": "number",
            "description": "Sale listings: minimum asking price per square foot."
          },
          "maxPricePerSqft": {
            "title": "Max price per SF",
            "minimum": 0,
            "maximum": 10000000,
            "type": "number",
            "description": "Sale listings: maximum asking price per square foot."
          },
          "minLeaseRate": {
            "title": "Min rent per SF / year",
            "minimum": 0,
            "maximum": 100000,
            "type": "number",
            "description": "Lease listings: minimum asking rent, USD per square foot per year (monthly rates are converted)."
          },
          "maxLeaseRate": {
            "title": "Max rent per SF / year",
            "minimum": 0,
            "maximum": 100000,
            "type": "number",
            "description": "Lease listings: maximum asking rent, USD per square foot per year."
          },
          "minOccupancy": {
            "title": "Min occupancy",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Sale listings: minimum occupancy, in %."
          },
          "maxOccupancy": {
            "title": "Max occupancy",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Sale listings: maximum occupancy, in % (`0` = vacant buildings only)."
          },
          "buildingClasses": {
            "title": "Building class",
            "uniqueItems": true,
            "type": "array",
            "description": "Only these building classes.",
            "items": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C"
              ],
              "enumTitles": [
                "A",
                "B",
                "C"
              ]
            },
            "default": []
          },
          "investmentTypes": {
            "title": "Investment type",
            "uniqueItems": true,
            "type": "array",
            "description": "Sale listings: only these investment types.",
            "items": {
              "type": "string",
              "enum": [
                "Stabilized",
                "Value Add",
                "Owner/User",
                "Net Lease",
                "Redevelopment"
              ],
              "enumTitles": [
                "Stabilized",
                "Value Add",
                "Owner/User",
                "Net Lease",
                "Redevelopment"
              ]
            },
            "default": []
          },
          "tenancy": {
            "title": "Tenancy",
            "enum": [
              "any",
              "Single",
              "Multi"
            ],
            "type": "string",
            "description": "Sale listings: single-tenant or multi-tenant buildings.",
            "default": "any"
          },
          "leaseTypes": {
            "title": "Lease type",
            "uniqueItems": true,
            "type": "array",
            "description": "Sale listings: only these lease types.",
            "items": {
              "type": "string",
              "enum": [
                "NNN",
                "Gross"
              ],
              "enumTitles": [
                "NNN (triple net)",
                "Gross"
              ]
            },
            "default": []
          },
          "minRemainingTerm": {
            "title": "Min remaining lease term",
            "minimum": 0,
            "maximum": 99,
            "type": "number",
            "description": "Sale listings: minimum remaining lease term, in years."
          },
          "maxRemainingTerm": {
            "title": "Max remaining lease term",
            "minimum": 0,
            "maximum": 99,
            "type": "number",
            "description": "Sale listings: maximum remaining lease term, in years."
          },
          "minYearBuilt": {
            "title": "Min year built",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Minimum year built, read in the property record of a sale listing: needs **Include property record** and **Extract details** (Crexi hides the year on the listing), refused without them and with lease listings (no record: their year is never known). Listings without a known year are dropped."
          },
          "maxYearBuilt": {
            "title": "Max year built",
            "minimum": 0,
            "maximum": 2100,
            "type": "integer",
            "description": "Maximum year built (same source as above)."
          },
          "statuses": {
            "title": "Status",
            "uniqueItems": true,
            "type": "array",
            "description": "Only these statuses. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "On-Market",
                "Call For Offers",
                "Auction",
                "Under Contract"
              ],
              "enumTitles": [
                "On-Market",
                "Call For Offers",
                "Auction",
                "Under Contract"
              ]
            },
            "default": []
          },
          "opportunityZoneOnly": {
            "title": "Opportunity Zones only",
            "type": "boolean",
            "description": "Only properties inside a federal Opportunity Zone.",
            "default": false
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Only listings activated on Crexi on or after this date: `2026-09-01` (a day in UTC, like every date of the results), or a period before now such as `7 days`, `2 weeks`, `1 month` (API: `24 hours` and full ISO date-times work too)."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Only listings activated on Crexi on or before this date (the whole day, in UTC, 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 tagline contains one of these words (case and accents ignored).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "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. `tx-retail-nnn`) 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
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies. Keep the default: it is included in the price. The residential, Google SERP and Unblocker Apify proxies are not available in this Actor (billed per use, not needed for Crexi).",
            "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 to Crexi in any 60 seconds, all of them counted. A budget, not an even pace (spread them with the minimum delay below). Lower it if Crexi answers HTTP 429 / 403 in the log.",
            "default": 240
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. Unlike the per-minute rate, this spreads the requests evenly. 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}