{
  "data": {
    "id": "v5Agvw4nDcoJLthFF",
    "actId": "BW8wUYVb2qQuoswGw",
    "userId": "IYgBDiXtHOijAaUel",
    "startedAt": "2026-11-01T13:30:17.287Z",
    "finishedAt": "2026-11-01T13:30:28.049Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 10634,
      "runTimeSecs": 10.634,
      "computeUnits": 0.011815555555555555,
      "imageSizeBytes": 378162176
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "QYo53EZkJk0prePWY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Zillow For-Sale, Rent & Sold Listing Extractor\",\n  \"description\": \"Search Zillow by city, ZIP, property URL, ZPID or address; filter buy, rent and sold listings; enrich each record with property or rental-building detail.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"search\": {\n      \"title\": \"Search Location\",\n      \"type\": \"string\",\n      \"description\": \"City, ZIP, neighborhood, county or state to search (for example 'Houston, TX' or '77002').\",\n      \"prefill\": \"Houston, TX\",\n      \"editor\": \"textfield\",\n      \"sectionCaption\": \"Search Settings\",\n      \"sectionDescription\": \"Enter a location and choose a search mode. You can also use the lookup lists below or paste URLs.\"\n    },\n    \"mode\": {\n      \"title\": \"Search Mode\",\n      \"type\": \"string\",\n      \"description\": \"Search active for-sale listings, rentals, or recently sold listings.\",\n      \"editor\": \"select\",\n      \"default\": \"BUY\",\n      \"prefill\": \"BUY\",\n      \"enum\": [\n        \"BUY\",\n        \"RENT\",\n        \"SOLD\"\n      ],\n      \"enumTitles\": [\n        \"For Sale (Buy)\",\n        \"For Rent\",\n        \"Recently Sold\"\n      ]\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum Properties\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum number of records for the whole run across all sources (1-5000).\",\n      \"minimum\": 1,\n      \"maximum\": 5000,\n      \"default\": 50,\n      \"prefill\": 3\n    },\n    \"endPage\": {\n      \"title\": \"Maximum Pages\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum search result pages per search task (1-24). Zillow returns up to 41 listings per page.\",\n      \"minimum\": 1,\n      \"maximum\": 24,\n      \"default\": 5,\n      \"prefill\": 1\n    },\n    \"startUrls\": {\n      \"title\": \"Start URLs\",\n      \"type\": \"array\",\n      \"description\": \"Property detail URLs, /apartments/ building URLs, or Zillow search page URLs. Search URLs keep their own filters and mode.\",\n      \"editor\": \"requestListSources\",\n      \"default\": [],\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"url\": {\n            \"title\": \"URL\",\n            \"type\": \"string\",\n            \"description\": \"Page URL to scrape.\"\n          }\n        }\n      },\n      \"sectionCaption\": \"Lookup Lists\",\n      \"sectionDescription\": \"Use any combination of URLs, ZPIDs and street addresses. Explicit detail sources are always enriched.\"\n    },\n    \"zpids\": {\n      \"title\": \"ZPIDs\",\n      \"type\": \"array\",\n      \"description\": \"Zillow property IDs or URLs containing _zpid. Each ZPID is resolved to its canonical detail page.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"addresses\": {\n      \"title\": \"Street Addresses\",\n      \"type\": \"array\",\n      \"description\": \"Full street addresses to resolve to Zillow property pages, for example '1306 Castle Ct, Houston, TX 77006'.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"priceMin\": {\n      \"title\": \"Minimum Price\",\n      \"type\": \"integer\",\n      \"description\": \"Minimum listing price in US dollars.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000,\n      \"sectionCaption\": \"Filters\",\n      \"sectionDescription\": \"Filters are applied to location searches and search URLs through Zillow's searchQueryState.\"\n    },\n    \"priceMax\": {\n      \"title\": \"Maximum Price\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum listing price in US dollars.\",\n      \"minimum\": 0,\n      \"maximum\": 100000000\n    },\n    \"bedsMin\": {\n      \"title\": \"Minimum Bedrooms\",\n      \"type\": \"string\",\n      \"description\": \"Minimum number of bedrooms.\",\n      \"editor\": \"select\",\n      \"default\": \"any\",\n      \"enum\": [\n        \"any\",\n        \"1\",\n        \"2\",\n        \"3\",\n        \"4\",\n        \"5\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"1+\",\n        \"2+\",\n        \"3+\",\n        \"4+\",\n        \"5+\"\n      ]\n    },\n    \"bathsMin\": {\n      \"title\": \"Minimum Bathrooms\",\n      \"type\": \"string\",\n      \"description\": \"Minimum number of bathrooms.\",\n      \"editor\": \"select\",\n      \"default\": \"any\",\n      \"enum\": [\n        \"any\",\n        \"1\",\n        \"1.5\",\n        \"2\",\n        \"2.5\",\n        \"3\",\n        \"4\",\n        \"5\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"1+\",\n        \"1.5+\",\n        \"2+\",\n        \"2.5+\",\n        \"3+\",\n        \"4+\",\n        \"5+\"\n      ]\n    },\n    \"sqftMin\": {\n      \"title\": \"Minimum Square Feet\",\n      \"type\": \"integer\",\n      \"description\": \"Minimum living area in square feet.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"sqftMax\": {\n      \"title\": \"Maximum Square Feet\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum living area in square feet.\",\n      \"minimum\": 0,\n      \"maximum\": 100000\n    },\n    \"lotSizeMin\": {\n      \"title\": \"Minimum Lot Size\",\n      \"type\": \"string\",\n      \"description\": \"Minimum lot size in square feet.\",\n      \"editor\": \"select\",\n      \"default\": \"any\",\n      \"enum\": [\n        \"any\",\n        \"2000\",\n        \"5000\",\n        \"10890\",\n        \"21780\",\n        \"43560\",\n        \"87120\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"2,000 sqft\",\n        \"5,000 sqft\",\n        \"0.25 acre\",\n        \"0.5 acre\",\n        \"1 acre\",\n        \"2 acres\"\n      ]\n    },\n    \"lotSizeMax\": {\n      \"title\": \"Maximum Lot Size\",\n      \"type\": \"string\",\n      \"description\": \"Maximum lot size in square feet.\",\n      \"editor\": \"select\",\n      \"default\": \"any\",\n      \"enum\": [\n        \"any\",\n        \"2000\",\n        \"5000\",\n        \"10890\",\n        \"21780\",\n        \"43560\",\n        \"87120\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"2,000 sqft\",\n        \"5,000 sqft\",\n        \"0.25 acre\",\n        \"0.5 acre\",\n        \"1 acre\",\n        \"2 acres\"\n      ]\n    },\n    \"yearBuiltMin\": {\n      \"title\": \"Built After\",\n      \"type\": \"integer\",\n      \"description\": \"Earliest construction year.\",\n      \"minimum\": 1800,\n      \"maximum\": 2026\n    },\n    \"yearBuiltMax\": {\n      \"title\": \"Built Before\",\n      \"type\": \"integer\",\n      \"description\": \"Latest construction year.\",\n      \"minimum\": 1800,\n      \"maximum\": 2026\n    },\n    \"hoaMax\": {\n      \"title\": \"Maximum HOA Fee\",\n      \"type\": \"integer\",\n      \"description\": \"Maximum monthly HOA fee in US dollars.\",\n      \"minimum\": 0,\n      \"maximum\": 10000\n    },\n    \"parkingSpotsMin\": {\n      \"title\": \"Minimum Parking Spots\",\n      \"type\": \"integer\",\n      \"description\": \"Minimum number of parking spots (1-10).\",\n      \"minimum\": 1,\n      \"maximum\": 10\n    },\n    \"propertyTypes\": {\n      \"title\": \"Property Types\",\n      \"type\": \"array\",\n      \"description\": \"Limit results to selected property types. Leave empty for all homes.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"house\",\n          \"condo\",\n          \"townhouse\",\n          \"multiFamily\",\n          \"manufactured\",\n          \"lotLand\",\n          \"apartment\"\n        ],\n        \"enumTitles\": [\n          \"House\",\n          \"Condo\",\n          \"Townhouse\",\n          \"Multi-family\",\n          \"Manufactured\",\n          \"Lot / Land\",\n          \"Apartment\"\n        ]\n      }\n    },\n    \"daysOnZillow\": {\n      \"title\": \"Days on Zillow\",\n      \"type\": \"string\",\n      \"description\": \"Only include listings added within this period.\",\n      \"editor\": \"select\",\n      \"default\": \"any\",\n      \"enum\": [\n        \"any\",\n        \"1\",\n        \"7\",\n        \"14\",\n        \"30\",\n        \"90\",\n        \"180\",\n        \"365\",\n        \"730\",\n        \"1095\"\n      ],\n      \"enumTitles\": [\n        \"Any\",\n        \"1 day\",\n        \"7 days\",\n        \"14 days\",\n        \"30 days\",\n        \"90 days\",\n        \"6 months\",\n        \"12 months\",\n        \"24 months\",\n        \"36 months\"\n      ]\n    },\n    \"sortBy\": {\n      \"title\": \"Sort By\",\n      \"type\": \"string\",\n      \"description\": \"Result order. Relevance uses Zillow's priority order in RENT mode.\",\n      \"editor\": \"select\",\n      \"default\": \"relevance\",\n      \"enum\": [\n        \"relevance\",\n        \"priceLow\",\n        \"priceHigh\",\n        \"newest\",\n        \"zestimate\",\n        \"zestimateLow\"\n      ],\n      \"enumTitles\": [\n        \"Relevance\",\n        \"Price: low to high\",\n        \"Price: high to low\",\n        \"Newest\",\n        \"Zestimate: high to low\",\n        \"Zestimate: low to high\"\n      ]\n    },\n    \"fsboOnly\": {\n      \"title\": \"For Sale By Owner Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include for-sale-by-owner listings.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"foreclosureOnly\": {\n      \"title\": \"Foreclosure Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include foreclosure listings.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"auctionOnly\": {\n      \"title\": \"Auction Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include auction listings.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"newConstructionOnly\": {\n      \"title\": \"New Construction Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include new-construction listings.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"includePending\": {\n      \"title\": \"Include Pending Listings\",\n      \"type\": \"boolean\",\n      \"description\": \"Add pending and under-contract listings to active results.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"openHouseOnly\": {\n      \"title\": \"Open House Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include listings with an open house.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"priceReducedOnly\": {\n      \"title\": \"Price Reduced Only\",\n      \"type\": \"boolean\",\n      \"description\": \"Only include listings with a price reduction.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"keyword\": {\n      \"title\": \"Keyword\",\n      \"type\": \"string\",\n      \"description\": \"Free-text keyword to match in the listing, for example 'pool'.\",\n      \"editor\": \"textfield\"\n    },\n    \"amenities\": {\n      \"title\": \"Amenities\",\n      \"type\": \"array\",\n      \"description\": \"Only include listings with the selected amenities.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"pool\",\n          \"garage\",\n          \"airConditioning\",\n          \"waterfront\",\n          \"cityView\",\n          \"threeDHome\",\n          \"age55Plus\",\n          \"singleStory\",\n          \"basementFinished\",\n          \"basementUnfinished\",\n          \"waterView\",\n          \"mountainView\",\n          \"parkView\"\n        ],\n        \"enumTitles\": [\n          \"Pool\",\n          \"Garage\",\n          \"Air conditioning\",\n          \"Waterfront\",\n          \"City view\",\n          \"3D home\",\n          \"55+ community\",\n          \"Single story\",\n          \"Finished basement\",\n          \"Unfinished basement\",\n          \"Water view\",\n          \"Mountain view\",\n          \"Park view\"\n        ]\n      }\n    },\n    \"rentalFilters\": {\n      \"title\": \"Rental Filters\",\n      \"type\": \"array\",\n      \"description\": \"Rent-only filters. Ignored with a status note outside RENT mode.\",\n      \"editor\": \"select\",\n      \"sectionCaption\": \"Rental Filters\",\n      \"sectionDescription\": \"These filters apply only to RENT searches.\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"pets\",\n          \"furnished\",\n          \"parking\",\n          \"inUnitLaundry\",\n          \"shortTerm\",\n          \"noPets\",\n          \"byOwner\",\n          \"incomeRestricted\",\n          \"studentHousing\",\n          \"onlyRentalSeniorHousingType\",\n          \"hasFitnessCenter\",\n          \"hasDishwasher\",\n          \"onlyRentalInstantTourAvailable\",\n          \"hasAcceptingBackupOffers\"\n        ],\n        \"enumTitles\": [\n          \"Pets allowed\",\n          \"Furnished\",\n          \"Parking\",\n          \"In-unit laundry\",\n          \"Short-term lease\",\n          \"No pets\",\n          \"By owner\",\n          \"Income restricted\",\n          \"Student housing\",\n          \"Senior housing\",\n          \"Fitness center\",\n          \"Dishwasher\",\n          \"Instant tour available\",\n          \"Accepting backup offers\"\n        ]\n      }\n    },\n    \"scrapeDetails\": {\n      \"title\": \"Scrape Full Details\",\n      \"type\": \"boolean\",\n      \"description\": \"Fetch each search result's detail page for description, photos, MLS, tax, open house and building floor plans. Explicit URLs, ZPIDs and addresses are always enriched.\",\n      \"default\": true,\n      \"prefill\": false,\n      \"sectionCaption\": \"Options\"\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Zillow For-Sale, Rent & Sold Listing Extractor\n\nScrape **Zillow** for active for-sale, rental and recently sold listings. Search by city, ZIP, neighborhood, county or state, paste property, building or search URLs, or look up properties by ZPID and street address. Apply Zillow's own price, size, property-type, amenity and rental filters, then enrich each record with detail data such as tax history, schools, MLS attribution, open houses, photos, floor plans and listing flags when Zillow exposes them.\n\nThis actor is independent and is not affiliated with Zillow. It reads publicly visible pages and requires no login, cookie or proxy configuration.\n\n## What this actor does\n\n- **Three search modes:** active for-sale (`BUY`), rental (`RENT`) and recently sold (`SOLD`) listings by location.\n- **Flexible lookups:** property detail URLs, `/apartments/` building URLs, Zillow search URLs, ZPIDs and full street addresses.\n- **Deep filters:** price, beds, baths, square footage, lot size, year built, HOA, parking, property type, days on Zillow, sort order, listing flags, keyword, amenities and rent-only filters.\n- **Rich detail:** tax history, schools, RESO features, price history, MLS data, open houses, photos, virtual tours, building floor plans and walk/transit/bike scores.\n- **Empty fields are omitted** — records contain only populated values, and duplicate properties are merged by ZPID and canonical URL.\n\n## Output per property\n\nEach property or rental building produces one record. Fields with no available data are omitted, never emitted as `null`, `N/A`, `-` or an empty container. Meaningful zero and false values are kept.\n\n### Core fields\n\n| Field | Type | Description |\n|---|---|---|\n| `url` | String | Absolute Zillow detail URL. |\n| `zpid` | Number or String | Numeric for properties; string for buildings. |\n| `status` | String | Listing status such as `FOR_SALE`, `FOR_RENT`, `RECENTLY_SOLD` or `SOLD`. |\n| `price` | Integer | Listing price; never zero. For sold records, the sold price when disclosed. |\n| `zestimate` | Integer | Zillow estimated value. |\n| `rentZestimate` | Integer | Zillow estimated monthly rent. |\n| `beds` | Integer | Bedrooms. |\n| `baths` | Number | Bathrooms. |\n| `sqft` | Integer | Living area in square feet. |\n| `lotSize` | String | Formatted lot size, for example `1,846 sqft` or `0.27 acres`. |\n| `yearBuilt` | Integer | Construction year. |\n| `propertyType` | String | `SINGLE_FAMILY`, `CONDO`, `TOWNHOUSE`, `BUILDING`, etc. |\n| `stories` | Integer | Stories when Zillow provides them. |\n| `parking` | String | Parking features or capacity. |\n| `address`, `city`, `state`, `zipCode` | String | Address components. |\n| `latitude`, `longitude` | Number | Coordinates. |\n| `daysOnZillow` | Integer | Days on Zillow. |\n| `brokerName`, `agentName`, `agentPhone` | String | Listing attribution. |\n| `description` | String | Property or building description. |\n| `photos` | Array | Absolute photo URLs. |\n| `priceHistory` | Array | Price events with `date`, `event`, `price`, `pricePerSqft`, `priceChangeRate` and `source`. |\n| `taxHistory` | Array | Tax records with `year`, `taxPaid`, `value`, `taxIncreaseRate` and `valueIncreaseRate`. |\n| `schools` | Array | Assigned schools preferred; each entry keeps `name`, `level`, `type`, `grades`, `distance` and `rating`. |\n| `features` | Object | Expanded RESO facts: heating, cooling, appliances, flooring, basement, parking, pool, views, construction, lot and similar details when present. |\n| `hoaFee` | Number | Monthly HOA fee. |\n| `pricePerSqft` | Number | Price per square foot. |\n| `scrapedAt` | String | ISO timestamp; always present. |\n\n### Additive fields\n\n| Field | Type | Description |\n|---|---|---|\n| `soldPrice` | Integer | Sold price when the market discloses it. |\n| `lastSoldPrice` | Integer | Most recent recorded sold price from the property payload. |\n| `dateSold` | String | ISO sold date. |\n| `taxAssessedValue` | Integer | Tax assessed value. |\n| `taxAnnualAmount` | Integer | Annual property tax amount. |\n| `parcelId` | String | County parcel or assessor ID, preserving leading zeros. |\n| `builderName` | String | Home builder or developer when exposed. |\n| `agentEmail` | String | Listing agent email when Zillow exposes it. |\n| `propertyTaxRate` | Number | Percentage tax rate (`1.75` means 1.75%). |\n| `priceChange` | Integer | Signed price change. |\n| `priceChangeDate` | String | ISO date of the last price change. |\n| `openHouse` | Array | Entries with `startTime`, `endTime` and optional `description`. |\n| `mlsName`, `mlsId` | String | MLS attribution. |\n| `photoCount` | Integer | Number of photos. |\n| `virtualTour` | String | Virtual tour or 3D home URL. |\n| `homeInsights` | Array | Insight phrases. |\n| `neighborhood`, `county` | String | Location context. |\n| `garageSpaces` | Integer | Garage capacity. |\n| `unit` | String | Unit number. |\n| `has3DModel` | Boolean | Whether a 3D model is available. |\n| `listingFlags` | Object | `isForSaleByOwner`, `isForeclosure`, `isAuction`, `isNewConstruction`, `isPending`, `isListedByOwner`, `isComingSoon`, `isBankOwned`. |\n| `building` | Object | Rental-building detail; see below. |\n\n### Building object\n\n| Field | Type | Description |\n|---|---|---|\n| `building.name` | String | Building name. |\n| `building.type` | String | Building type. |\n| `building.phone` | String | Leasing phone number. |\n| `building.agentName` | String | Leasing contact name. |\n| `building.availabilityCount` | Integer | Number of available units. |\n| `building.rentRange` | Object | `min` and `max` monthly rent. |\n| `building.floorPlans` | Array | Available units; see below. |\n| `building.walkScore` | Integer | Walk Score. |\n| `building.transitScore` | Integer | Transit score. |\n| `building.bikeScore` | Integer | Bike score. |\n| `building.amenities` | Array | Building and community amenities. |\n| `building.petPolicy` | String | Pet policy. |\n| `building.specialOffers` | Array | Leasing specials. |\n| `building.neighborhoodDescription` | String | Neighborhood overview. |\n\nEach `building.floorPlans` entry can include `floorPlanName`, `unitNumber`, `beds`, `baths`, `sqft`, `price`, `baseRent`, `availableFrom`, `leaseTerm`, `deposit` and `fees` (`min` and `max`).\n\n## Input\n\nAll inputs are optional individually, but at least one source is required: `search`, `startUrls`, `zpids` or `addresses`.\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `search` | String | – | City, ZIP, neighborhood, county or state to search. Prefill: `Houston, TX`. |\n| `mode` | Select | `BUY` | `BUY`, `RENT` or `SOLD`. Applies to `search` and bare location URLs. |\n| `maxItems` | Integer | `50` (prefill `3`) | Maximum records for the whole run (1-5000), across all sources. |\n| `endPage` | Integer | `5` (prefill `1`) | Maximum search pages per task (1-24). Zillow returns up to 41 listings per page. |\n| `startUrls` | URL list | `[]` | Property detail URLs, `/apartments/` building URLs or Zillow search-page URLs. Search URLs keep their own filters and mode. |\n| `zpids` | String list | – | ZPID values or URLs containing `_zpid`. Each is resolved to its detail page. |\n| `addresses` | String list | – | Full street addresses, for example `1306 Castle Ct, Houston, TX 77006`. |\n| `priceMin` | Integer | – | Minimum listing price in US dollars. |\n| `priceMax` | Integer | – | Maximum listing price in US dollars. |\n| `bedsMin` | Select | `any` | Minimum bedrooms: `any`, `1`, `2`, `3`, `4`, `5`. |\n| `bathsMin` | Select | `any` | Minimum bathrooms: `any`, `1`, `1.5`, `2`, `2.5`, `3`, `4`, `5`. |\n| `sqftMin` | Integer | – | Minimum living area in square feet. |\n| `sqftMax` | Integer | – | Maximum living area in square feet. |\n| `lotSizeMin` | Select | `any` | Minimum lot size: `any`, `2000`, `5000`, `10890`, `21780`, `43560`, `87120` square feet. |\n| `lotSizeMax` | Select | `any` | Maximum lot size: `any`, `2000`, `5000`, `10890`, `21780`, `43560`, `87120` square feet. |\n| `yearBuiltMin` | Integer | – | Earliest construction year. |\n| `yearBuiltMax` | Integer | – | Latest construction year. |\n| `hoaMax` | Integer | – | Maximum monthly HOA fee. |\n| `parkingSpotsMin` | Integer | – | Minimum parking spots (1-10). |\n| `propertyTypes` | Multi-select | – | `house`, `condo`, `townhouse`, `multiFamily`, `manufactured`, `lotLand`, `apartment`. Empty means all homes. |\n| `daysOnZillow` | Select | `any` | `any`, `1`, `7`, `14`, `30`, `90`, `180`, `365`, `730`, `1095` days. |\n| `sortBy` | Select | `relevance` | `relevance`, `priceLow`, `priceHigh`, `newest`, `zestimate`, `zestimateLow`. RENT relevance uses Zillow's priority order. |\n| `fsboOnly` | Boolean | `false` | Only for-sale-by-owner listings. |\n| `foreclosureOnly` | Boolean | `false` | Only foreclosure listings. |\n| `auctionOnly` | Boolean | `false` | Only auction listings. |\n| `newConstructionOnly` | Boolean | `false` | Only new-construction listings. |\n| `includePending` | Boolean | `false` | Add pending and under-contract listings to active results. |\n| `openHouseOnly` | Boolean | `false` | Only listings with an open house. |\n| `priceReducedOnly` | Boolean | `false` | Only listings with a price reduction. |\n| `keyword` | String | – | Free-text keyword, for example `pool`. |\n| `amenities` | Multi-select | – | `pool`, `garage`, `airConditioning`, `waterfront`, `cityView`, `threeDHome`, `age55Plus`, `singleStory`, `basementFinished`, `basementUnfinished`, `waterView`, `mountainView`, `parkView`. |\n| `rentalFilters` | Multi-select | – | Rent-only: `pets`, `furnished`, `parking`, `inUnitLaundry`, `shortTerm`, `noPets`, `byOwner`, `incomeRestricted`, `studentHousing`, `onlyRentalSeniorHousingType`, `hasFitnessCenter`, `hasDishwasher`, `onlyRentalInstantTourAvailable`, `hasAcceptingBackupOffers`. |\n| `scrapeDetails` | Boolean | `true` (prefill `false`) | Enrich search results with detail data. Explicit URLs, ZPIDs and addresses are always enriched. |\n\nInverted ranges (`priceMin > priceMax`, `sqftMin > sqftMax`, `yearBuiltMin > yearBuiltMax`, `lotSizeMin > lotSizeMax`) are ignored with a status note instead of failing the run. Rental filters are ignored outside `RENT` mode.\n\n### Example: buy search with filters\n\n```json\n{\n  \"search\": \"Houston, TX\",\n  \"mode\": \"BUY\",\n  \"maxItems\": 100,\n  \"endPage\": 5,\n  \"priceMin\": 500000,\n  \"priceMax\": 800000,\n  \"bedsMin\": \"3\",\n  \"bathsMin\": \"2\",\n  \"amenities\": [\"pool\"],\n  \"daysOnZillow\": \"30\",\n  \"sortBy\": \"newest\",\n  \"scrapeDetails\": true\n}\n```\n\n### Example: pet-friendly rentals with rental filters\n\n```json\n{\n  \"search\": \"Miami, FL\",\n  \"mode\": \"RENT\",\n  \"maxItems\": 50,\n  \"rentalFilters\": [\"pets\", \"parking\", \"furnished\"],\n  \"scrapeDetails\": false\n}\n```\n\n### Example: recently sold comps\n\n```json\n{\n  \"search\": \"Miami, FL\",\n  \"mode\": \"SOLD\",\n  \"maxItems\": 50,\n  \"endPage\": 2,\n  \"scrapeDetails\": true\n}\n```\n\n### Example: direct property, building and ZPID lookups\n\n```json\n{\n  \"startUrls\": [\n    {\"url\": \"https://www.zillow.com/homedetails/1306-Castle-Ct-Houston-TX-77006/126296894_zpid/\"},\n    {\"url\": \"https://www.zillow.com/apartments/houston-tx/the-briscoe-river-oaks/5Xhrvw/\"}\n  ],\n  \"zpids\": [\"126296894\"],\n  \"addresses\": [\"1306 Castle Ct, Houston, TX 77006\"],\n  \"maxItems\": 10\n}\n```\n\n## Use cases\n\n- **Real estate investors** — pull for-sale, pending and price-reduced listings with tax, HOA and price-history context for deal screening.\n- **Real estate agents and brokers** — track new construction, open houses, FSBO and auction inventory in target neighborhoods.\n- **Property managers and landlords** — compare rental inventory, amenities, pet policies and floor-plan pricing in a market.\n- **Appraisers and analysts** — collect recently sold comps with sold dates, assessed values and school assignments for valuation work.\n- **Proptech and data teams** — feed normalized Zillow listing, tax and building data into CRMs, dashboards and valuation models.\n- **Relocation and home-search services** — build filtered shortlists by price, commute-relevant location, schools and amenities.\n\n## FAQ\n\n### Do I need a proxy, cookie or API key?\n\nNo. The actor reads publicly visible Zillow pages, chooses a working connection automatically and requires no credential or proxy setup.\n\n### What is the difference between BUY, RENT and SOLD?\n\n`BUY` searches active for-sale listings, `RENT` searches rentals, and `SOLD` searches recently sold listings. The mode applies to `search` and bare location URLs; pasted search URLs keep their own mode and filters.\n\n### How many listings can one search return?\n\nZillow's search exposes at most about 975 unique listings per query, across 24 pages of 41 rows. When `maxItems` is above 975 and Zillow reports more results, the actor splits the search into smaller price bands — and for rentals, by monthly payment, beds and days on Zillow — so it can keep collecting listings. Searches at or below that ceiling return the listings Zillow exposes directly.\n\n### Why is `soldPrice` missing for some sold listings?\n\nSome markets, including Houston, are non-disclosure markets, and Zillow does not publish a sold price there. The record keeps the sold date and status, and the actor never invents a price from Zestimate or price history.\n\n### Why are tax history, schools or HOA details missing on some records?\n\nZillow only publishes those details for some listings and markets. When a value is absent it is omitted from the record rather than filled from another field. Tax-history years are reported as calendar years.\n\n### Can I paste a Zillow search URL?\n\nYes. The actor reads the URL's search state and keeps its filters. If the URL points to page N, the actor starts from page 1 and pages forward up to `endPage`.\n\n### Can I use a `/b/` building URL?\n\nZillow blocks `/b/` building URLs for public access. Use the `/apartments/` URL for the same building instead; `/b/` URLs are skipped with a status note.\n\n### How current is the data?\n\nEvery record is read live at run time and includes a `scrapedAt` timestamp. Zillow's result count and ordering can drift between requests, so duplicates are removed within each run.\n\n### Are zero values removed?\n\nNo. Meaningful zero values such as `beds: 0` for a studio and false listing flags are kept. Only empty, null, sentinel and non-finite values are removed.\n\n### Are building reviews included?\n\nNo. Zillow does not expose building reviews on public building pages, so the actor does not emit them. Building details, floor plans, amenities and scores are included when available.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "zillow-for-sale-rent-and-sold-listing-extractor",
      "title": "Zillow For-Sale, Rent & Sold Listing Extractor",
      "description": "Search Zillow by city, ZIP, URL, ZPID or address for active, rental or sold listings. Filter by price, beds, baths, size, type, days and amenities; enrich homes and buildings with tax, MLS, open-house, floor-plan and school data.",
      "version": "1.1",
      "buildTag": "latest",
      "input": {
        "title": "Zillow For-Sale, Rent & Sold Listing Extractor",
        "description": "Search Zillow by city, ZIP, property URL, ZPID or address; filter buy, rent and sold listings; enrich each record with property or rental-building detail.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "search": {
            "title": "Search Location",
            "type": "string",
            "description": "City, ZIP, neighborhood, county or state to search (for example 'Houston, TX' or '77002').",
            "prefill": "Houston, TX",
            "editor": "textfield",
            "sectionCaption": "Search Settings",
            "sectionDescription": "Enter a location and choose a search mode. You can also use the lookup lists below or paste URLs."
          },
          "mode": {
            "title": "Search Mode",
            "type": "string",
            "description": "Search active for-sale listings, rentals, or recently sold listings.",
            "editor": "select",
            "default": "BUY",
            "prefill": "BUY",
            "enum": [
              "BUY",
              "RENT",
              "SOLD"
            ],
            "enumTitles": [
              "For Sale (Buy)",
              "For Rent",
              "Recently Sold"
            ]
          },
          "maxItems": {
            "title": "Maximum Properties",
            "type": "integer",
            "description": "Maximum number of records for the whole run across all sources (1-5000).",
            "minimum": 1,
            "maximum": 5000,
            "default": 50,
            "prefill": 3
          },
          "endPage": {
            "title": "Maximum Pages",
            "type": "integer",
            "description": "Maximum search result pages per search task (1-24). Zillow returns up to 41 listings per page.",
            "minimum": 1,
            "maximum": 24,
            "default": 5,
            "prefill": 1
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Property detail URLs, /apartments/ building URLs, or Zillow search page URLs. Search URLs keep their own filters and mode.",
            "editor": "requestListSources",
            "default": [],
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "URL",
                  "type": "string",
                  "description": "Page URL to scrape."
                }
              }
            },
            "sectionCaption": "Lookup Lists",
            "sectionDescription": "Use any combination of URLs, ZPIDs and street addresses. Explicit detail sources are always enriched."
          },
          "zpids": {
            "title": "ZPIDs",
            "type": "array",
            "description": "Zillow property IDs or URLs containing _zpid. Each ZPID is resolved to its canonical detail page.",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "addresses": {
            "title": "Street Addresses",
            "type": "array",
            "description": "Full street addresses to resolve to Zillow property pages, for example '1306 Castle Ct, Houston, TX 77006'.",
            "editor": "stringList",
            "items": {
              "type": "string"
            }
          },
          "priceMin": {
            "title": "Minimum Price",
            "type": "integer",
            "description": "Minimum listing price in US dollars.",
            "minimum": 0,
            "maximum": 100000000,
            "sectionCaption": "Filters",
            "sectionDescription": "Filters are applied to location searches and search URLs through Zillow's searchQueryState."
          },
          "priceMax": {
            "title": "Maximum Price",
            "type": "integer",
            "description": "Maximum listing price in US dollars.",
            "minimum": 0,
            "maximum": 100000000
          },
          "bedsMin": {
            "title": "Minimum Bedrooms",
            "type": "string",
            "description": "Minimum number of bedrooms.",
            "editor": "select",
            "default": "any",
            "enum": [
              "any",
              "1",
              "2",
              "3",
              "4",
              "5"
            ],
            "enumTitles": [
              "Any",
              "1+",
              "2+",
              "3+",
              "4+",
              "5+"
            ]
          },
          "bathsMin": {
            "title": "Minimum Bathrooms",
            "type": "string",
            "description": "Minimum number of bathrooms.",
            "editor": "select",
            "default": "any",
            "enum": [
              "any",
              "1",
              "1.5",
              "2",
              "2.5",
              "3",
              "4",
              "5"
            ],
            "enumTitles": [
              "Any",
              "1+",
              "1.5+",
              "2+",
              "2.5+",
              "3+",
              "4+",
              "5+"
            ]
          },
          "sqftMin": {
            "title": "Minimum Square Feet",
            "type": "integer",
            "description": "Minimum living area in square feet.",
            "minimum": 0,
            "maximum": 100000
          },
          "sqftMax": {
            "title": "Maximum Square Feet",
            "type": "integer",
            "description": "Maximum living area in square feet.",
            "minimum": 0,
            "maximum": 100000
          },
          "lotSizeMin": {
            "title": "Minimum Lot Size",
            "type": "string",
            "description": "Minimum lot size in square feet.",
            "editor": "select",
            "default": "any",
            "enum": [
              "any",
              "2000",
              "5000",
              "10890",
              "21780",
              "43560",
              "87120"
            ],
            "enumTitles": [
              "Any",
              "2,000 sqft",
              "5,000 sqft",
              "0.25 acre",
              "0.5 acre",
              "1 acre",
              "2 acres"
            ]
          },
          "lotSizeMax": {
            "title": "Maximum Lot Size",
            "type": "string",
            "description": "Maximum lot size in square feet.",
            "editor": "select",
            "default": "any",
            "enum": [
              "any",
              "2000",
              "5000",
              "10890",
              "21780",
              "43560",
              "87120"
            ],
            "enumTitles": [
              "Any",
              "2,000 sqft",
              "5,000 sqft",
              "0.25 acre",
              "0.5 acre",
              "1 acre",
              "2 acres"
            ]
          },
          "yearBuiltMin": {
            "title": "Built After",
            "type": "integer",
            "description": "Earliest construction year.",
            "minimum": 1800,
            "maximum": 2026
          },
          "yearBuiltMax": {
            "title": "Built Before",
            "type": "integer",
            "description": "Latest construction year.",
            "minimum": 1800,
            "maximum": 2026
          },
          "hoaMax": {
            "title": "Maximum HOA Fee",
            "type": "integer",
            "description": "Maximum monthly HOA fee in US dollars.",
            "minimum": 0,
            "maximum": 10000
          },
          "parkingSpotsMin": {
            "title": "Minimum Parking Spots",
            "type": "integer",
            "description": "Minimum number of parking spots (1-10).",
            "minimum": 1,
            "maximum": 10
          },
          "propertyTypes": {
            "title": "Property Types",
            "type": "array",
            "description": "Limit results to selected property types. Leave empty for all homes.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "house",
                "condo",
                "townhouse",
                "multiFamily",
                "manufactured",
                "lotLand",
                "apartment"
              ],
              "enumTitles": [
                "House",
                "Condo",
                "Townhouse",
                "Multi-family",
                "Manufactured",
                "Lot / Land",
                "Apartment"
              ]
            }
          },
          "daysOnZillow": {
            "title": "Days on Zillow",
            "type": "string",
            "description": "Only include listings added within this period.",
            "editor": "select",
            "default": "any",
            "enum": [
              "any",
              "1",
              "7",
              "14",
              "30",
              "90",
              "180",
              "365",
              "730",
              "1095"
            ],
            "enumTitles": [
              "Any",
              "1 day",
              "7 days",
              "14 days",
              "30 days",
              "90 days",
              "6 months",
              "12 months",
              "24 months",
              "36 months"
            ]
          },
          "sortBy": {
            "title": "Sort By",
            "type": "string",
            "description": "Result order. Relevance uses Zillow's priority order in RENT mode.",
            "editor": "select",
            "default": "relevance",
            "enum": [
              "relevance",
              "priceLow",
              "priceHigh",
              "newest",
              "zestimate",
              "zestimateLow"
            ],
            "enumTitles": [
              "Relevance",
              "Price: low to high",
              "Price: high to low",
              "Newest",
              "Zestimate: high to low",
              "Zestimate: low to high"
            ]
          },
          "fsboOnly": {
            "title": "For Sale By Owner Only",
            "type": "boolean",
            "description": "Only include for-sale-by-owner listings.",
            "default": false,
            "prefill": false
          },
          "foreclosureOnly": {
            "title": "Foreclosure Only",
            "type": "boolean",
            "description": "Only include foreclosure listings.",
            "default": false,
            "prefill": false
          },
          "auctionOnly": {
            "title": "Auction Only",
            "type": "boolean",
            "description": "Only include auction listings.",
            "default": false,
            "prefill": false
          },
          "newConstructionOnly": {
            "title": "New Construction Only",
            "type": "boolean",
            "description": "Only include new-construction listings.",
            "default": false,
            "prefill": false
          },
          "includePending": {
            "title": "Include Pending Listings",
            "type": "boolean",
            "description": "Add pending and under-contract listings to active results.",
            "default": false,
            "prefill": false
          },
          "openHouseOnly": {
            "title": "Open House Only",
            "type": "boolean",
            "description": "Only include listings with an open house.",
            "default": false,
            "prefill": false
          },
          "priceReducedOnly": {
            "title": "Price Reduced Only",
            "type": "boolean",
            "description": "Only include listings with a price reduction.",
            "default": false,
            "prefill": false
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Free-text keyword to match in the listing, for example 'pool'.",
            "editor": "textfield"
          },
          "amenities": {
            "title": "Amenities",
            "type": "array",
            "description": "Only include listings with the selected amenities.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "pool",
                "garage",
                "airConditioning",
                "waterfront",
                "cityView",
                "threeDHome",
                "age55Plus",
                "singleStory",
                "basementFinished",
                "basementUnfinished",
                "waterView",
                "mountainView",
                "parkView"
              ],
              "enumTitles": [
                "Pool",
                "Garage",
                "Air conditioning",
                "Waterfront",
                "City view",
                "3D home",
                "55+ community",
                "Single story",
                "Finished basement",
                "Unfinished basement",
                "Water view",
                "Mountain view",
                "Park view"
              ]
            }
          },
          "rentalFilters": {
            "title": "Rental Filters",
            "type": "array",
            "description": "Rent-only filters. Ignored with a status note outside RENT mode.",
            "editor": "select",
            "sectionCaption": "Rental Filters",
            "sectionDescription": "These filters apply only to RENT searches.",
            "items": {
              "type": "string",
              "enum": [
                "pets",
                "furnished",
                "parking",
                "inUnitLaundry",
                "shortTerm",
                "noPets",
                "byOwner",
                "incomeRestricted",
                "studentHousing",
                "onlyRentalSeniorHousingType",
                "hasFitnessCenter",
                "hasDishwasher",
                "onlyRentalInstantTourAvailable",
                "hasAcceptingBackupOffers"
              ],
              "enumTitles": [
                "Pets allowed",
                "Furnished",
                "Parking",
                "In-unit laundry",
                "Short-term lease",
                "No pets",
                "By owner",
                "Income restricted",
                "Student housing",
                "Senior housing",
                "Fitness center",
                "Dishwasher",
                "Instant tour available",
                "Accepting backup offers"
              ]
            }
          },
          "scrapeDetails": {
            "title": "Scrape Full Details",
            "type": "boolean",
            "description": "Fetch each search result's detail page for description, photos, MLS, tax, open house and building floor plans. Explicit URLs, ZPIDs and addresses are always enriched.",
            "default": true,
            "prefill": false,
            "sectionCaption": "Options"
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Zillow For-Sale, Rent & Sold Listing Extractor Output",
        "description": "One record per Zillow property, home or rental building. Records keep the 33 legacy fields and add sold, tax, parcel, builder, agent, MLS, open-house, GraphQL-enriched detail and building fields when Zillow exposes them.",
        "properties": {
          "properties": {
            "type": "string",
            "title": "Property Listings",
            "description": "Dataset containing scraped property and rental-building listings",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Zillow For-Sale, Rent & Sold Listing Extractor\n\nScrape **Zillow** for active for-sale, rental and recently sold listings. Search by city, ZIP, neighborhood, county or state, paste property, building or search URLs, or look up properties by ZPID and street address. Apply Zillow's own price, size, property-type, amenity and rental filters, then enrich each record with detail data such as tax history, schools, MLS attribution, open houses, photos, floor plans and listing flags when Zillow exposes them.\n\nThis actor is independent and is not affiliated with Zillow. It reads publicly visible pages and requires no login, cookie or proxy configuration.\n\n## What this actor does\n\n- **Three search modes:** active for-sale (`BUY`), rental (`RENT`) and recently sold (`SOLD`) listings by location.\n- **Flexible lookups:** property detail URLs, `/apartments/` building URLs, Zillow search URLs, ZPIDs and full street addresses.\n- **Deep filters:** price, beds, baths, square footage, lot size, year built, HOA, parking, property type, days on Zillow, sort order, listing flags, keyword, amenities and rent-only filters.\n- **Rich detail:** tax history, schools, RESO features, price history, MLS data, open houses, photos, virtual tours, building floor plans and walk/transit/bike scores.\n- **Empty fields are omitted** — records contain only populated values, and duplicate properties are merged by ZPID and canonical URL.\n\n## Output per property\n\nEach property or rental building produces one record. Fields with no available data are omitted, never emitted as `null`, `N/A`, `-` or an empty container. Meaningful zero and false values are kept.\n\n### Core fields\n\n| Field | Type | Description |\n|---|---|---|\n| `url` | String | Absolute Zillow detail URL. |\n| `zpid` | Number or String | Numeric for properties; string for buildings. |\n| `status` | String | Listing status such as `FOR_SALE`, `FOR_RENT`, `RECENTLY_SOLD` or `SOLD`. |\n| `price` | Integer | Listing price; never zero. For sold records, the sold price when disclosed. |\n| `zestimate` | Integer | Zillow estimated value. |\n| `rentZestimate` | Integer | Zillow estimated monthly rent. |\n| `beds` | Integer | Bedrooms. |\n| `baths` | Number | Bathrooms. |\n| `sqft` | Integer | Living area in square feet. |\n| `lotSize` | String | Formatted lot size, for example `1,846 sqft` or `0.27 acres`. |\n| `yearBuilt` | Integer | Construction year. |\n| `propertyType` | String | `SINGLE_FAMILY`, `CONDO`, `TOWNHOUSE`, `BUILDING`, etc. |\n| `stories` | Integer | Stories when Zillow provides them. |\n| `parking` | String | Parking features or capacity. |\n| `address`, `city`, `state`, `zipCode` | String | Address components. |\n| `latitude`, `longitude` | Number | Coordinates. |\n| `daysOnZillow` | Integer | Days on Zillow. |\n| `brokerName`, `agentName`, `agentPhone` | String | Listing attribution. |\n| `description` | String | Property or building description. |\n| `photos` | Array | Absolute photo URLs. |\n| `priceHistory` | Array | Price events with `date`, `event`, `price`, `pricePerSqft`, `priceChangeRate` and `source`. |\n| `taxHistory` | Array | Tax records with `year`, `taxPaid`, `value`, `taxIncreaseRate` and `valueIncreaseRate`. |\n| `schools` | Array | Assigned schools preferred; each entry keeps `name`, `level`, `type`, `grades`, `distance` and `rating`. |\n| `features` | Object | Expanded RESO facts: heating, cooling, appliances, flooring, basement, parking, pool, views, construction, lot and similar details when present. |\n| `hoaFee` | Number | Monthly HOA fee. |\n| `pricePerSqft` | Number | Price per square foot. |\n| `scrapedAt` | String | ISO timestamp; always present. |\n\n### Additive fields\n\n| Field | Type | Description |\n|---|---|---|\n| `soldPrice` | Integer | Sold price when the market discloses it. |\n| `lastSoldPrice` | Integer | Most recent recorded sold price from the property payload. |\n| `dateSold` | String | ISO sold date. |\n| `taxAssessedValue` | Integer | Tax assessed value. |\n| `taxAnnualAmount` | Integer | Annual property tax amount. |\n| `parcelId` | String | County parcel or assessor ID, preserving leading zeros. |\n| `builderName` | String | Home builder or developer when exposed. |\n| `agentEmail` | String | Listing agent email when Zillow exposes it. |\n| `propertyTaxRate` | Number | Percentage tax rate (`1.75` means 1.75%). |\n| `priceChange` | Integer | Signed price change. |\n| `priceChangeDate` | String | ISO date of the last price change. |\n| `openHouse` | Array | Entries with `startTime`, `endTime` and optional `description`. |\n| `mlsName`, `mlsId` | String | MLS attribution. |\n| `photoCount` | Integer | Number of photos. |\n| `virtualTour` | String | Virtual tour or 3D home URL. |\n| `homeInsights` | Array | Insight phrases. |\n| `neighborhood`, `county` | String | Location context. |\n| `garageSpaces` | Integer | Garage capacity. |\n| `unit` | String | Unit number. |\n| `has3DModel` | Boolean | Whether a 3D model is available. |\n| `listingFlags` | Object | `isForSaleByOwner`, `isForeclosure`, `isAuction`, `isNewConstruction`, `isPending`, `isListedByOwner`, `isComingSoon`, `isBankOwned`. |\n| `building` | Object | Rental-building detail; see below. |\n\n### Building object\n\n| Field | Type | Description |\n|---|---|---|\n| `building.name` | String | Building name. |\n| `building.type` | String | Building type. |\n| `building.phone` | String | Leasing phone number. |\n| `building.agentName` | String | Leasing contact name. |\n| `building.availabilityCount` | Integer | Number of available units. |\n| `building.rentRange` | Object | `min` and `max` monthly rent. |\n| `building.floorPlans` | Array | Available units; see below. |\n| `building.walkScore` | Integer | Walk Score. |\n| `building.transitScore` | Integer | Transit score. |\n| `building.bikeScore` | Integer | Bike score. |\n| `building.amenities` | Array | Building and community amenities. |\n| `building.petPolicy` | String | Pet policy. |\n| `building.specialOffers` | Array | Leasing specials. |\n| `building.neighborhoodDescription` | String | Neighborhood overview. |\n\nEach `building.floorPlans` entry can include `floorPlanName`, `unitNumber`, `beds`, `baths`, `sqft`, `price`, `baseRent`, `availableFrom`, `leaseTerm`, `deposit` and `fees` (`min` and `max`).\n\n## Input\n\nAll inputs are optional individually, but at least one source is required: `search`, `startUrls`, `zpids` or `addresses`.\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `search` | String | – | City, ZIP, neighborhood, county or state to search. Prefill: `Houston, TX`. |\n| `mode` | Select | `BUY` | `BUY`, `RENT` or `SOLD`. Applies to `search` and bare location URLs. |\n| `maxItems` | Integer | `50` (prefill `3`) | Maximum records for the whole run (1-5000), across all sources. |\n| `endPage` | Integer | `5` (prefill `1`) | Maximum search pages per task (1-24). Zillow returns up to 41 listings per page. |\n| `startUrls` | URL list | `[]` | Property detail URLs, `/apartments/` building URLs or Zillow search-page URLs. Search URLs keep their own filters and mode. |\n| `zpids` | String list | – | ZPID values or URLs containing `_zpid`. Each is resolved to its detail page. |\n| `addresses` | String list | – | Full street addresses, for example `1306 Castle Ct, Houston, TX 77006`. |\n| `priceMin` | Integer | – | Minimum listing price in US dollars. |\n| `priceMax` | Integer | – | Maximum listing price in US dollars. |\n| `bedsMin` | Select | `any` | Minimum bedrooms: `any`, `1`, `2`, `3`, `4`, `5`. |\n| `bathsMin` | Select | `any` | Minimum bathrooms: `any`, `1`, `1.5`, `2`, `2.5`, `3`, `4`, `5`. |\n| `sqftMin` | Integer | – | Minimum living area in square feet. |\n| `sqftMax` | Integer | – | Maximum living area in square feet. |\n| `lotSizeMin` | Select | `any` | Minimum lot size: `any`, `2000`, `5000`, `10890`, `21780`, `43560`, `87120` square feet. |\n| `lotSizeMax` | Select | `any` | Maximum lot size: `any`, `2000`, `5000`, `10890`, `21780`, `43560`, `87120` square feet. |\n| `yearBuiltMin` | Integer | – | Earliest construction year. |\n| `yearBuiltMax` | Integer | – | Latest construction year. |\n| `hoaMax` | Integer | – | Maximum monthly HOA fee. |\n| `parkingSpotsMin` | Integer | – | Minimum parking spots (1-10). |\n| `propertyTypes` | Multi-select | – | `house`, `condo`, `townhouse`, `multiFamily`, `manufactured`, `lotLand`, `apartment`. Empty means all homes. |\n| `daysOnZillow` | Select | `any` | `any`, `1`, `7`, `14`, `30`, `90`, `180`, `365`, `730`, `1095` days. |\n| `sortBy` | Select | `relevance` | `relevance`, `priceLow`, `priceHigh`, `newest`, `zestimate`, `zestimateLow`. RENT relevance uses Zillow's priority order. |\n| `fsboOnly` | Boolean | `false` | Only for-sale-by-owner listings. |\n| `foreclosureOnly` | Boolean | `false` | Only foreclosure listings. |\n| `auctionOnly` | Boolean | `false` | Only auction listings. |\n| `newConstructionOnly` | Boolean | `false` | Only new-construction listings. |\n| `includePending` | Boolean | `false` | Add pending and under-contract listings to active results. |\n| `openHouseOnly` | Boolean | `false` | Only listings with an open house. |\n| `priceReducedOnly` | Boolean | `false` | Only listings with a price reduction. |\n| `keyword` | String | – | Free-text keyword, for example `pool`. |\n| `amenities` | Multi-select | – | `pool`, `garage`, `airConditioning`, `waterfront`, `cityView`, `threeDHome`, `age55Plus`, `singleStory`, `basementFinished`, `basementUnfinished`, `waterView`, `mountainView`, `parkView`. |\n| `rentalFilters` | Multi-select | – | Rent-only: `pets`, `furnished`, `parking`, `inUnitLaundry`, `shortTerm`, `noPets`, `byOwner`, `incomeRestricted`, `studentHousing`, `onlyRentalSeniorHousingType`, `hasFitnessCenter`, `hasDishwasher`, `onlyRentalInstantTourAvailable`, `hasAcceptingBackupOffers`. |\n| `scrapeDetails` | Boolean | `true` (prefill `false`) | Enrich search results with detail data. Explicit URLs, ZPIDs and addresses are always enriched. |\n\nInverted ranges (`priceMin > priceMax`, `sqftMin > sqftMax`, `yearBuiltMin > yearBuiltMax`, `lotSizeMin > lotSizeMax`) are ignored with a status note instead of failing the run. Rental filters are ignored outside `RENT` mode.\n\n### Example: buy search with filters\n\n```json\n{\n  \"search\": \"Houston, TX\",\n  \"mode\": \"BUY\",\n  \"maxItems\": 100,\n  \"endPage\": 5,\n  \"priceMin\": 500000,\n  \"priceMax\": 800000,\n  \"bedsMin\": \"3\",\n  \"bathsMin\": \"2\",\n  \"amenities\": [\"pool\"],\n  \"daysOnZillow\": \"30\",\n  \"sortBy\": \"newest\",\n  \"scrapeDetails\": true\n}\n```\n\n### Example: pet-friendly rentals with rental filters\n\n```json\n{\n  \"search\": \"Miami, FL\",\n  \"mode\": \"RENT\",\n  \"maxItems\": 50,\n  \"rentalFilters\": [\"pets\", \"parking\", \"furnished\"],\n  \"scrapeDetails\": false\n}\n```\n\n### Example: recently sold comps\n\n```json\n{\n  \"search\": \"Miami, FL\",\n  \"mode\": \"SOLD\",\n  \"maxItems\": 50,\n  \"endPage\": 2,\n  \"scrapeDetails\": true\n}\n```\n\n### Example: direct property, building and ZPID lookups\n\n```json\n{\n  \"startUrls\": [\n    {\"url\": \"https://www.zillow.com/homedetails/1306-Castle-Ct-Houston-TX-77006/126296894_zpid/\"},\n    {\"url\": \"https://www.zillow.com/apartments/houston-tx/the-briscoe-river-oaks/5Xhrvw/\"}\n  ],\n  \"zpids\": [\"126296894\"],\n  \"addresses\": [\"1306 Castle Ct, Houston, TX 77006\"],\n  \"maxItems\": 10\n}\n```\n\n## Use cases\n\n- **Real estate investors** — pull for-sale, pending and price-reduced listings with tax, HOA and price-history context for deal screening.\n- **Real estate agents and brokers** — track new construction, open houses, FSBO and auction inventory in target neighborhoods.\n- **Property managers and landlords** — compare rental inventory, amenities, pet policies and floor-plan pricing in a market.\n- **Appraisers and analysts** — collect recently sold comps with sold dates, assessed values and school assignments for valuation work.\n- **Proptech and data teams** — feed normalized Zillow listing, tax and building data into CRMs, dashboards and valuation models.\n- **Relocation and home-search services** — build filtered shortlists by price, commute-relevant location, schools and amenities.\n\n## FAQ\n\n### Do I need a proxy, cookie or API key?\n\nNo. The actor reads publicly visible Zillow pages, chooses a working connection automatically and requires no credential or proxy setup.\n\n### What is the difference between BUY, RENT and SOLD?\n\n`BUY` searches active for-sale listings, `RENT` searches rentals, and `SOLD` searches recently sold listings. The mode applies to `search` and bare location URLs; pasted search URLs keep their own mode and filters.\n\n### How many listings can one search return?\n\nZillow's search exposes at most about 975 unique listings per query, across 24 pages of 41 rows. When `maxItems` is above 975 and Zillow reports more results, the actor splits the search into smaller price bands — and for rentals, by monthly payment, beds and days on Zillow — so it can keep collecting listings. Searches at or below that ceiling return the listings Zillow exposes directly.\n\n### Why is `soldPrice` missing for some sold listings?\n\nSome markets, including Houston, are non-disclosure markets, and Zillow does not publish a sold price there. The record keeps the sold date and status, and the actor never invents a price from Zestimate or price history.\n\n### Why are tax history, schools or HOA details missing on some records?\n\nZillow only publishes those details for some listings and markets. When a value is absent it is omitted from the record rather than filled from another field. Tax-history years are reported as calendar years.\n\n### Can I paste a Zillow search URL?\n\nYes. The actor reads the URL's search state and keeps its filters. If the URL points to page N, the actor starts from page 1 and pages forward up to `endPage`.\n\n### Can I use a `/b/` building URL?\n\nZillow blocks `/b/` building URLs for public access. Use the `/apartments/` URL for the same building instead; `/b/` URLs are skipped with a status note.\n\n### How current is the data?\n\nEvery record is read live at run time and includes a `scrapedAt` timestamp. Zillow's result count and ordering can drift between requests, so duplicates are removed within each run.\n\n### Are zero values removed?\n\nNo. Meaningful zero values such as `beds: 0` for a studio and false listing flags are kept. Only empty, null, sentinel and non-finite values are removed.\n\n### Are building reviews included?\n\nNo. Zillow does not expose building reviews on public building pages, so the actor does not emit them. Building details, floor plans, amenities and scores are included when available.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Zillow Properties",
          "fields": {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "Absolute Zillow property or building detail page URL"
              },
              "zpid": {
                "description": "Zillow Property ID (numeric for properties, string for buildings)"
              },
              "status": {
                "type": "string",
                "description": "Listing status (FOR_SALE, FOR_RENT, RECENTLY_SOLD, SOLD, etc.)"
              },
              "price": {
                "type": "integer",
                "nullable": true,
                "description": "Listing price in USD; never zero"
              },
              "zestimate": {
                "type": "integer",
                "nullable": true,
                "description": "Zillow estimated value"
              },
              "rentZestimate": {
                "type": "integer",
                "nullable": true,
                "description": "Zillow estimated monthly rent"
              },
              "beds": {
                "type": "integer",
                "nullable": true,
                "description": "Number of bedrooms"
              },
              "baths": {
                "type": "number",
                "nullable": true,
                "description": "Number of bathrooms"
              },
              "sqft": {
                "type": "integer",
                "nullable": true,
                "description": "Living area in square feet"
              },
              "lotSize": {
                "type": "string",
                "nullable": true,
                "description": "Formatted lot size, for example '8,000 sqft' or '0.25 acres'"
              },
              "yearBuilt": {
                "type": "integer",
                "nullable": true,
                "description": "Year the property was built"
              },
              "propertyType": {
                "type": "string",
                "nullable": true,
                "description": "Property type (SINGLE_FAMILY, CONDO, TOWNHOUSE, BUILDING, etc.)"
              },
              "stories": {
                "type": "integer",
                "nullable": true,
                "description": "Number of stories when the source provides it"
              },
              "parking": {
                "type": "string",
                "nullable": true,
                "description": "Parking features or capacity"
              },
              "address": {
                "type": "string",
                "description": "Street address"
              },
              "city": {
                "type": "string",
                "description": "City"
              },
              "state": {
                "type": "string",
                "description": "State abbreviation"
              },
              "zipCode": {
                "type": "string",
                "description": "ZIP code"
              },
              "latitude": {
                "type": "number",
                "nullable": true,
                "description": "GPS latitude"
              },
              "longitude": {
                "type": "number",
                "nullable": true,
                "description": "GPS longitude"
              },
              "daysOnZillow": {
                "type": "integer",
                "nullable": true,
                "description": "Days listed on Zillow"
              },
              "brokerName": {
                "type": "string",
                "nullable": true,
                "description": "Listing broker or brokerage name"
              },
              "agentName": {
                "type": "string",
                "nullable": true,
                "description": "Listing agent name"
              },
              "agentPhone": {
                "type": "string",
                "nullable": true,
                "description": "Listing agent phone number"
              },
              "description": {
                "type": "string",
                "nullable": true,
                "description": "Property or building description"
              },
              "photos": {
                "type": "array",
                "nullable": true,
                "description": "Absolute photo URLs"
              },
              "priceHistory": {
                "type": "array",
                "nullable": true,
                "description": "Price change history entries"
              },
              "taxHistory": {
                "type": "array",
                "nullable": true,
                "description": "Tax assessment history; year is the UTC calendar year derived from Zillow's epoch-millisecond timestamp"
              },
              "schools": {
                "type": "array",
                "nullable": true,
                "description": "Assigned schools with name, level, type, grades, distance and rating"
              },
              "features": {
                "type": "object",
                "nullable": true,
                "description": "Expanded RESO facts such as heating, cooling, appliances, basement, views, parking and construction details"
              },
              "hoaFee": {
                "type": "number",
                "nullable": true,
                "description": "Monthly HOA fee"
              },
              "pricePerSqft": {
                "type": "number",
                "nullable": true,
                "description": "Price per square foot"
              },
              "scrapedAt": {
                "type": "string",
                "description": "ISO timestamp when the record was collected"
              },
              "soldPrice": {
                "type": "integer",
                "nullable": true,
                "description": "Sold price when the market discloses it"
              },
              "lastSoldPrice": {
                "type": "integer",
                "nullable": true,
                "description": "Most recent recorded sold price from the property payload"
              },
              "dateSold": {
                "type": "string",
                "nullable": true,
                "description": "ISO date when the property sold"
              },
              "taxAssessedValue": {
                "type": "integer",
                "nullable": true,
                "description": "Tax assessed value"
              },
              "taxAnnualAmount": {
                "type": "integer",
                "nullable": true,
                "description": "Annual property tax amount"
              },
              "propertyTaxRate": {
                "type": "number",
                "nullable": true,
                "description": "Property tax rate as a percentage (1.75 = 1.75%)"
              },
              "parcelId": {
                "type": "string",
                "nullable": true,
                "description": "County parcel or assessor ID, including leading zeros"
              },
              "builderName": {
                "type": "string",
                "nullable": true,
                "description": "Home builder or developer name"
              },
              "agentEmail": {
                "type": "string",
                "nullable": true,
                "description": "Listing agent email when Zillow exposes it"
              },
              "priceChange": {
                "type": "integer",
                "nullable": true,
                "description": "Signed price change amount"
              },
              "priceChangeDate": {
                "type": "string",
                "nullable": true,
                "description": "ISO date of the last price change"
              },
              "openHouse": {
                "type": "array",
                "nullable": true,
                "description": "Open house entries with startTime and endTime"
              },
              "mlsName": {
                "type": "string",
                "nullable": true,
                "description": "MLS name"
              },
              "mlsId": {
                "type": "string",
                "nullable": true,
                "description": "MLS listing ID"
              },
              "photoCount": {
                "type": "integer",
                "nullable": true,
                "description": "Number of listing photos"
              },
              "virtualTour": {
                "type": "string",
                "nullable": true,
                "description": "Virtual tour or 3D home URL"
              },
              "homeInsights": {
                "type": "array",
                "nullable": true,
                "description": "Home insight phrases"
              },
              "neighborhood": {
                "type": "string",
                "nullable": true,
                "description": "Neighborhood name"
              },
              "county": {
                "type": "string",
                "nullable": true,
                "description": "County name"
              },
              "garageSpaces": {
                "type": "integer",
                "nullable": true,
                "description": "Garage parking capacity"
              },
              "unit": {
                "type": "string",
                "nullable": true,
                "description": "Unit number"
              },
              "has3DModel": {
                "type": "boolean",
                "nullable": true,
                "description": "Whether a 3D home model is available"
              },
              "listingFlags": {
                "type": "object",
                "nullable": true,
                "description": "Listing segment flags",
                "properties": {
                  "isForSaleByOwner": {
                    "type": "boolean"
                  },
                  "isForeclosure": {
                    "type": "boolean"
                  },
                  "isAuction": {
                    "type": "boolean"
                  },
                  "isNewConstruction": {
                    "type": "boolean"
                  },
                  "isPending": {
                    "type": "boolean"
                  },
                  "isListedByOwner": {
                    "type": "boolean"
                  },
                  "isComingSoon": {
                    "type": "boolean"
                  },
                  "isBankOwned": {
                    "type": "boolean"
                  }
                }
              },
              "building": {
                "type": "object",
                "nullable": true,
                "description": "Rental building detail",
                "properties": {
                  "name": {
                    "type": "string"
                  },
                  "type": {
                    "type": "string"
                  },
                  "phone": {
                    "type": "string"
                  },
                  "agentName": {
                    "type": "string"
                  },
                  "availabilityCount": {
                    "type": "integer"
                  },
                  "rentRange": {
                    "type": "object",
                    "properties": {
                      "min": {
                        "type": "integer"
                      },
                      "max": {
                        "type": "integer"
                      }
                    }
                  },
                  "floorPlans": {
                    "type": "array"
                  },
                  "walkScore": {
                    "type": "integer"
                  },
                  "transitScore": {
                    "type": "integer"
                  },
                  "bikeScore": {
                    "type": "integer"
                  },
                  "amenities": {
                    "type": "array"
                  },
                  "petPolicy": {
                    "type": "string"
                  },
                  "specialOffers": {
                    "type": "array"
                  },
                  "neighborhoodDescription": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "views": {
            "overview": {
              "title": "Properties",
              "transformation": {
                "fields": [
                  "address",
                  "price",
                  "soldPrice",
                  "beds",
                  "baths",
                  "sqft",
                  "propertyType",
                  "status",
                  "daysOnZillow",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "address": {
                    "label": "Address",
                    "format": "text"
                  },
                  "price": {
                    "label": "Price",
                    "format": "number"
                  },
                  "soldPrice": {
                    "label": "Sold Price",
                    "format": "number"
                  },
                  "beds": {
                    "label": "Beds",
                    "format": "number"
                  },
                  "baths": {
                    "label": "Baths",
                    "format": "number"
                  },
                  "sqft": {
                    "label": "Sqft",
                    "format": "number"
                  },
                  "propertyType": {
                    "label": "Type",
                    "format": "text"
                  },
                  "status": {
                    "label": "Status",
                    "format": "text"
                  },
                  "daysOnZillow": {
                    "label": "Days",
                    "format": "number"
                  },
                  "url": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            },
            "detail": {
              "title": "Detail",
              "transformation": {
                "fields": [
                  "taxAssessedValue",
                  "taxAnnualAmount",
                  "propertyTaxRate",
                  "parcelId",
                  "builderName",
                  "mlsName",
                  "mlsId",
                  "priceChange",
                  "openHouse",
                  "photoCount",
                  "building.name"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "taxAssessedValue": {
                    "label": "Tax Assessed",
                    "format": "number"
                  },
                  "taxAnnualAmount": {
                    "label": "Annual Tax",
                    "format": "number"
                  },
                  "propertyTaxRate": {
                    "label": "Tax Rate %",
                    "format": "number"
                  },
                  "parcelId": {
                    "label": "Parcel ID",
                    "format": "text"
                  },
                  "builderName": {
                    "label": "Builder",
                    "format": "text"
                  },
                  "mlsName": {
                    "label": "MLS",
                    "format": "text"
                  },
                  "mlsId": {
                    "label": "MLS ID",
                    "format": "text"
                  },
                  "priceChange": {
                    "label": "Price Change",
                    "format": "number"
                  },
                  "openHouse": {
                    "label": "Open House",
                    "format": "text"
                  },
                  "photoCount": {
                    "label": "Photos",
                    "format": "number"
                  },
                  "building.name": {
                    "label": "Building",
                    "format": "text"
                  }
                }
              }
            }
          }
        }
      }
    },
    "buildNumber": "1.1.1",
    "imageDigest": "5e4f174f034e3996d551cd7176ee4054587026fcdc446fb45896863b030f5b6b",
    "actVersion": {
      "sourceType": "TARBALL",
      "buildTag": "latest",
      "versionNumber": "1.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.011815555555555555
    }
  }
}