{
  "openapi": "3.0.1",
  "info": {
    "title": "US Parcels - Multi-State Parcel & Property Data",
    "description": "Harmonised multi-state US parcel register (15 states - 34.3M parcels) in one schema: parcel id, owner and mailing address, situs address, land / improvement / assessed values, acreage, year built, last sale and county. Filter by state, owner, address, ZIP, county, class or value.",
    "version": "0.0",
    "x-build-id": "e6NIx1WPnhBm7jbkv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/j0401~us-parcels/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-j0401-us-parcels",
        "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/j0401~us-parcels/runs": {
      "post": {
        "operationId": "runs-sync-j0401-us-parcels",
        "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/j0401~us-parcels/run-sync": {
      "post": {
        "operationId": "run-sync-j0401-us-parcels",
        "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": {
          "state": {
            "title": "State",
            "enum": [
              "MA",
              "AR",
              "CO",
              "NJ",
              "WV",
              "NV",
              "OH",
              "NC",
              "WI",
              "UT",
              "NE",
              "MT",
              "AK",
              "HI",
              "WY"
            ],
            "type": "string",
            "description": "Which state's parcel register to query. MA = Massachusetts (2.56M) - owner, year built, values. AR = Arkansas (2.15M) - owner, no sale or year built. CO = Colorado (2.60M) - owner and appraised value; its value columns are text, so value filters are unavailable. NJ = New Jersey (3.48M) - NO owner name (the source's owner column is empty on every row). WV = West Virginia (1.39M) - owner and mailing address, acreage, legal description, no values. NV = Nevada (1.39M) - id, city, acreage, county and a county page link only. OH = Ohio (6.31M) - mailing and situs address, land-use class and a county auditor page link; NO owner and NO valuation. NC = North Carolina (5.94M) - owner, mailing and situs address, values, year built, last sale. WI = Wisconsin (3.57M) - the state whose naming standard this schema uses: owner, full address components, assessed and market values, property tax. UT = Utah (1.60M) - address, city, ZIP, county, an ownership class (private / federal / state / tribal) and a county page link; NO owner name and NO valuation. NE = Nebraska (1.15M) - situs address, acreage, legal description, assessed values and a county page link; NO owner, and county appears only as an internal code. MT = Montana (0.92M) - owner, owner-address line, situs address, values, legal description. AK = Alaska (0.42M) - owner and values, but NO address of any kind. HI = Hawaii (0.38M) - tax map key, county, acreage and a county record page link; NO owner, NO address, NO valuation, and no date of any kind. WY = Wyoming (0.37M) - owner and mailing address, assessed and market values, acreage, legal description, from the 2026 tax roll.",
            "default": "MA"
          },
          "parcelId": {
            "title": "Parcel ID",
            "type": "string",
            "description": "Exact parcel identifier, case-insensitive. E.g. 0171902304020 (CO), 66-00000100 (MA), 001-00352-008 (AR), 0409_278.01_1 (NJ), 1028143 (NV), 1300800035304013 (OH, with county), 555400411879 (NC), 008002310010 (WI), 153 (UT), 880035497 (NE), 37500402101020000 (MT), 14718015 (AK), 389014053 (HI) or 12700620001300 (WY). An exact match rather than a substring, because several states' ids contain underscores. Ohio needs `county` alongside `parcelId` (StateParcelID alone times out on the state's own service). Nevada ids are unique only within a county, so the same id there can return several parcels across counties - look at COUNTY to tell them apart.",
            "default": ""
          },
          "owner": {
            "title": "Owner name",
            "type": "string",
            "description": "Owner-name substring, case-insensitive, e.g. SMITH or HOLDINGS. Available for MA, AR, CO, WV, NC, WI, MT, AK and WY. Not for NJ (its owner column is empty on every row), NV, OH, UT, NE or HI (those layers carry no owner column at all) - a request there is rejected rather than silently ignored.",
            "default": ""
          },
          "address": {
            "title": "Situs address",
            "type": "string",
            "description": "Property (situs) address substring, case-insensitive, e.g. MAIN ST. Not available for NV (city only, no street), AK (no address of any kind) or HI (tax map key only) - rejected rather than silently ignored.",
            "default": ""
          },
          "city": {
            "title": "City / place",
            "type": "string",
            "description": "City / town / municipality substring, case-insensitive, e.g. NATICK (MA) or CHERRY HILL (NJ). Not available for WV, OH, AK, HI or WY. For MT this matches against the combined \"city, ST zip\" string the state publishes.",
            "default": ""
          },
          "zip": {
            "title": "ZIP prefix",
            "type": "string",
            "description": "Situs ZIP prefix, e.g. 017 or 80233. Not available for WV, NV, OH, MT, AK, HI or WY. Note the Arkansas ZIP column is unpopulated on about half its rows, so a ZIP filter returns a subset there.",
            "default": ""
          },
          "county": {
            "title": "County",
            "type": "string",
            "description": "County substring, case-insensitive, e.g. ADAMS (CO) or CAMDEN (NJ). Not available for MA (its layer carries no county column) or NE (which identifies counties only by an internal number that does not follow the state's county index). Alaska's equivalent of a county is its borough / census area.",
            "default": ""
          },
          "propertyClass": {
            "title": "Property class",
            "type": "string",
            "description": "Property / land-use class substring, case-insensitive. The vocabulary differs by state, e.g. Residential (CO), SINGLE FAMILY (MA uses USE_DESC labels), RI or PS (AR parcel types), 2 or 3A (NJ class codes), Improved Property (MT), or the free-text use labels Alaska publishes. For UT this field is the ownership class (Private / Federal / State / Tribal) rather than a land use. Not available for WV, NV, HI or WY.",
            "default": ""
          },
          "minValue": {
            "title": "Min assessed value",
            "type": "integer",
            "description": "Only parcels whose assessed total is at or above this amount. Available for MA, AR, NJ, NC, WI, NE, MT, AK and WY. Not for CO (its value columns are text, where a numeric bound would compare lexicographically and silently return the wrong rows) or WV, NV, OH, UT and HI (those layers carry no value column at all) - rejected rather than silently ignored. A bound of 0 means no bound."
          },
          "maxValue": {
            "title": "Max assessed value",
            "type": "integer",
            "description": "Only parcels whose assessed total is at or below this amount. Available for the same states as minValue - MA, AR, NJ, NC, WI, NE, MT, AK and WY - and rejected with an explanation everywhere else (CO publishes its value columns as text; WV, NV, OH, UT and HI publish no value column)."
          },
          "yearBuilt": {
            "title": "Year built",
            "type": "string",
            "description": "Exact year the primary structure was built, e.g. 1955. Available for MA, NJ and NC only.",
            "default": ""
          },
          "aggregate": {
            "title": "Aggregate instead of parcels",
            "type": "boolean",
            "description": "When on, returns one summary record per group (see groupBy) with a count, instead of individual parcels.",
            "default": false
          },
          "groupBy": {
            "title": "Aggregate by",
            "enum": [
              "",
              "county",
              "propClass",
              "townId"
            ],
            "type": "string",
            "description": "Dimension to aggregate over. county = parcel count per county (every state except MA, whose layer carries no county column; for NE the key is the source's internal county number, not a name). propClass = per property class (AR, CO, NJ, OH, NC, WI, UT, MT, AK - MA's class column is text and its host rejects a text grouping). townId = per Massachusetts town id (MA only). Blank = the state's first available dimension, so an aggregate run works whichever state is selected.",
            "default": ""
          },
          "maxResults": {
            "title": "Max records",
            "minimum": 0,
            "type": "integer",
            "description": "Cap the number of parcel records pushed (0 = up to ~10k per run; each record is metered individually, so there is no per-run charge cap). Does not apply in aggregate mode, which returns every group of the chosen dimension.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}