{
  "openapi": "3.0.1",
  "info": {
    "title": "Absentee Owner & Land Owner Lists · US County Parcel Data",
    "description": "Extracts of official US county and state parcel registers for market research and land acquisition: absentee and out-of-state owners, vacant land, acreage, value and sale-date filters for whole counties. Companies, trusts and public bodies by default; no phone numbers, no emails.",
    "version": "0.1",
    "x-build-id": "aaZUft43p2cSNSeXy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/thequietstack~us-parcel-owner-lists/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-thequietstack-us-parcel-owner-lists",
        "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/thequietstack~us-parcel-owner-lists/runs": {
      "post": {
        "operationId": "runs-sync-thequietstack-us-parcel-owner-lists",
        "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/thequietstack~us-parcel-owner-lists/run-sync": {
      "post": {
        "operationId": "run-sync-thequietstack-us-parcel-owner-lists",
        "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": {
          "acknowledgeLegalResponsibility": {
            "title": "I am responsible for the legal use of this data (required with private persons)",
            "type": "boolean",
            "description": "Required only when \"Include private persons\" or \"Include raw county attributes\" is on - the default run (companies, trusts and public bodies, no person's name in any column) does not need it. Tick to confirm: you are the controller of any personal data in the output (Apify Standard Actor Contract 5.2.1), you have your own legal basis and give the people concerned the information the law requires; you will not use the output for FCRA purposes (credit, employment, insurance, housing decisions), stalking, locating or tracking people, or harassment; you follow TCPA, Do-Not-Call rules and the Florida Telephone Solicitation Act (s. 501.059). Users in the EU/EEA are themselves subject to the GDPR. With private persons or raw attributes on, the run stops at once when this is not ticked.",
            "default": false
          },
          "areas": {
            "title": "Counties / areas",
            "type": "array",
            "description": "Areas from the verified directory, written STATE/Name. Florida: all 67 counties (e.g. \"FL/Brevard\", \"FL/Miami-Dade\", \"FL/St. Lucie\"). Montana: any county (\"MT/Gallatin\"). Connecticut: any town (\"CT/Andover\"). Single counties: GA/Fulton, TX/Williamson, SC/York, OK/Canadian, IN/Marion, OR/Marion, NY/Oswego, AK/Fairbanks North Star, NC/Carteret. The full list is written to the DIRECTORY record of every run.",
            "items": {
              "type": "string"
            }
          },
          "customLayers": {
            "title": "Any other open ArcGIS parcel layer (URL)",
            "type": "array",
            "description": "Paste the URL of any public ArcGIS FeatureServer/MapServer parcel layer (…/FeatureServer/0). Owner and mailing columns are detected automatically. For full control pass objects: {\"url\": \"…\", \"state\": \"FL\", \"label\": \"My County\", \"where\": \"CITY='X'\", \"fieldMap\": {\"ownerName\": \"OWNER\", \"mailAddress1\": \"MAIL_ADDR\", …}}. Allowed object keys: url, state, label, where, fieldMap, valueType. fieldMap keys must be normalized field names of this Actor; columns that look like phone, email, SSN or birth date are rejected. Layers that require a token or login are skipped, never worked around."
          },
          "outputMode": {
            "title": "Output",
            "enum": [
              "parcels",
              "owners"
            ],
            "type": "string",
            "description": "\"parcels\" = one row per parcel. \"owners\" = one row per owner (same name + mailing address) with parcel count, parcel IDs, total acres and value - owners of several parcels are usually active buyers or landlords.",
            "default": "parcels"
          },
          "absenteeOnly": {
            "title": "Absentee owners only",
            "type": "boolean",
            "description": "Owner's mailing address differs from the property address (or the owner mails from another state). Parcels where this cannot be determined are left out, not guessed.",
            "default": false
          },
          "outOfStateOnly": {
            "title": "Out-of-state owners only",
            "type": "boolean",
            "description": "Owner's mailing state differs from the property's state.",
            "default": false
          },
          "vacantLandOnly": {
            "title": "Vacant land only",
            "type": "boolean",
            "description": "Vacant land by the county's own land-use code (e.g. Florida DOR 000/010/040/070) or zero building value. Areas that publish neither are skipped for this filter - see DIRECTORY.",
            "default": false
          },
          "minAcres": {
            "title": "Min acres",
            "type": "string",
            "description": "Minimum lot size in acres, e.g. 0.25"
          },
          "maxAcres": {
            "title": "Max acres",
            "type": "string",
            "description": "Maximum lot size in acres."
          },
          "minValue": {
            "title": "Min value (USD)",
            "type": "string",
            "description": "Minimum assessor value. Which value a county publishes (just, market, assessed) is named in every row as valueType."
          },
          "maxValue": {
            "title": "Max value (USD)",
            "type": "string",
            "description": "Maximum assessor value."
          },
          "ownerTypes": {
            "title": "Owner types",
            "type": "array",
            "description": "Keep only these owner types: individual, company, trust, government. ownerType is a HEURISTIC text rule on the owner name, not a legal classification. \"individual\" requires includeIndividuals. Empty = all allowed types.",
            "items": {
              "type": "string",
              "enum": [
                "individual",
                "company",
                "trust",
                "government"
              ],
              "enumTitles": [
                "Individual",
                "Company / LLC",
                "Trust / estate",
                "Government"
              ]
            }
          },
          "excludeGovernment": {
            "title": "Exclude government owners",
            "type": "boolean",
            "description": "Drop parcels owned by counties, cities, states, the federal government, school and water districts. Recommended for land acquisition research.",
            "default": true
          },
          "includeIndividuals": {
            "title": "Include private persons",
            "type": "boolean",
            "description": "Off (default): only rows whose owner looks like a company, trust or government body are written, and a second owner or c/o line is kept only when it is itself a company, trust or public body. On: requires \"I am responsible for the legal use of this data\". On: private persons are included, reduced to what the register purpose needs - no lat/lon, no second owner, no c/o line, no raw columns; in owners mode no parcel list, only the count. ownerType is a heuristic on the name text, not a legal classification.",
            "default": false
          },
          "suppressOwners": {
            "title": "Suppress owners (opt-out list)",
            "type": "array",
            "description": "Owner names that must never be written, e.g. people who objected to you. Matching ignores case, punctuation and word order and checks owner, second owner and c/o. Applied on top of the Actor's built-in opt-out list.",
            "items": {
              "type": "string"
            }
          },
          "landUseCodes": {
            "title": "Land use codes",
            "type": "array",
            "description": "Keep only these raw county land-use codes (e.g. Florida DOR \"000\" vacant residential, \"099\" acreage). Codes differ per county - check the landUseCode column of a small test run.",
            "items": {
              "type": "string"
            }
          },
          "ownerNameContains": {
            "title": "Owner name contains",
            "type": "string",
            "description": "Case-insensitive text match on the owner name, e.g. LLC or a company name."
          },
          "situsZipCodes": {
            "title": "Property ZIP codes",
            "type": "array",
            "description": "Keep only properties in these ZIP codes (prefixes work: 329 = 329xx).",
            "items": {
              "type": "string"
            }
          },
          "lastSaleBefore": {
            "title": "Last sale before (long-held)",
            "type": "string",
            "description": "Keep parcels whose last recorded sale is before this date (2015 or 2015-06-30). Parcels without any recorded sale are kept - for long-held lists that is the strongest signal."
          },
          "minParcelsPerOwner": {
            "title": "Min parcels per owner (owners mode)",
            "minimum": 1,
            "type": "integer",
            "description": "In owners mode, keep only owners with at least this many matching parcels.",
            "default": 1
          },
          "maxResults": {
            "title": "Max rows",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many rows in total. You pay per row written - never for scanned or filtered-out parcels.",
            "default": 1000
          },
          "maxResultsPerArea": {
            "title": "Max rows per area",
            "type": "integer",
            "description": "Optional cap per county/area (parcels mode)."
          },
          "maxCostUsd": {
            "title": "Hard cost cap (USD)",
            "type": "string",
            "description": "The run stops cleanly before this amount is reached, calculated from the live price. Leave empty for no cap."
          },
          "countOnly": {
            "title": "Count only (free preview)",
            "type": "boolean",
            "description": "Only ask each server how many parcels match (filters that the county supports server-side are included). Writes no rows, charges no rows.",
            "default": false
          },
          "maxScanPerArea": {
            "title": "Max parcels scanned per area",
            "minimum": 1000,
            "type": "integer",
            "description": "Safety limit for very large areas with strict filters. SUMMARY says whether an area was scanned completely (compared with the server's own count).",
            "default": 250000
          },
          "whereClause": {
            "title": "Extra ArcGIS WHERE clause",
            "type": "string",
            "description": "Raw SQL appended with AND for power users, using the layer's own column names, e.g. PHY_CITY='MIMS' for Florida."
          },
          "pushdownFilters": {
            "title": "Send filters to the server",
            "type": "boolean",
            "description": "Filters verified per county are sent to the GIS server so fewer parcels are downloaded. If a server rejects one, the Actor falls back to local filtering automatically.",
            "default": true
          },
          "includeRawAttributes": {
            "title": "Include raw county attributes",
            "type": "boolean",
            "description": "Add the original columns of the county layer as rawAttributes (bigger rows). Columns that look like phone, email, SSN or birth date are never requested. Not written for private persons. Requires \"I am responsible for the legal use of this data\" (raw columns can hold co-owner names).",
            "default": false
          },
          "requestGapMs": {
            "title": "Pause between requests (ms)",
            "minimum": 200,
            "type": "integer",
            "description": "Minimum pause between two requests to the same government server. These are public services - be polite.",
            "default": 350
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}