{
  "data": {
    "id": "1vR0Cz4HPqF7tkeVe",
    "actId": "IcUcc0YEEIiCY2Jl3",
    "userId": "NL4ThgItAwaoBlffQ",
    "startedAt": "2026-11-12T09:23:01.970Z",
    "finishedAt": "2026-11-12T09:23:06.673Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 4586,
      "runTimeSecs": 4.586,
      "computeUnits": 0.005095555555555555,
      "imageSizeBytes": 358391808
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "6GwdnIcc2aWR7LzCS",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Propwire Property & Owner Lead Finder Input\",\n  \"description\": \"Find US property leads or owner leads from Propwire: one record per property or person, with owner, equity, MLS, tax and distress data. No cookies or proxy setup needed.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"What to fetch. Property search is the default and cheapest mode.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"properties\",\n        \"propertyDetails\",\n        \"owners\",\n        \"ownerDetails\"\n      ],\n      \"enumTitles\": [\n        \"Find property leads\",\n        \"Get property details by ID or URL\",\n        \"Find owner leads (agents / cash buyers)\",\n        \"Get owner profile by ID or URL\"\n      ],\n      \"default\": \"properties\",\n      \"prefill\": \"properties\"\n    },\n    \"locations\": {\n      \"title\": \"Locations\",\n      \"type\": \"array\",\n      \"description\": \"US places to search (mode=properties, owners): 'Miami, FL', 'Miami-Dade County, FL', or a 5-digit ZIP. Add one entry per place. A bare state code is accepted but Propwire's search API is unreliable for state-wide queries; use a city, county or ZIP for stable results. St./Ft./Mt. abbreviations are expanded automatically.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"Miami, FL\"\n      ]\n    },\n    \"searchUrls\": {\n      \"title\": \"Saved Propwire search URLs\",\n      \"type\": \"array\",\n      \"description\": \"Optional (mode=properties). Paste one or more propwire.com/search?filters=... links copied from your browser; the actor replays the same area and filters. When present, these URLs take precedence over Locations and the filter fields below. Property URLs are also accepted as an ID shortcut.\",\n      \"editor\": \"stringList\",\n      \"prefill\": []\n    },\n    \"propertyIds\": {\n      \"title\": \"Property IDs or URLs\",\n      \"type\": \"array\",\n      \"description\": \"Property IDs (e.g. 88441) or propwire.com/realestate/... URLs (mode=properties, propertyDetails). Results are deduplicated.\",\n      \"editor\": \"stringList\",\n      \"prefill\": []\n    },\n    \"ownerProfileIds\": {\n      \"title\": \"Owner profile IDs or URLs\",\n      \"type\": \"array\",\n      \"description\": \"32-character agent / cash-buyer profile IDs, or propwire.com/agents/<id> and /cash-buyers/<id> URLs (mode=ownerDetails).\",\n      \"editor\": \"stringList\",\n      \"prefill\": []\n    },\n    \"peopleType\": {\n      \"title\": \"Owner lead type\",\n      \"type\": \"string\",\n      \"description\": \"Which owner directory to search (mode=owners).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"cash_buyer\",\n        \"agent\"\n      ],\n      \"enumTitles\": [\n        \"Cash buyers\",\n        \"Real estate agents\"\n      ],\n      \"default\": \"cash_buyer\",\n      \"prefill\": \"cash_buyer\",\n      \"sectionCaption\": \"Owner search filters\"\n    },\n    \"ownerName\": {\n      \"title\": \"Owner name contains\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=owners). Case-insensitive name fragment, e.g. 'Smith'.\",\n      \"editor\": \"textfield\"\n    },\n    \"transactionsMin\": {\n      \"title\": \"Minimum transactions\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners). Minimum recorded transactions / deals.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"transactionsMax\": {\n      \"title\": \"Maximum transactions\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners). Maximum recorded transactions / deals.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"ownerPropertiesMin\": {\n      \"title\": \"Minimum properties owned\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners). Minimum properties in the owner's portfolio.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"ownerPropertiesMax\": {\n      \"title\": \"Maximum properties owned\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners). Maximum properties in the owner's portfolio.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"avgSalePriceMin\": {\n      \"title\": \"Minimum average sale price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"avgSalePriceMax\": {\n      \"title\": \"Maximum average sale price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=owners).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"lastTransactionFrom\": {\n      \"title\": \"Last transaction from\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=owners). Date in YYYY-MM-DD format.\",\n      \"editor\": \"textfield\"\n    },\n    \"lastTransactionTo\": {\n      \"title\": \"Last transaction to\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=owners). Date in YYYY-MM-DD format.\",\n      \"editor\": \"textfield\"\n    },\n    \"ownerSortBy\": {\n      \"title\": \"Owner sort field\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=owners).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"transactions\",\n        \"avg_sale_price\",\n        \"properties_owned\",\n        \"last_transaction_date\"\n      ],\n      \"enumTitles\": [\n        \"Transactions\",\n        \"Average sale price\",\n        \"Properties owned\",\n        \"Last transaction date\"\n      ]\n    },\n    \"leadTypes\": {\n      \"title\": \"Lead types\",\n      \"type\": \"array\",\n      \"description\": \"Optional (mode=properties). Only properties carrying every selected flag are returned. Supported free flags: absentee_owner, adjustable_loan, assumable_loan, auction, bank_owned, cash_buyer, empty_nester, flipped_property, free_and_clear, high_equity, intrafamily_transfer, low_equity, mls_active, mls_failed, mls_pending, mls_sold, negative_equity, out_of_state_owner, preforeclosure, preprobate, private_lender, tired_landlord, vacant_home, vacant_lot, zombie_property. Paid-membership flags are ignored and named in the run status.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [],\n      \"sectionCaption\": \"Property filters\"\n    },\n    \"propertyTypes\": {\n      \"title\": \"Property types\",\n      \"type\": \"array\",\n      \"description\": \"Optional (mode=properties). Leave empty for every type.\",\n      \"editor\": \"select\",\n      \"prefill\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"single_family\",\n          \"condo\",\n          \"multi_family_2_to_4\",\n          \"multi_family_5_plus\",\n          \"mobile\",\n          \"land\",\n          \"commercial\",\n          \"other\"\n        ],\n        \"enumTitles\": [\n          \"Single-family home\",\n          \"Condo or townhouse\",\n          \"Multi-family (2-4 units)\",\n          \"Multi-family (5+ units)\",\n          \"Mobile or manufactured\",\n          \"Land\",\n          \"Commercial\",\n          \"Other\"\n        ]\n      },\n      \"uniqueItems\": true,\n      \"default\": []\n    },\n    \"ownerKinds\": {\n      \"title\": \"Owner kinds\",\n      \"type\": \"array\",\n      \"description\": \"Optional (mode=properties). Restrict to individual, company, or bank-owned properties.\",\n      \"editor\": \"select\",\n      \"prefill\": [],\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"individual\",\n          \"company\",\n          \"bank\"\n        ],\n        \"enumTitles\": [\n          \"Individual\",\n          \"Company / LLC\",\n          \"Bank or trust\"\n        ]\n      },\n      \"uniqueItems\": true,\n      \"default\": []\n    },\n    \"bedsMin\": {\n      \"title\": \"Minimum bedrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"bedsMax\": {\n      \"title\": \"Maximum bedrooms\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"bathsMin\": {\n      \"title\": \"Minimum bathrooms\",\n      \"type\": \"number\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"bathsMax\": {\n      \"title\": \"Maximum bathrooms\",\n      \"type\": \"number\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"storiesMin\": {\n      \"title\": \"Minimum stories\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"storiesMax\": {\n      \"title\": \"Maximum stories\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"sqftMin\": {\n      \"title\": \"Minimum building area (sqft)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 10000000\n    },\n    \"sqftMax\": {\n      \"title\": \"Maximum building area (sqft)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 10000000\n    },\n    \"lotSqftMin\": {\n      \"title\": \"Minimum lot size (sqft)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000000\n    },\n    \"lotSqftMax\": {\n      \"title\": \"Maximum lot size (sqft)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000000\n    },\n    \"yearBuiltMin\": {\n      \"title\": \"Year built from\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 1800,\n      \"maximum\": 2100\n    },\n    \"yearBuiltMax\": {\n      \"title\": \"Year built to\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 1800,\n      \"maximum\": 2100\n    },\n    \"unitsMin\": {\n      \"title\": \"Minimum units\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 10000\n    },\n    \"unitsMax\": {\n      \"title\": \"Maximum units\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 10000\n    },\n    \"valueMin\": {\n      \"title\": \"Minimum estimated value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"valueMax\": {\n      \"title\": \"Maximum estimated value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"equityMin\": {\n      \"title\": \"Minimum estimated equity (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"equityMax\": {\n      \"title\": \"Maximum estimated equity (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"equityPercentMin\": {\n      \"title\": \"Minimum equity percent\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties). 0-100.\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"equityPercentMax\": {\n      \"title\": \"Maximum equity percent\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties). 0-100.\",\n      \"minimum\": 0,\n      \"maximum\": 100\n    },\n    \"ltvMin\": {\n      \"title\": \"Minimum loan-to-value\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 200\n    },\n    \"ltvMax\": {\n      \"title\": \"Maximum loan-to-value\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 200\n    },\n    \"lastSoldPriceMin\": {\n      \"title\": \"Minimum last sale price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"lastSoldPriceMax\": {\n      \"title\": \"Maximum last sale price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"lastSoldDateFrom\": {\n      \"title\": \"Last sale date from\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"lastSoldDateTo\": {\n      \"title\": \"Last sale date to\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"assessedValueMin\": {\n      \"title\": \"Minimum assessed value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"assessedValueMax\": {\n      \"title\": \"Maximum assessed value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"yearsOwnedMin\": {\n      \"title\": \"Minimum years owned\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 200\n    },\n    \"yearsOwnedMax\": {\n      \"title\": \"Maximum years owned\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 200\n    },\n    \"propertiesOwnedMin\": {\n      \"title\": \"Minimum properties owned by owner\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"propertiesOwnedMax\": {\n      \"title\": \"Maximum properties owned by owner\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"portfolioValueMin\": {\n      \"title\": \"Minimum owner portfolio value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"portfolioValueMax\": {\n      \"title\": \"Maximum owner portfolio value (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"taxDelinquentSince\": {\n      \"title\": \"Tax delinquent since (year)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties). Minimum tax-delinquent year.\",\n      \"minimum\": 1900,\n      \"maximum\": 2100\n    },\n    \"ownerOccupied\": {\n      \"title\": \"Owner occupied\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Owner occupied\",\n        \"Not owner occupied\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"outOfStateOwner\": {\n      \"title\": \"Out-of-state owner\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Yes\",\n        \"No\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"vacant\": {\n      \"title\": \"Vacancy\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Vacant\",\n        \"Occupied\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"pool\": {\n      \"title\": \"Pool\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Has pool\",\n        \"No pool\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"privateLender\": {\n      \"title\": \"Private lender\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Yes\",\n        \"No\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"cashBuyer\": {\n      \"title\": \"Cash buyer\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Yes\",\n        \"No\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"preforeclosure\": {\n      \"title\": \"Pre-foreclosure\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"any\",\n        \"true\",\n        \"false\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"Yes\",\n        \"No\"\n      ],\n      \"default\": \"any\",\n      \"prefill\": \"any\"\n    },\n    \"noticeType\": {\n      \"title\": \"Foreclosure notice type\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"lis_pendens\",\n        \"notice_of_default\",\n        \"notice_of_trustee_sale\",\n        \"notice_of_sale\",\n        \"reo\"\n      ],\n      \"enumTitles\": [\n        \"Lis pendens\",\n        \"Notice of default\",\n        \"Notice of trustee sale\",\n        \"Notice of sale\",\n        \"REO\"\n      ]\n    },\n    \"noticeDateFrom\": {\n      \"title\": \"Notice date from\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"noticeDateTo\": {\n      \"title\": \"Notice date to\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"auctionDateFrom\": {\n      \"title\": \"Auction date from\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"auctionDateTo\": {\n      \"title\": \"Auction date to\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties). YYYY-MM-DD.\",\n      \"editor\": \"textfield\"\n    },\n    \"openingBidMin\": {\n      \"title\": \"Minimum auction opening bid (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"openingBidMax\": {\n      \"title\": \"Maximum auction opening bid (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"mlsStatus\": {\n      \"title\": \"MLS listing status\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"active\",\n        \"pending\",\n        \"sold\",\n        \"failed\"\n      ],\n      \"enumTitles\": [\n        \"Active\",\n        \"Pending\",\n        \"Sold\",\n        \"Failed\"\n      ]\n    },\n    \"daysOnMarketMin\": {\n      \"title\": \"Minimum days on market\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"daysOnMarketMax\": {\n      \"title\": \"Maximum days on market\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"listPriceMin\": {\n      \"title\": \"Minimum MLS list price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"listPriceMax\": {\n      \"title\": \"Maximum MLS list price (USD)\",\n      \"type\": \"integer\",\n      \"description\": \"Optional (mode=properties).\",\n      \"minimum\": 0,\n      \"maximum\": 1000000000\n    },\n    \"sortBy\": {\n      \"title\": \"Property sort field\",\n      \"type\": \"string\",\n      \"description\": \"Optional (mode=properties).\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"estimated_value\",\n        \"estimated_equity\",\n        \"equity_percent\",\n        \"last_sold_price\",\n        \"last_sold_date\",\n        \"list_price\",\n        \"list_price_per_sqft\",\n        \"days_on_market\",\n        \"living_area\",\n        \"year_built\"\n      ],\n      \"enumTitles\": [\n        \"Estimated value\",\n        \"Estimated equity\",\n        \"Equity percent\",\n        \"Last sale price\",\n        \"Last sale date\",\n        \"MLS list price\",\n        \"MLS list price per sqft\",\n        \"Days on market\",\n        \"Living area\",\n        \"Year built\"\n      ]\n    },\n    \"sortOrder\": {\n      \"title\": \"Sort order\",\n      \"type\": \"string\",\n      \"description\": \"Used by sortBy and ownerSortBy.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"desc\",\n        \"asc\"\n      ],\n      \"enumTitles\": [\n        \"Descending\",\n        \"Ascending\"\n      ],\n      \"default\": \"desc\",\n      \"prefill\": \"desc\"\n    },\n    \"includeDetails\": {\n      \"title\": \"Fetch full property details\",\n      \"type\": \"boolean\",\n      \"description\": \"Optional (mode=properties). Adds one detail request per property: parcel/APN, mortgages, transfer history, foreclosure, tax bill and photos. Slower and uses more requests; leave off for large lists.\",\n      \"default\": false,\n      \"prefill\": false,\n      \"sectionCaption\": \"Output\"\n    },\n    \"includeProfile\": {\n      \"title\": \"Fetch full owner profiles\",\n      \"type\": \"boolean\",\n      \"description\": \"Optional (mode=owners). Adds one profile request per owner: email, license, recent listings or cash-buyer portfolio.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum records\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum records to push across all locations (default 50 when omitted). Propwire serves at most 10,000 rows per search.\",\n      \"minimum\": 1,\n      \"maximum\": 10000,\n      \"prefill\": 3\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Propwire Property & Owner Lead Finder\n\nPropwire publishes US property records with owner names and mailing addresses, valuation and equity estimates, MLS history, tax assessments and dozens of motivated-seller flags. This actor turns that public index into structured property-lead and owner-lead datasets. It uses Propwire's public guest session: no account, no cookies, no API key, and no proxy setup.\n\n## Modes\n\n| Mode | What it does |\n|---|---|\n| **Find property leads** | Search by city, county or ZIP, by a saved `propwire.com/search?filters=...` URL, or by property IDs. Apply lead-type, property, equity, ownership, foreclosure and MLS filters; paginate up to 10,000 rows per search. |\n| **Get property details by ID or URL** | Fetch full records for property IDs or property links: parcel/APN, zoning, building details, mortgages, transfer history, foreclosure/auction, tax bill, MLS listing and photos. |\n| **Find owner leads** | Search Propwire's agent or cash-buyer directory by city, county or ZIP; filter by name, deal count, portfolio size, average sale price and last transaction date. |\n| **Get owner profile by ID or URL** | Fetch an agent or cash-buyer profile, including email, license, recent listings or a cash-buyer portfolio. |\n\nEvery dataset row has `recordType` (`property` or `owner`), `sourceUrl` and `scrapedAt`.\n\n## Property output\n\nEach property row carries the original Propwire field names in camelCase:\n\n- **Address & geography** — `address`, `city`, `state`, `zip`, `zip4`, `county`, `fips`, `latitude`, `longitude`, `addressLabel`.\n- **Building** — `propertyType`, `propertyTypeCode`, `bedrooms`, `bathrooms`, `livingAreaSf`, `buildingAreaSf`, `lotSizeSf`, `lotSizeAcres`, `yearBuilt`, `stories`, `units`, `construction`, `foundation`, `roofMaterial`, `pool`, `garageType`, `basementType`.\n- **Valuation & sale** — `estimatedValue`, `estimatedEquity`, `estimatedEquityPercentage`, `estimatedLtv`, `estimatedPricePerSf`, `lastSoldDate`, `lastSoldPrice`, `monthsOfOwnership`, `yearsOfOwnership`.\n- **Owner** — `ownerName`, `ownerNames`, `ownerMailingAddress`, `ownerMailingCity`, `ownerMailingState`, `ownerMailingZip`, `ownerOccupied`, `companyOwned`, `individualOwned`, `trustOwned`, `ownerPortfolioProperties`, `ownerPortfolioValue`, `ownerTypes`.\n- **MLS** — `mlsStatus`, `mlsListPrice`, `mlsListDate`, `mlsSoldPrice`, `mlsSoldDate`, `daysOnMarket`, `mlsListingUrl`, `mlsListingAgentName`, `mlsPhotos`.\n- **Tax & foreclosure** — `taxAssessedTotal`, `taxAssessedLand`, `taxAssessedImprovements`, `taxBilledAmount`, `taxDelinquentYear`, `foreclosureActive`, `foreclosureNoticeType`, `openingBid`, `auctionDate`, `auctionCityState`.\n- **Lead flags** — `leadTypes`, the active Propwire list flags for that property.\n- **Details mode** — `apn`, `legalDescription`, `subdivision`, `zoning`, `propertyUseDescription`, `mortgages`, `transferHistory`, `taxExemptions`, `photos`, and more.\n\nEmpty values are omitted rather than written as `null` or `\"\"`.\n\n## Owner output\n\nOwner profile rows carry `ownerId`, `ownerName`, `ownerProfileType` (`agent` or `cash_buyer`), `ownerCompany`, `ownerPhone`, `ownerEmail`, `ownerLicenseNumber`, `ownerLicenseState`, `ownerTransactionsCount`, `ownerAvgSalePrice`, `ownerPropertiesOwned`, `ownerLastTransactionDate`, `ownerCity`, `ownerCounty`, `ownerZip`, `ownerProfileUrl`, plus portfolio and listing blocks when **Fetch full owner profiles** is on.\n\n## Inputs\n\n| Input | Type | Default | Description |\n|---|---|---|---|\n| `mode` | select | `properties` | What to fetch. Property search is the default and cheapest mode. |\n| `locations` | string[] | – | US places to search (mode=properties, owners): 'Miami, FL', 'Miami-Dade County, FL', or a 5-digit ZIP. Add one entry per place. A bare state code is accepted but Propwire's search API is unreliable for state-wide queries; use a city, county or ZIP for stable results. St./Ft./Mt. abbreviations are expanded automatically. |\n| `searchUrls` | string[] | – | Optional (mode=properties). Paste one or more propwire.com/search?filters=... links copied from your browser; the actor replays the same area and filters. When present, these URLs take precedence over Locations and the filter fields below. Property URLs are also accepted as an ID shortcut. |\n| `propertyIds` | string[] | – | Property IDs (e.g. 88441) or propwire.com/realestate/... URLs (mode=properties, propertyDetails). Results are deduplicated. |\n| `ownerProfileIds` | string[] | – | 32-character agent / cash-buyer profile IDs, or propwire.com/agents/<id> and /cash-buyers/<id> URLs (mode=ownerDetails). |\n| `peopleType` | select | `cash_buyer` | Which owner directory to search (mode=owners). |\n| `ownerName` | string | – | Optional (mode=owners). Case-insensitive name fragment, e.g. 'Smith'. |\n| `transactionsMin` | integer | – | Optional (mode=owners). Minimum recorded transactions / deals. |\n| `transactionsMax` | integer | – | Optional (mode=owners). Maximum recorded transactions / deals. |\n| `ownerPropertiesMin` | integer | – | Optional (mode=owners). Minimum properties in the owner's portfolio. |\n| `ownerPropertiesMax` | integer | – | Optional (mode=owners). Maximum properties in the owner's portfolio. |\n| `avgSalePriceMin` | integer | – | Optional (mode=owners). |\n| `avgSalePriceMax` | integer | – | Optional (mode=owners). |\n| `lastTransactionFrom` | string | – | Optional (mode=owners). Date in YYYY-MM-DD format. |\n| `lastTransactionTo` | string | – | Optional (mode=owners). Date in YYYY-MM-DD format. |\n| `ownerSortBy` | select | – | Optional (mode=owners). |\n| `leadTypes` | string[] | – | Optional (mode=properties). Only properties carrying every selected flag are returned. Supported free flags: absentee_owner, adjustable_loan, assumable_loan, auction, bank_owned, cash_buyer, empty_nester, flipped_property, free_and_clear, high_equity, intrafamily_transfer, low_equity, mls_active, mls_failed, mls_pending, mls_sold, negative_equity, out_of_state_owner, preforeclosure, preprobate, private_lender, tired_landlord, vacant_home, vacant_lot, zombie_property. Paid-membership flags are ignored and named in the run status. |\n| `propertyTypes` | select | `[]` | Optional (mode=properties). Leave empty for every type. |\n| `ownerKinds` | select | `[]` | Optional (mode=properties). Restrict to individual, company, or bank-owned properties. |\n| `bedsMin` | integer | – | Optional (mode=properties). |\n| `bedsMax` | integer | – | Optional (mode=properties). |\n| `bathsMin` | integer | – | Optional (mode=properties). |\n| `bathsMax` | integer | – | Optional (mode=properties). |\n| `storiesMin` | integer | – | Optional (mode=properties). |\n| `storiesMax` | integer | – | Optional (mode=properties). |\n| `sqftMin` | integer | – | Optional (mode=properties). |\n| `sqftMax` | integer | – | Optional (mode=properties). |\n| `lotSqftMin` | integer | – | Optional (mode=properties). |\n| `lotSqftMax` | integer | – | Optional (mode=properties). |\n| `yearBuiltMin` | integer | – | Optional (mode=properties). |\n| `yearBuiltMax` | integer | – | Optional (mode=properties). |\n| `unitsMin` | integer | – | Optional (mode=properties). |\n| `unitsMax` | integer | – | Optional (mode=properties). |\n| `valueMin` | integer | – | Optional (mode=properties). |\n| `valueMax` | integer | – | Optional (mode=properties). |\n| `equityMin` | integer | – | Optional (mode=properties). |\n| `equityMax` | integer | – | Optional (mode=properties). |\n| `equityPercentMin` | integer | – | Optional (mode=properties). 0-100. |\n| `equityPercentMax` | integer | – | Optional (mode=properties). 0-100. |\n| `ltvMin` | integer | – | Optional (mode=properties). |\n| `ltvMax` | integer | – | Optional (mode=properties). |\n| `lastSoldPriceMin` | integer | – | Optional (mode=properties). |\n| `lastSoldPriceMax` | integer | – | Optional (mode=properties). |\n| `lastSoldDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `lastSoldDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `assessedValueMin` | integer | – | Optional (mode=properties). |\n| `assessedValueMax` | integer | – | Optional (mode=properties). |\n| `yearsOwnedMin` | integer | – | Optional (mode=properties). |\n| `yearsOwnedMax` | integer | – | Optional (mode=properties). |\n| `propertiesOwnedMin` | integer | – | Optional (mode=properties). |\n| `propertiesOwnedMax` | integer | – | Optional (mode=properties). |\n| `portfolioValueMin` | integer | – | Optional (mode=properties). |\n| `portfolioValueMax` | integer | – | Optional (mode=properties). |\n| `taxDelinquentSince` | integer | – | Optional (mode=properties). Minimum tax-delinquent year. |\n| `ownerOccupied` | select | `any` | Optional (mode=properties). |\n| `outOfStateOwner` | select | `any` | Optional (mode=properties). |\n| `vacant` | select | `any` | Optional (mode=properties). |\n| `pool` | select | `any` | Optional (mode=properties). |\n| `privateLender` | select | `any` | Optional (mode=properties). |\n| `cashBuyer` | select | `any` | Optional (mode=properties). |\n| `preforeclosure` | select | `any` | Optional (mode=properties). |\n| `noticeType` | select | – | Optional (mode=properties). |\n| `noticeDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `noticeDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `auctionDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `auctionDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `openingBidMin` | integer | – | Optional (mode=properties). |\n| `openingBidMax` | integer | – | Optional (mode=properties). |\n| `mlsStatus` | select | – | Optional (mode=properties). |\n| `daysOnMarketMin` | integer | – | Optional (mode=properties). |\n| `daysOnMarketMax` | integer | – | Optional (mode=properties). |\n| `listPriceMin` | integer | – | Optional (mode=properties). |\n| `listPriceMax` | integer | – | Optional (mode=properties). |\n| `sortBy` | select | – | Optional (mode=properties). |\n| `sortOrder` | select | `desc` | Used by sortBy and ownerSortBy. |\n| `includeDetails` | boolean | `false` | Optional (mode=properties). Adds one detail request per property: parcel/APN, mortgages, transfer history, foreclosure, tax bill and photos. Slower and uses more requests; leave off for large lists. |\n| `includeProfile` | boolean | `false` | Optional (mode=owners). Adds one profile request per owner: email, license, recent listings or cash-buyer portfolio. |\n| `maxItems` | integer | – (50 when omitted) | Maximum records to push across all locations. Propwire serves at most 10,000 rows per search. |\n\nProperty filters: `leadTypes`, `propertyTypes`, `ownerKinds`, bed/bath/story/square-foot/lot/year/unit ranges, value/equity/equity-percent/LTV ranges, last-sale and assessed-value ranges, owner-occupied / out-of-state / vacant / pool / private-lender / cash-buyer / pre-foreclosure flags, owner portfolio and years-owned ranges, tax-delinquent year, foreclosure notice type and date range, auction date range and opening bid, MLS status, days on market, MLS list price, `sortBy` and `sortOrder`.\n\nOwner filters: `ownerName`, transaction range, portfolio-size range, average-sale-price range, last-transaction date range and `ownerSortBy`.\n\n## Examples\n\nHigh-equity absentee owners in Miami:\n\n```json\n{\n  \"mode\": \"properties\",\n  \"locations\": [\"Miami, FL\"],\n  \"leadTypes\": [\"high_equity\", \"absentee_owner\"],\n  \"maxItems\": 100\n}\n```\n\nFull records for two properties:\n\n```json\n{\n  \"mode\": \"propertyDetails\",\n  \"propertyIds\": [\"88441\", \"https://propwire.com/realestate/840-Tennessee-Ave-Fort-Lauderdale-FL/88441/property-details\"],\n  \"maxItems\": 2\n}\n```\n\nCash buyers with 5+ properties in Austin:\n\n```json\n{\n  \"mode\": \"owners\",\n  \"peopleType\": \"cash_buyer\",\n  \"locations\": [\"Austin, TX\"],\n  \"ownerPropertiesMin\": 5,\n  \"includeProfile\": true,\n  \"maxItems\": 25\n}\n```\n\nReplay a search you built on the site:\n\n```json\n{\n  \"mode\": \"properties\",\n  \"searchUrls\": [\"https://propwire.com/search?filters=%7B%22locations%22%3A%5B%7B%22city%22%3A%22Austin%22%2C%22state%22%3A%22TX%22%7D%5D%2C%22lead_type%22%3A%5B%22high_equity%22%5D%7D\"],\n  \"maxItems\": 200\n}\n```\n\n## Pagination and limits\n\n- Property searches page in blocks of 100 rows. The actor stops at your `maxItems`, at the search's reported total, or at Propwire's 10,000-row ceiling, whichever comes first.\n- Owner searches use Propwire's own people-count endpoint and paginate the same way.\n- Duplicate property IDs and owner IDs are removed across pages and locations.\n- State-only searches (`\"FL\"`) are accepted, but Propwire's search API does not reliably apply a state filter. Use a city, county or ZIP for predictable results.\n- Lead types that Propwire reserves for paid memberships (for example `divorce`, `bankruptcy`, `code_violation`) are not available to a guest session. The actor ignores them and says so in the run status.\n- `includeDetails` and `includeProfile` add one request per row; keep those runs small.\n\n## Reliability\n\nRequests are cookieless: the actor opens Propwire's public homepage, uses the guest token it issues, and keeps the resulting session cookies in memory. When an exit is challenged, it rotates the browser fingerprint, proxy session and token, then retries. No cookies, logins, API keys or proxy configuration are required from you; the actor selects its own proxy. It never writes invented rows: if Propwire is unreachable after retries, the run fails with a clear status message instead of returning sentinel records.\n\n## Limitations\n\n- Propwire's guest search does not expose paid lead types, owner phone numbers or skip-trace contact data.\n- Cash-buyer contact fields depend on Propwire's profile access level; some profiles return portfolio data without contact details.\n- State-only property searches are unreliable at the API level, as noted above.\n- Propwire serves at most 10,000 rows per search. Split broad markets by city, county or ZIP to collect more.\n- The actor reads Propwire's public index; it does not log in or bypass paywalls.\n\n## FAQ\n\n**Do I need a Propwire account or cookies?** No. The actor uses Propwire's public guest session.\n\n**Do I need a proxy?** No. The actor picks its own proxy automatically.\n\n**Can I search several places at once?** Yes — add multiple entries to `locations`, mix cities, counties and ZIPs, or paste several saved search URLs.\n\n**Can I get phone numbers or emails?** Agent profiles expose the public phone and email Propwire publishes. Cash-buyer contact data is limited by Propwire's profile access level; use `includeProfile` and check `ownerEmail` / `ownerPhone`.\n\n**Why are some fields missing on a row?** Propwire does not report that value for that property or person. The actor omits empty fields instead of writing `null`.\n\n**Is this affiliated with Propwire?** No. This is an independent tool that reads Propwire's publicly available property and owner search. You are responsible for complying with Propwire's terms and applicable law.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "propwire-distressed-and-high-equity-property-lead",
      "title": "Propwire Distressed & High-Equity Property Lead Finder",
      "description": "Search Propwire by city, state, or ZIP and pull property, owner, equity, MLS, and tax data tagged with lead-type flags like absentee owner, high equity, vacant, and pre-foreclosure.",
      "version": "1.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-empty"
      },
      "input": {
        "title": "Propwire Property & Owner Lead Finder Input",
        "description": "Find US property leads or owner leads from Propwire: one record per property or person, with owner, equity, MLS, tax and distress data. No cookies or proxy setup needed.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "What to fetch. Property search is the default and cheapest mode.",
            "editor": "select",
            "enum": [
              "properties",
              "propertyDetails",
              "owners",
              "ownerDetails"
            ],
            "enumTitles": [
              "Find property leads",
              "Get property details by ID or URL",
              "Find owner leads (agents / cash buyers)",
              "Get owner profile by ID or URL"
            ],
            "default": "properties",
            "prefill": "properties"
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "US places to search (mode=properties, owners): 'Miami, FL', 'Miami-Dade County, FL', or a 5-digit ZIP. Add one entry per place. A bare state code is accepted but Propwire's search API is unreliable for state-wide queries; use a city, county or ZIP for stable results. St./Ft./Mt. abbreviations are expanded automatically.",
            "editor": "stringList",
            "prefill": [
              "Miami, FL"
            ]
          },
          "searchUrls": {
            "title": "Saved Propwire search URLs",
            "type": "array",
            "description": "Optional (mode=properties). Paste one or more propwire.com/search?filters=... links copied from your browser; the actor replays the same area and filters. When present, these URLs take precedence over Locations and the filter fields below. Property URLs are also accepted as an ID shortcut.",
            "editor": "stringList",
            "prefill": []
          },
          "propertyIds": {
            "title": "Property IDs or URLs",
            "type": "array",
            "description": "Property IDs (e.g. 88441) or propwire.com/realestate/... URLs (mode=properties, propertyDetails). Results are deduplicated.",
            "editor": "stringList",
            "prefill": []
          },
          "ownerProfileIds": {
            "title": "Owner profile IDs or URLs",
            "type": "array",
            "description": "32-character agent / cash-buyer profile IDs, or propwire.com/agents/<id> and /cash-buyers/<id> URLs (mode=ownerDetails).",
            "editor": "stringList",
            "prefill": []
          },
          "peopleType": {
            "title": "Owner lead type",
            "type": "string",
            "description": "Which owner directory to search (mode=owners).",
            "editor": "select",
            "enum": [
              "cash_buyer",
              "agent"
            ],
            "enumTitles": [
              "Cash buyers",
              "Real estate agents"
            ],
            "default": "cash_buyer",
            "prefill": "cash_buyer",
            "sectionCaption": "Owner search filters"
          },
          "ownerName": {
            "title": "Owner name contains",
            "type": "string",
            "description": "Optional (mode=owners). Case-insensitive name fragment, e.g. 'Smith'.",
            "editor": "textfield"
          },
          "transactionsMin": {
            "title": "Minimum transactions",
            "type": "integer",
            "description": "Optional (mode=owners). Minimum recorded transactions / deals.",
            "minimum": 0,
            "maximum": 100000
          },
          "transactionsMax": {
            "title": "Maximum transactions",
            "type": "integer",
            "description": "Optional (mode=owners). Maximum recorded transactions / deals.",
            "minimum": 0,
            "maximum": 100000
          },
          "ownerPropertiesMin": {
            "title": "Minimum properties owned",
            "type": "integer",
            "description": "Optional (mode=owners). Minimum properties in the owner's portfolio.",
            "minimum": 0,
            "maximum": 100000
          },
          "ownerPropertiesMax": {
            "title": "Maximum properties owned",
            "type": "integer",
            "description": "Optional (mode=owners). Maximum properties in the owner's portfolio.",
            "minimum": 0,
            "maximum": 100000
          },
          "avgSalePriceMin": {
            "title": "Minimum average sale price (USD)",
            "type": "integer",
            "description": "Optional (mode=owners).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "avgSalePriceMax": {
            "title": "Maximum average sale price (USD)",
            "type": "integer",
            "description": "Optional (mode=owners).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "lastTransactionFrom": {
            "title": "Last transaction from",
            "type": "string",
            "description": "Optional (mode=owners). Date in YYYY-MM-DD format.",
            "editor": "textfield"
          },
          "lastTransactionTo": {
            "title": "Last transaction to",
            "type": "string",
            "description": "Optional (mode=owners). Date in YYYY-MM-DD format.",
            "editor": "textfield"
          },
          "ownerSortBy": {
            "title": "Owner sort field",
            "type": "string",
            "description": "Optional (mode=owners).",
            "editor": "select",
            "enum": [
              "transactions",
              "avg_sale_price",
              "properties_owned",
              "last_transaction_date"
            ],
            "enumTitles": [
              "Transactions",
              "Average sale price",
              "Properties owned",
              "Last transaction date"
            ]
          },
          "leadTypes": {
            "title": "Lead types",
            "type": "array",
            "description": "Optional (mode=properties). Only properties carrying every selected flag are returned. Supported free flags: absentee_owner, adjustable_loan, assumable_loan, auction, bank_owned, cash_buyer, empty_nester, flipped_property, free_and_clear, high_equity, intrafamily_transfer, low_equity, mls_active, mls_failed, mls_pending, mls_sold, negative_equity, out_of_state_owner, preforeclosure, preprobate, private_lender, tired_landlord, vacant_home, vacant_lot, zombie_property. Paid-membership flags are ignored and named in the run status.",
            "editor": "stringList",
            "prefill": [],
            "sectionCaption": "Property filters"
          },
          "propertyTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Optional (mode=properties). Leave empty for every type.",
            "editor": "select",
            "prefill": [],
            "items": {
              "type": "string",
              "enum": [
                "single_family",
                "condo",
                "multi_family_2_to_4",
                "multi_family_5_plus",
                "mobile",
                "land",
                "commercial",
                "other"
              ],
              "enumTitles": [
                "Single-family home",
                "Condo or townhouse",
                "Multi-family (2-4 units)",
                "Multi-family (5+ units)",
                "Mobile or manufactured",
                "Land",
                "Commercial",
                "Other"
              ]
            },
            "uniqueItems": true,
            "default": []
          },
          "ownerKinds": {
            "title": "Owner kinds",
            "type": "array",
            "description": "Optional (mode=properties). Restrict to individual, company, or bank-owned properties.",
            "editor": "select",
            "prefill": [],
            "items": {
              "type": "string",
              "enum": [
                "individual",
                "company",
                "bank"
              ],
              "enumTitles": [
                "Individual",
                "Company / LLC",
                "Bank or trust"
              ]
            },
            "uniqueItems": true,
            "default": []
          },
          "bedsMin": {
            "title": "Minimum bedrooms",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "bedsMax": {
            "title": "Maximum bedrooms",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "bathsMin": {
            "title": "Minimum bathrooms",
            "type": "number",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "bathsMax": {
            "title": "Maximum bathrooms",
            "type": "number",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "storiesMin": {
            "title": "Minimum stories",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "storiesMax": {
            "title": "Maximum stories",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100
          },
          "sqftMin": {
            "title": "Minimum building area (sqft)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 10000000
          },
          "sqftMax": {
            "title": "Maximum building area (sqft)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 10000000
          },
          "lotSqftMin": {
            "title": "Minimum lot size (sqft)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000000
          },
          "lotSqftMax": {
            "title": "Maximum lot size (sqft)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000000
          },
          "yearBuiltMin": {
            "title": "Year built from",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 1800,
            "maximum": 2100
          },
          "yearBuiltMax": {
            "title": "Year built to",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 1800,
            "maximum": 2100
          },
          "unitsMin": {
            "title": "Minimum units",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 10000
          },
          "unitsMax": {
            "title": "Maximum units",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 10000
          },
          "valueMin": {
            "title": "Minimum estimated value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "valueMax": {
            "title": "Maximum estimated value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "equityMin": {
            "title": "Minimum estimated equity (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "equityMax": {
            "title": "Maximum estimated equity (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "equityPercentMin": {
            "title": "Minimum equity percent",
            "type": "integer",
            "description": "Optional (mode=properties). 0-100.",
            "minimum": 0,
            "maximum": 100
          },
          "equityPercentMax": {
            "title": "Maximum equity percent",
            "type": "integer",
            "description": "Optional (mode=properties). 0-100.",
            "minimum": 0,
            "maximum": 100
          },
          "ltvMin": {
            "title": "Minimum loan-to-value",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 200
          },
          "ltvMax": {
            "title": "Maximum loan-to-value",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 200
          },
          "lastSoldPriceMin": {
            "title": "Minimum last sale price (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "lastSoldPriceMax": {
            "title": "Maximum last sale price (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "lastSoldDateFrom": {
            "title": "Last sale date from",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "lastSoldDateTo": {
            "title": "Last sale date to",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "assessedValueMin": {
            "title": "Minimum assessed value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "assessedValueMax": {
            "title": "Maximum assessed value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "yearsOwnedMin": {
            "title": "Minimum years owned",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 200
          },
          "yearsOwnedMax": {
            "title": "Maximum years owned",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 200
          },
          "propertiesOwnedMin": {
            "title": "Minimum properties owned by owner",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000
          },
          "propertiesOwnedMax": {
            "title": "Maximum properties owned by owner",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000
          },
          "portfolioValueMin": {
            "title": "Minimum owner portfolio value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "portfolioValueMax": {
            "title": "Maximum owner portfolio value (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "taxDelinquentSince": {
            "title": "Tax delinquent since (year)",
            "type": "integer",
            "description": "Optional (mode=properties). Minimum tax-delinquent year.",
            "minimum": 1900,
            "maximum": 2100
          },
          "ownerOccupied": {
            "title": "Owner occupied",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Owner occupied",
              "Not owner occupied"
            ],
            "default": "any",
            "prefill": "any"
          },
          "outOfStateOwner": {
            "title": "Out-of-state owner",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Yes",
              "No"
            ],
            "default": "any",
            "prefill": "any"
          },
          "vacant": {
            "title": "Vacancy",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Vacant",
              "Occupied"
            ],
            "default": "any",
            "prefill": "any"
          },
          "pool": {
            "title": "Pool",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Has pool",
              "No pool"
            ],
            "default": "any",
            "prefill": "any"
          },
          "privateLender": {
            "title": "Private lender",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Yes",
              "No"
            ],
            "default": "any",
            "prefill": "any"
          },
          "cashBuyer": {
            "title": "Cash buyer",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Yes",
              "No"
            ],
            "default": "any",
            "prefill": "any"
          },
          "preforeclosure": {
            "title": "Pre-foreclosure",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "any",
              "true",
              "false"
            ],
            "enumTitles": [
              "Any",
              "Yes",
              "No"
            ],
            "default": "any",
            "prefill": "any"
          },
          "noticeType": {
            "title": "Foreclosure notice type",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "lis_pendens",
              "notice_of_default",
              "notice_of_trustee_sale",
              "notice_of_sale",
              "reo"
            ],
            "enumTitles": [
              "Lis pendens",
              "Notice of default",
              "Notice of trustee sale",
              "Notice of sale",
              "REO"
            ]
          },
          "noticeDateFrom": {
            "title": "Notice date from",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "noticeDateTo": {
            "title": "Notice date to",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "auctionDateFrom": {
            "title": "Auction date from",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "auctionDateTo": {
            "title": "Auction date to",
            "type": "string",
            "description": "Optional (mode=properties). YYYY-MM-DD.",
            "editor": "textfield"
          },
          "openingBidMin": {
            "title": "Minimum auction opening bid (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "openingBidMax": {
            "title": "Maximum auction opening bid (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "mlsStatus": {
            "title": "MLS listing status",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "active",
              "pending",
              "sold",
              "failed"
            ],
            "enumTitles": [
              "Active",
              "Pending",
              "Sold",
              "Failed"
            ]
          },
          "daysOnMarketMin": {
            "title": "Minimum days on market",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000
          },
          "daysOnMarketMax": {
            "title": "Maximum days on market",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 100000
          },
          "listPriceMin": {
            "title": "Minimum MLS list price (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "listPriceMax": {
            "title": "Maximum MLS list price (USD)",
            "type": "integer",
            "description": "Optional (mode=properties).",
            "minimum": 0,
            "maximum": 1000000000
          },
          "sortBy": {
            "title": "Property sort field",
            "type": "string",
            "description": "Optional (mode=properties).",
            "editor": "select",
            "enum": [
              "estimated_value",
              "estimated_equity",
              "equity_percent",
              "last_sold_price",
              "last_sold_date",
              "list_price",
              "list_price_per_sqft",
              "days_on_market",
              "living_area",
              "year_built"
            ],
            "enumTitles": [
              "Estimated value",
              "Estimated equity",
              "Equity percent",
              "Last sale price",
              "Last sale date",
              "MLS list price",
              "MLS list price per sqft",
              "Days on market",
              "Living area",
              "Year built"
            ]
          },
          "sortOrder": {
            "title": "Sort order",
            "type": "string",
            "description": "Used by sortBy and ownerSortBy.",
            "editor": "select",
            "enum": [
              "desc",
              "asc"
            ],
            "enumTitles": [
              "Descending",
              "Ascending"
            ],
            "default": "desc",
            "prefill": "desc"
          },
          "includeDetails": {
            "title": "Fetch full property details",
            "type": "boolean",
            "description": "Optional (mode=properties). Adds one detail request per property: parcel/APN, mortgages, transfer history, foreclosure, tax bill and photos. Slower and uses more requests; leave off for large lists.",
            "default": false,
            "prefill": false,
            "sectionCaption": "Output"
          },
          "includeProfile": {
            "title": "Fetch full owner profiles",
            "type": "boolean",
            "description": "Optional (mode=owners). Adds one profile request per owner: email, license, recent listings or cash-buyer portfolio.",
            "default": false,
            "prefill": false
          },
          "maxItems": {
            "title": "Maximum records",
            "type": "integer",
            "description": "Maximum records to push across all locations (default 50 when omitted). Propwire serves at most 10,000 rows per search.",
            "minimum": 1,
            "maximum": 10000,
            "prefill": 3
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Propwire Property & Owner Lead Finder Output",
        "description": "One dataset row per property lead or owner lead, with address, valuation, ownership, MLS, tax, foreclosure and portfolio fields.",
        "type": "object",
        "properties": {
          "leads": {
            "type": "string",
            "title": "Leads",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Propwire Property & Owner Lead Finder\n\nPropwire publishes US property records with owner names and mailing addresses, valuation and equity estimates, MLS history, tax assessments and dozens of motivated-seller flags. This actor turns that public index into structured property-lead and owner-lead datasets. It uses Propwire's public guest session: no account, no cookies, no API key, and no proxy setup.\n\n## Modes\n\n| Mode | What it does |\n|---|---|\n| **Find property leads** | Search by city, county or ZIP, by a saved `propwire.com/search?filters=...` URL, or by property IDs. Apply lead-type, property, equity, ownership, foreclosure and MLS filters; paginate up to 10,000 rows per search. |\n| **Get property details by ID or URL** | Fetch full records for property IDs or property links: parcel/APN, zoning, building details, mortgages, transfer history, foreclosure/auction, tax bill, MLS listing and photos. |\n| **Find owner leads** | Search Propwire's agent or cash-buyer directory by city, county or ZIP; filter by name, deal count, portfolio size, average sale price and last transaction date. |\n| **Get owner profile by ID or URL** | Fetch an agent or cash-buyer profile, including email, license, recent listings or a cash-buyer portfolio. |\n\nEvery dataset row has `recordType` (`property` or `owner`), `sourceUrl` and `scrapedAt`.\n\n## Property output\n\nEach property row carries the original Propwire field names in camelCase:\n\n- **Address & geography** — `address`, `city`, `state`, `zip`, `zip4`, `county`, `fips`, `latitude`, `longitude`, `addressLabel`.\n- **Building** — `propertyType`, `propertyTypeCode`, `bedrooms`, `bathrooms`, `livingAreaSf`, `buildingAreaSf`, `lotSizeSf`, `lotSizeAcres`, `yearBuilt`, `stories`, `units`, `construction`, `foundation`, `roofMaterial`, `pool`, `garageType`, `basementType`.\n- **Valuation & sale** — `estimatedValue`, `estimatedEquity`, `estimatedEquityPercentage`, `estimatedLtv`, `estimatedPricePerSf`, `lastSoldDate`, `lastSoldPrice`, `monthsOfOwnership`, `yearsOfOwnership`.\n- **Owner** — `ownerName`, `ownerNames`, `ownerMailingAddress`, `ownerMailingCity`, `ownerMailingState`, `ownerMailingZip`, `ownerOccupied`, `companyOwned`, `individualOwned`, `trustOwned`, `ownerPortfolioProperties`, `ownerPortfolioValue`, `ownerTypes`.\n- **MLS** — `mlsStatus`, `mlsListPrice`, `mlsListDate`, `mlsSoldPrice`, `mlsSoldDate`, `daysOnMarket`, `mlsListingUrl`, `mlsListingAgentName`, `mlsPhotos`.\n- **Tax & foreclosure** — `taxAssessedTotal`, `taxAssessedLand`, `taxAssessedImprovements`, `taxBilledAmount`, `taxDelinquentYear`, `foreclosureActive`, `foreclosureNoticeType`, `openingBid`, `auctionDate`, `auctionCityState`.\n- **Lead flags** — `leadTypes`, the active Propwire list flags for that property.\n- **Details mode** — `apn`, `legalDescription`, `subdivision`, `zoning`, `propertyUseDescription`, `mortgages`, `transferHistory`, `taxExemptions`, `photos`, and more.\n\nEmpty values are omitted rather than written as `null` or `\"\"`.\n\n## Owner output\n\nOwner profile rows carry `ownerId`, `ownerName`, `ownerProfileType` (`agent` or `cash_buyer`), `ownerCompany`, `ownerPhone`, `ownerEmail`, `ownerLicenseNumber`, `ownerLicenseState`, `ownerTransactionsCount`, `ownerAvgSalePrice`, `ownerPropertiesOwned`, `ownerLastTransactionDate`, `ownerCity`, `ownerCounty`, `ownerZip`, `ownerProfileUrl`, plus portfolio and listing blocks when **Fetch full owner profiles** is on.\n\n## Inputs\n\n| Input | Type | Default | Description |\n|---|---|---|---|\n| `mode` | select | `properties` | What to fetch. Property search is the default and cheapest mode. |\n| `locations` | string[] | – | US places to search (mode=properties, owners): 'Miami, FL', 'Miami-Dade County, FL', or a 5-digit ZIP. Add one entry per place. A bare state code is accepted but Propwire's search API is unreliable for state-wide queries; use a city, county or ZIP for stable results. St./Ft./Mt. abbreviations are expanded automatically. |\n| `searchUrls` | string[] | – | Optional (mode=properties). Paste one or more propwire.com/search?filters=... links copied from your browser; the actor replays the same area and filters. When present, these URLs take precedence over Locations and the filter fields below. Property URLs are also accepted as an ID shortcut. |\n| `propertyIds` | string[] | – | Property IDs (e.g. 88441) or propwire.com/realestate/... URLs (mode=properties, propertyDetails). Results are deduplicated. |\n| `ownerProfileIds` | string[] | – | 32-character agent / cash-buyer profile IDs, or propwire.com/agents/<id> and /cash-buyers/<id> URLs (mode=ownerDetails). |\n| `peopleType` | select | `cash_buyer` | Which owner directory to search (mode=owners). |\n| `ownerName` | string | – | Optional (mode=owners). Case-insensitive name fragment, e.g. 'Smith'. |\n| `transactionsMin` | integer | – | Optional (mode=owners). Minimum recorded transactions / deals. |\n| `transactionsMax` | integer | – | Optional (mode=owners). Maximum recorded transactions / deals. |\n| `ownerPropertiesMin` | integer | – | Optional (mode=owners). Minimum properties in the owner's portfolio. |\n| `ownerPropertiesMax` | integer | – | Optional (mode=owners). Maximum properties in the owner's portfolio. |\n| `avgSalePriceMin` | integer | – | Optional (mode=owners). |\n| `avgSalePriceMax` | integer | – | Optional (mode=owners). |\n| `lastTransactionFrom` | string | – | Optional (mode=owners). Date in YYYY-MM-DD format. |\n| `lastTransactionTo` | string | – | Optional (mode=owners). Date in YYYY-MM-DD format. |\n| `ownerSortBy` | select | – | Optional (mode=owners). |\n| `leadTypes` | string[] | – | Optional (mode=properties). Only properties carrying every selected flag are returned. Supported free flags: absentee_owner, adjustable_loan, assumable_loan, auction, bank_owned, cash_buyer, empty_nester, flipped_property, free_and_clear, high_equity, intrafamily_transfer, low_equity, mls_active, mls_failed, mls_pending, mls_sold, negative_equity, out_of_state_owner, preforeclosure, preprobate, private_lender, tired_landlord, vacant_home, vacant_lot, zombie_property. Paid-membership flags are ignored and named in the run status. |\n| `propertyTypes` | select | `[]` | Optional (mode=properties). Leave empty for every type. |\n| `ownerKinds` | select | `[]` | Optional (mode=properties). Restrict to individual, company, or bank-owned properties. |\n| `bedsMin` | integer | – | Optional (mode=properties). |\n| `bedsMax` | integer | – | Optional (mode=properties). |\n| `bathsMin` | integer | – | Optional (mode=properties). |\n| `bathsMax` | integer | – | Optional (mode=properties). |\n| `storiesMin` | integer | – | Optional (mode=properties). |\n| `storiesMax` | integer | – | Optional (mode=properties). |\n| `sqftMin` | integer | – | Optional (mode=properties). |\n| `sqftMax` | integer | – | Optional (mode=properties). |\n| `lotSqftMin` | integer | – | Optional (mode=properties). |\n| `lotSqftMax` | integer | – | Optional (mode=properties). |\n| `yearBuiltMin` | integer | – | Optional (mode=properties). |\n| `yearBuiltMax` | integer | – | Optional (mode=properties). |\n| `unitsMin` | integer | – | Optional (mode=properties). |\n| `unitsMax` | integer | – | Optional (mode=properties). |\n| `valueMin` | integer | – | Optional (mode=properties). |\n| `valueMax` | integer | – | Optional (mode=properties). |\n| `equityMin` | integer | – | Optional (mode=properties). |\n| `equityMax` | integer | – | Optional (mode=properties). |\n| `equityPercentMin` | integer | – | Optional (mode=properties). 0-100. |\n| `equityPercentMax` | integer | – | Optional (mode=properties). 0-100. |\n| `ltvMin` | integer | – | Optional (mode=properties). |\n| `ltvMax` | integer | – | Optional (mode=properties). |\n| `lastSoldPriceMin` | integer | – | Optional (mode=properties). |\n| `lastSoldPriceMax` | integer | – | Optional (mode=properties). |\n| `lastSoldDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `lastSoldDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `assessedValueMin` | integer | – | Optional (mode=properties). |\n| `assessedValueMax` | integer | – | Optional (mode=properties). |\n| `yearsOwnedMin` | integer | – | Optional (mode=properties). |\n| `yearsOwnedMax` | integer | – | Optional (mode=properties). |\n| `propertiesOwnedMin` | integer | – | Optional (mode=properties). |\n| `propertiesOwnedMax` | integer | – | Optional (mode=properties). |\n| `portfolioValueMin` | integer | – | Optional (mode=properties). |\n| `portfolioValueMax` | integer | – | Optional (mode=properties). |\n| `taxDelinquentSince` | integer | – | Optional (mode=properties). Minimum tax-delinquent year. |\n| `ownerOccupied` | select | `any` | Optional (mode=properties). |\n| `outOfStateOwner` | select | `any` | Optional (mode=properties). |\n| `vacant` | select | `any` | Optional (mode=properties). |\n| `pool` | select | `any` | Optional (mode=properties). |\n| `privateLender` | select | `any` | Optional (mode=properties). |\n| `cashBuyer` | select | `any` | Optional (mode=properties). |\n| `preforeclosure` | select | `any` | Optional (mode=properties). |\n| `noticeType` | select | – | Optional (mode=properties). |\n| `noticeDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `noticeDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `auctionDateFrom` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `auctionDateTo` | string | – | Optional (mode=properties). YYYY-MM-DD. |\n| `openingBidMin` | integer | – | Optional (mode=properties). |\n| `openingBidMax` | integer | – | Optional (mode=properties). |\n| `mlsStatus` | select | – | Optional (mode=properties). |\n| `daysOnMarketMin` | integer | – | Optional (mode=properties). |\n| `daysOnMarketMax` | integer | – | Optional (mode=properties). |\n| `listPriceMin` | integer | – | Optional (mode=properties). |\n| `listPriceMax` | integer | – | Optional (mode=properties). |\n| `sortBy` | select | – | Optional (mode=properties). |\n| `sortOrder` | select | `desc` | Used by sortBy and ownerSortBy. |\n| `includeDetails` | boolean | `false` | Optional (mode=properties). Adds one detail request per property: parcel/APN, mortgages, transfer history, foreclosure, tax bill and photos. Slower and uses more requests; leave off for large lists. |\n| `includeProfile` | boolean | `false` | Optional (mode=owners). Adds one profile request per owner: email, license, recent listings or cash-buyer portfolio. |\n| `maxItems` | integer | – (50 when omitted) | Maximum records to push across all locations. Propwire serves at most 10,000 rows per search. |\n\nProperty filters: `leadTypes`, `propertyTypes`, `ownerKinds`, bed/bath/story/square-foot/lot/year/unit ranges, value/equity/equity-percent/LTV ranges, last-sale and assessed-value ranges, owner-occupied / out-of-state / vacant / pool / private-lender / cash-buyer / pre-foreclosure flags, owner portfolio and years-owned ranges, tax-delinquent year, foreclosure notice type and date range, auction date range and opening bid, MLS status, days on market, MLS list price, `sortBy` and `sortOrder`.\n\nOwner filters: `ownerName`, transaction range, portfolio-size range, average-sale-price range, last-transaction date range and `ownerSortBy`.\n\n## Examples\n\nHigh-equity absentee owners in Miami:\n\n```json\n{\n  \"mode\": \"properties\",\n  \"locations\": [\"Miami, FL\"],\n  \"leadTypes\": [\"high_equity\", \"absentee_owner\"],\n  \"maxItems\": 100\n}\n```\n\nFull records for two properties:\n\n```json\n{\n  \"mode\": \"propertyDetails\",\n  \"propertyIds\": [\"88441\", \"https://propwire.com/realestate/840-Tennessee-Ave-Fort-Lauderdale-FL/88441/property-details\"],\n  \"maxItems\": 2\n}\n```\n\nCash buyers with 5+ properties in Austin:\n\n```json\n{\n  \"mode\": \"owners\",\n  \"peopleType\": \"cash_buyer\",\n  \"locations\": [\"Austin, TX\"],\n  \"ownerPropertiesMin\": 5,\n  \"includeProfile\": true,\n  \"maxItems\": 25\n}\n```\n\nReplay a search you built on the site:\n\n```json\n{\n  \"mode\": \"properties\",\n  \"searchUrls\": [\"https://propwire.com/search?filters=%7B%22locations%22%3A%5B%7B%22city%22%3A%22Austin%22%2C%22state%22%3A%22TX%22%7D%5D%2C%22lead_type%22%3A%5B%22high_equity%22%5D%7D\"],\n  \"maxItems\": 200\n}\n```\n\n## Pagination and limits\n\n- Property searches page in blocks of 100 rows. The actor stops at your `maxItems`, at the search's reported total, or at Propwire's 10,000-row ceiling, whichever comes first.\n- Owner searches use Propwire's own people-count endpoint and paginate the same way.\n- Duplicate property IDs and owner IDs are removed across pages and locations.\n- State-only searches (`\"FL\"`) are accepted, but Propwire's search API does not reliably apply a state filter. Use a city, county or ZIP for predictable results.\n- Lead types that Propwire reserves for paid memberships (for example `divorce`, `bankruptcy`, `code_violation`) are not available to a guest session. The actor ignores them and says so in the run status.\n- `includeDetails` and `includeProfile` add one request per row; keep those runs small.\n\n## Reliability\n\nRequests are cookieless: the actor opens Propwire's public homepage, uses the guest token it issues, and keeps the resulting session cookies in memory. When an exit is challenged, it rotates the browser fingerprint, proxy session and token, then retries. No cookies, logins, API keys or proxy configuration are required from you; the actor selects its own proxy. It never writes invented rows: if Propwire is unreachable after retries, the run fails with a clear status message instead of returning sentinel records.\n\n## Limitations\n\n- Propwire's guest search does not expose paid lead types, owner phone numbers or skip-trace contact data.\n- Cash-buyer contact fields depend on Propwire's profile access level; some profiles return portfolio data without contact details.\n- State-only property searches are unreliable at the API level, as noted above.\n- Propwire serves at most 10,000 rows per search. Split broad markets by city, county or ZIP to collect more.\n- The actor reads Propwire's public index; it does not log in or bypass paywalls.\n\n## FAQ\n\n**Do I need a Propwire account or cookies?** No. The actor uses Propwire's public guest session.\n\n**Do I need a proxy?** No. The actor picks its own proxy automatically.\n\n**Can I search several places at once?** Yes — add multiple entries to `locations`, mix cities, counties and ZIPs, or paste several saved search URLs.\n\n**Can I get phone numbers or emails?** Agent profiles expose the public phone and email Propwire publishes. Cash-buyer contact data is limited by Propwire's profile access level; use `includeProfile` and check `ownerEmail` / `ownerPhone`.\n\n**Why are some fields missing on a row?** Propwire does not report that value for that property or person. The actor omits empty fields instead of writing `null`.\n\n**Is this affiliated with Propwire?** No. This is an independent tool that reads Propwire's publicly available property and owner search. You are responsible for complying with Propwire's terms and applicable law.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Propwire Property & Owner Leads",
          "fields": {
            "type": "object",
            "properties": {
              "recordType": {
                "type": "string",
                "description": "property or owner"
              },
              "sourceUrl": {
                "type": "string",
                "description": "Canonical Propwire page for the record"
              },
              "scrapedAt": {
                "type": "string",
                "description": "ISO 8601 scrape timestamp"
              },
              "id": {
                "type": "integer",
                "description": "Propwire property ID"
              },
              "url": {
                "type": "string",
                "description": "Propwire property page URL"
              },
              "address": {
                "type": "string",
                "description": "Street address"
              },
              "city": {
                "type": "string",
                "description": "City"
              },
              "state": {
                "type": "string",
                "description": "State code"
              },
              "zip": {
                "type": "string",
                "description": "ZIP code"
              },
              "latitude": {
                "type": "number",
                "description": "Latitude"
              },
              "longitude": {
                "type": "number",
                "description": "Longitude"
              },
              "propertyType": {
                "type": "string",
                "description": "Propwire's raw property type, e.g. SFR"
              },
              "propertyTypeCode": {
                "type": "string",
                "description": "Normalized type: single_family, condo, land, etc."
              },
              "bedrooms": {
                "type": "number",
                "description": "Bedroom count"
              },
              "bathrooms": {
                "type": "number",
                "description": "Bathroom count"
              },
              "livingAreaSf": {
                "type": "number",
                "description": "Living area in square feet"
              },
              "buildingAreaSf": {
                "type": "number",
                "description": "Total building area in square feet"
              },
              "lotSizeSf": {
                "type": "number",
                "description": "Lot size in square feet"
              },
              "lotSizeAcres": {
                "type": "number",
                "description": "Lot size in acres"
              },
              "yearBuilt": {
                "type": "integer",
                "description": "Year built"
              },
              "units": {
                "type": "number",
                "description": "Number of units"
              },
              "stories": {
                "type": "number",
                "description": "Number of stories"
              },
              "estimatedValue": {
                "type": "number",
                "description": "Estimated market value (USD)"
              },
              "estimatedEquity": {
                "type": "number",
                "description": "Estimated equity (USD)"
              },
              "estimatedEquityPercentage": {
                "type": "number",
                "description": "Estimated equity as a percent of value"
              },
              "estimatedLtv": {
                "type": "number",
                "description": "Estimated loan-to-value"
              },
              "estimatedPricePerSf": {
                "type": "number",
                "description": "Estimated price per square foot"
              },
              "estimatedZipPricePerSf": {
                "type": "number",
                "description": "ZIP-level estimated price per square foot"
              },
              "lastSoldDate": {
                "type": "string",
                "description": "Last sale date"
              },
              "lastSoldPrice": {
                "type": "number",
                "description": "Last sale price (USD)"
              },
              "monthsOfOwnership": {
                "type": "integer",
                "description": "Months the current owner has held the property"
              },
              "yearsOfOwnership": {
                "type": "integer",
                "description": "Years the current owner has held the property"
              },
              "ownerNames": {
                "type": "array",
                "description": "Owner names as recorded"
              },
              "ownerName": {
                "type": "string",
                "description": "Owner names, comma-joined"
              },
              "ownerOccupied": {
                "type": "boolean",
                "description": "Owner-occupied flag"
              },
              "companyOwned": {
                "type": "boolean",
                "description": "Company / LLC owned"
              },
              "individualOwned": {
                "type": "boolean",
                "description": "Individual owned"
              },
              "trustOwned": {
                "type": "boolean",
                "description": "Trust owned"
              },
              "investorOwned": {
                "type": "boolean",
                "description": "Investor owned"
              },
              "governmentOwned": {
                "type": "boolean",
                "description": "Government owned"
              },
              "ownerMailingAddress": {
                "type": "string",
                "description": "Owner mailing street address"
              },
              "ownerMailingCity": {
                "type": "string",
                "description": "Owner mailing city"
              },
              "ownerMailingState": {
                "type": "string",
                "description": "Owner mailing state"
              },
              "ownerMailingZip": {
                "type": "string",
                "description": "Owner mailing ZIP"
              },
              "ownerMailingZip4": {
                "type": "string",
                "description": "Owner mailing ZIP+4"
              },
              "ownerMailingCounty": {
                "type": "string",
                "description": "Owner mailing county"
              },
              "ownerMailingLabel": {
                "type": "string",
                "description": "Owner mailing address label"
              },
              "ownerMailingPrivate": {
                "type": "boolean",
                "description": "Owner mailing address privacy flag"
              },
              "ownerTypes": {
                "type": "array",
                "description": "Owner types, e.g. individual, company"
              },
              "ownerRelationshipType": {
                "type": "string",
                "description": "Owner relationship type"
              },
              "ownerHidden": {
                "type": "boolean",
                "description": "Owner hidden on the source"
              },
              "ownerPortfolioProperties": {
                "type": "integer",
                "description": "Properties owned by this owner"
              },
              "ownerPortfolioValue": {
                "type": "number",
                "description": "Owner portfolio value (USD)"
              },
              "ownerPortfolioEquity": {
                "type": "number",
                "description": "Owner portfolio estimated equity"
              },
              "ownerPortfolioMortgageBalance": {
                "type": "number",
                "description": "Owner portfolio estimated mortgage balance"
              },
              "ownerPurchasedLast6Months": {
                "type": "integer",
                "description": "Properties bought in the last 6 months"
              },
              "ownerPurchasedLast12Months": {
                "type": "integer",
                "description": "Properties bought in the last 12 months"
              },
              "ownerLinkedPropertyIds": {
                "type": "array",
                "description": "Other Propwire property IDs linked to the owner"
              },
              "mlsStatus": {
                "type": "string",
                "description": "MLS status"
              },
              "mlsStatusDate": {
                "type": "string",
                "description": "MLS status date"
              },
              "mlsListPrice": {
                "type": "number",
                "description": "MLS list price"
              },
              "mlsListDate": {
                "type": "string",
                "description": "MLS list date"
              },
              "mlsListPricePerSf": {
                "type": "number",
                "description": "MLS list price per square foot"
              },
              "mlsSoldPrice": {
                "type": "number",
                "description": "MLS sold price"
              },
              "mlsSoldDate": {
                "type": "string",
                "description": "MLS sold date"
              },
              "mlsSoldPricePerSf": {
                "type": "number",
                "description": "MLS sold price per square foot"
              },
              "mlsLastPrice": {
                "type": "number",
                "description": "Last MLS price"
              },
              "mlsLastPricePerSf": {
                "type": "number",
                "description": "Last MLS price per square foot"
              },
              "mlsPhotoUrl": {
                "type": "string",
                "description": "First MLS photo URL"
              },
              "mlsListingKey": {
                "type": "string",
                "description": "MLS listing key"
              },
              "mlsListingStatus": {
                "type": "string",
                "description": "MLS listing status from the listing detail"
              },
              "mlsListingPrice": {
                "type": "number",
                "description": "MLS listing price"
              },
              "mlsListingUrl": {
                "type": "string",
                "description": "Listing URL from the MLS feed"
              },
              "mlsListingAgentName": {
                "type": "string",
                "description": "Listing agent name"
              },
              "mlsListingOfficeName": {
                "type": "string",
                "description": "Listing office name"
              },
              "mlsListingRemarks": {
                "type": "string",
                "description": "Public listing remarks"
              },
              "mlsPhotos": {
                "type": "array",
                "description": "Listing photo URLs"
              },
              "mlsListing": {
                "type": "object",
                "description": "Full MLS listing block when present"
              },
              "daysOnMarket": {
                "type": "integer",
                "description": "Days on market"
              },
              "taxAssessedYear": {
                "type": "integer",
                "description": "Tax assessment year"
              },
              "taxAssessedTotal": {
                "type": "number",
                "description": "Total assessed value"
              },
              "taxAssessedLand": {
                "type": "number",
                "description": "Assessed land value"
              },
              "taxAssessedImprovements": {
                "type": "number",
                "description": "Assessed improvement value"
              },
              "taxAssessedImprovementsPercentage": {
                "type": "number",
                "description": "Improvements as percent of assessed value"
              },
              "taxAssessedPreviousTotal": {
                "type": "number",
                "description": "Previous total assessed value"
              },
              "taxMarketTotal": {
                "type": "number",
                "description": "Market total value"
              },
              "taxMarketLand": {
                "type": "number",
                "description": "Market land value"
              },
              "taxMarketImprovements": {
                "type": "number",
                "description": "Market improvement value"
              },
              "taxBilledAmount": {
                "type": "number",
                "description": "Tax bill amount"
              },
              "taxYear": {
                "type": "integer",
                "description": "Tax bill year"
              },
              "taxDelinquentYear": {
                "type": "integer",
                "description": "First delinquent tax year"
              },
              "taxExemptions": {
                "type": "array",
                "description": "Active tax exemption flags"
              },
              "leadTypes": {
                "type": "array",
                "description": "Active Propwire lead-type flags"
              },
              "auctionDate": {
                "type": "string",
                "description": "Foreclosure auction date"
              },
              "auctionTime": {
                "type": "string",
                "description": "Foreclosure auction time"
              },
              "auctionCityState": {
                "type": "string",
                "description": "Auction city and state"
              },
              "auctionCourthouse": {
                "type": "string",
                "description": "Auction courthouse"
              },
              "auctionLocation": {
                "type": "string",
                "description": "Auction location"
              },
              "openingBid": {
                "type": "number",
                "description": "Auction opening bid"
              },
              "foreclosureActive": {
                "type": "boolean",
                "description": "Active foreclosure flag"
              },
              "foreclosureId": {
                "type": "string",
                "description": "Foreclosure record ID"
              },
              "foreclosureType": {
                "type": "string",
                "description": "Foreclosure type"
              },
              "foreclosureNoticeType": {
                "type": "string",
                "description": "Foreclosure notice type"
              },
              "foreclosureNoticeTypeCode": {
                "type": "string",
                "description": "Foreclosure notice code"
              },
              "foreclosureRecordingDate": {
                "type": "string",
                "description": "Foreclosure recording date"
              },
              "foreclosureBorrowerName": {
                "type": "string",
                "description": "Foreclosure borrower name"
              },
              "foreclosureCaseNumber": {
                "type": "string",
                "description": "Foreclosure case number"
              },
              "foreclosureDefaultAmount": {
                "type": "number",
                "description": "Default amount"
              },
              "foreclosureOriginalLoanAmount": {
                "type": "number",
                "description": "Original loan amount"
              },
              "foreclosureJudgmentAmount": {
                "type": "number",
                "description": "Judgment amount"
              },
              "foreclosureJudgmentDate": {
                "type": "string",
                "description": "Judgment date"
              },
              "foreclosureLenderName": {
                "type": "string",
                "description": "Foreclosure lender name"
              },
              "foreclosureServicerName": {
                "type": "string",
                "description": "Foreclosure servicer name"
              },
              "foreclosureTrusteeName": {
                "type": "string",
                "description": "Foreclosure trustee name"
              },
              "foreclosureTrusteePhone": {
                "type": "string",
                "description": "Foreclosure trustee phone"
              },
              "foreclosureTrusteeReference": {
                "type": "string",
                "description": "Foreclosure trustee reference"
              },
              "coolingType": {
                "type": "string",
                "description": "Cooling type"
              },
              "heatingType": {
                "type": "string",
                "description": "Heating type"
              },
              "heatingFuel": {
                "type": "string",
                "description": "Heating fuel"
              },
              "fireplace": {
                "type": "boolean",
                "description": "Has fireplace"
              },
              "fireplaceType": {
                "type": "string",
                "description": "Fireplace type"
              },
              "fireplaceCount": {
                "type": "integer",
                "description": "Fireplace count"
              },
              "pool": {
                "type": "boolean",
                "description": "Has pool"
              },
              "poolType": {
                "type": "string",
                "description": "Pool type"
              },
              "poolAreaSf": {
                "type": "number",
                "description": "Pool area in square feet"
              },
              "garageType": {
                "type": "string",
                "description": "Garage type"
              },
              "garageAreaSf": {
                "type": "number",
                "description": "Garage area in square feet"
              },
              "garageFinishedAreaSf": {
                "type": "number",
                "description": "Finished garage area"
              },
              "garageUnfinishedAreaSf": {
                "type": "number",
                "description": "Unfinished garage area"
              },
              "basementType": {
                "type": "string",
                "description": "Basement type"
              },
              "basementAreaSf": {
                "type": "number",
                "description": "Basement area"
              },
              "basementFinishedAreaSf": {
                "type": "number",
                "description": "Finished basement area"
              },
              "basementUnfinishedAreaSf": {
                "type": "number",
                "description": "Unfinished basement area"
              },
              "basementFinishedPercentage": {
                "type": "number",
                "description": "Finished basement percent"
              },
              "streetName": {
                "type": "string",
                "description": "Street name"
              },
              "streetType": {
                "type": "string",
                "description": "Street suffix"
              },
              "houseNumber": {
                "type": "string",
                "description": "House number"
              },
              "county": {
                "type": "string",
                "description": "County"
              },
              "zip4": {
                "type": "string",
                "description": "ZIP+4"
              },
              "fips": {
                "type": "string",
                "description": "County FIPS code"
              },
              "jurisdiction": {
                "type": "string",
                "description": "Tax jurisdiction"
              },
              "congressionalDistrict": {
                "type": "string",
                "description": "Congressional district"
              },
              "addressLabel": {
                "type": "string",
                "description": "Full formatted address"
              },
              "propertyUseCode": {
                "type": "string",
                "description": "Property use code"
              },
              "propertyUseDescription": {
                "type": "string",
                "description": "Property use description"
              },
              "propertyClass": {
                "type": "string",
                "description": "Property class"
              },
              "landUse": {
                "type": "string",
                "description": "Land use"
              },
              "zoning": {
                "type": "string",
                "description": "Zoning"
              },
              "apn": {
                "type": "string",
                "description": "Assessor parcel number"
              },
              "apnUnformatted": {
                "type": "string",
                "description": "Unformatted APN"
              },
              "legalDescription": {
                "type": "string",
                "description": "Legal description"
              },
              "subdivision": {
                "type": "string",
                "description": "Subdivision"
              },
              "lotNumber": {
                "type": "string",
                "description": "Lot number"
              },
              "censusTract": {
                "type": "string",
                "description": "Census tract"
              },
              "censusBlock": {
                "type": "string",
                "description": "Census block"
              },
              "censusBlockGroup": {
                "type": "string",
                "description": "Census block group"
              },
              "lotWidth": {
                "type": "number",
                "description": "Lot width"
              },
              "lotDepth": {
                "type": "number",
                "description": "Lot depth"
              },
              "topography": {
                "type": "string",
                "description": "Topography"
              },
              "view": {
                "type": "string",
                "description": "View description"
              },
              "buildingStyle": {
                "type": "string",
                "description": "Building style"
              },
              "construction": {
                "type": "string",
                "description": "Construction type"
              },
              "exteriorType": {
                "type": "string",
                "description": "Exterior type"
              },
              "foundation": {
                "type": "string",
                "description": "Foundation"
              },
              "roofConstruction": {
                "type": "string",
                "description": "Roof construction"
              },
              "roofMaterial": {
                "type": "string",
                "description": "Roof material"
              },
              "interiorStyle": {
                "type": "string",
                "description": "Interior style"
              },
              "partialBathrooms": {
                "type": "number",
                "description": "Partial bathrooms"
              },
              "attic": {
                "type": "string",
                "description": "Attic type"
              },
              "atticAreaSf": {
                "type": "number",
                "description": "Attic area"
              },
              "parkingSpaces": {
                "type": "number",
                "description": "Parking spaces"
              },
              "carport": {
                "type": "string",
                "description": "Carport"
              },
              "rvParking": {
                "type": "string",
                "description": "RV parking"
              },
              "mortgages": {
                "type": "array",
                "description": "Current mortgage records"
              },
              "mortgageHistoryCount": {
                "type": "integer",
                "description": "Recorded mortgage history rows"
              },
              "transferHistory": {
                "type": "array",
                "description": "Recorded transfers"
              },
              "transferCount": {
                "type": "integer",
                "description": "Number of recorded transfers"
              },
              "photos": {
                "type": "array",
                "description": "Property photo URLs"
              },
              "detailsFetched": {
                "type": "boolean",
                "description": "Full detail record was merged"
              },
              "ownerId": {
                "type": "string",
                "description": "Propwire owner profile ID"
              },
              "ownerProfileType": {
                "type": "string",
                "description": "agent or cash_buyer"
              },
              "ownerCompany": {
                "type": "string",
                "description": "Owner company / brokerage"
              },
              "ownerStatus": {
                "type": "string",
                "description": "Owner verification status"
              },
              "ownerPhone": {
                "type": "string",
                "description": "Owner phone"
              },
              "ownerEmail": {
                "type": "string",
                "description": "Owner email"
              },
              "ownerLicenseNumber": {
                "type": "string",
                "description": "Agent license number"
              },
              "ownerLicenseState": {
                "type": "string",
                "description": "Agent license state"
              },
              "ownerMlsId": {
                "type": "string",
                "description": "Agent MLS ID"
              },
              "ownerTransactionsCount": {
                "type": "integer",
                "description": "Recorded transactions"
              },
              "ownerAvgSalePrice": {
                "type": "number",
                "description": "Average sale price"
              },
              "ownerPropertiesOwned": {
                "type": "integer",
                "description": "Properties owned"
              },
              "ownerLastTransactionDate": {
                "type": "string",
                "description": "Last transaction date"
              },
              "ownerLeadTypes": {
                "type": "array",
                "description": "Owner lead flags"
              },
              "ownerCity": {
                "type": "string",
                "description": "Owner city"
              },
              "ownerCounty": {
                "type": "string",
                "description": "Owner county"
              },
              "ownerState": {
                "type": "string",
                "description": "Owner state"
              },
              "ownerZip": {
                "type": "string",
                "description": "Owner ZIP"
              },
              "ownerLatitude": {
                "type": "number",
                "description": "Owner latitude"
              },
              "ownerLongitude": {
                "type": "number",
                "description": "Owner longitude"
              },
              "ownerProfileUrl": {
                "type": "string",
                "description": "Propwire owner profile URL"
              },
              "ownerDescription": {
                "type": "string",
                "description": "Owner profile description"
              },
              "ownerPhotoUrl": {
                "type": "string",
                "description": "Owner photo URL"
              },
              "ownerProfileAccess": {
                "type": "string",
                "description": "Profile access level"
              },
              "ownerSkipTraceStatus": {
                "type": "string",
                "description": "Skip-trace availability"
              },
              "ownerSoldLast12Months": {
                "type": "integer",
                "description": "Agent sales in the last 12 months"
              },
              "ownerSoldTotal": {
                "type": "integer",
                "description": "Agent lifetime sales"
              },
              "ownerAvgSoldPrice": {
                "type": "number",
                "description": "Agent average sold price"
              },
              "ownerMaxSoldPrice": {
                "type": "number",
                "description": "Agent maximum sold price"
              },
              "ownerMinSoldPrice": {
                "type": "number",
                "description": "Agent minimum sold price"
              },
              "ownerAvgDaysOnMarket": {
                "type": "number",
                "description": "Agent average days on market"
              },
              "ownerPastTransactions": {
                "type": "integer",
                "description": "Cash buyer past transactions"
              },
              "ownerBuyBox": {
                "type": "object",
                "description": "Cash buyer buy-box flags"
              },
              "ownerListings": {
                "type": "array",
                "description": "Agent recent listings"
              },
              "ownerPortfolio": {
                "type": "array",
                "description": "Cash buyer portfolio properties"
              }
            }
          },
          "views": {
            "propertyOverview": {
              "title": "Property leads",
              "transformation": {
                "fields": [
                  "address",
                  "city",
                  "state",
                  "zip",
                  "propertyType",
                  "bedrooms",
                  "bathrooms",
                  "estimatedValue",
                  "estimatedEquity",
                  "estimatedEquityPercentage",
                  "ownerName",
                  "ownerMailingAddress",
                  "leadTypes",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "address": {
                    "label": "Address",
                    "format": "text"
                  },
                  "city": {
                    "label": "City",
                    "format": "text"
                  },
                  "state": {
                    "label": "State",
                    "format": "text"
                  },
                  "zip": {
                    "label": "ZIP",
                    "format": "text"
                  },
                  "propertyType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "bedrooms": {
                    "label": "Beds",
                    "format": "number"
                  },
                  "bathrooms": {
                    "label": "Baths",
                    "format": "number"
                  },
                  "estimatedValue": {
                    "label": "Est Value",
                    "format": "number"
                  },
                  "estimatedEquity": {
                    "label": "Est Equity",
                    "format": "number"
                  },
                  "estimatedEquityPercentage": {
                    "label": "Equity %",
                    "format": "number"
                  },
                  "ownerName": {
                    "label": "Owner",
                    "format": "text"
                  },
                  "ownerMailingAddress": {
                    "label": "Mailing",
                    "format": "text"
                  },
                  "leadTypes": {
                    "label": "Lead Types",
                    "format": "array"
                  },
                  "url": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            },
            "ownerOverview": {
              "title": "Owner leads",
              "transformation": {
                "fields": [
                  "ownerName",
                  "ownerProfileType",
                  "ownerCompany",
                  "ownerPhone",
                  "ownerEmail",
                  "ownerCity",
                  "ownerState",
                  "ownerZip",
                  "ownerTransactionsCount",
                  "ownerPropertiesOwned",
                  "ownerAvgSalePrice",
                  "ownerLastTransactionDate",
                  "ownerProfileUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "ownerName": {
                    "label": "Owner",
                    "format": "text"
                  },
                  "ownerProfileType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "ownerCompany": {
                    "label": "Company",
                    "format": "text"
                  },
                  "ownerPhone": {
                    "label": "Phone",
                    "format": "text"
                  },
                  "ownerEmail": {
                    "label": "Email",
                    "format": "text"
                  },
                  "ownerCity": {
                    "label": "City",
                    "format": "text"
                  },
                  "ownerState": {
                    "label": "State",
                    "format": "text"
                  },
                  "ownerZip": {
                    "label": "ZIP",
                    "format": "text"
                  },
                  "ownerTransactionsCount": {
                    "label": "Deals",
                    "format": "number"
                  },
                  "ownerPropertiesOwned": {
                    "label": "Owned",
                    "format": "number"
                  },
                  "ownerAvgSalePrice": {
                    "label": "Avg Price",
                    "format": "number"
                  },
                  "ownerLastTransactionDate": {
                    "label": "Last Deal",
                    "format": "text"
                  },
                  "ownerProfileUrl": {
                    "label": "Profile",
                    "format": "link"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.0.2",
    "imageDigest": "588c718311507a7c8569decf93eaa1c630f8df6abff42fe3e3cd7d5eb1eb19a6",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.005095555555555555
    }
  }
}