Nimbryxo Studio

Zillow For-Sale, Rent & Sold Listing Extractor

Search Zillow by city, state or ZIP for active, rental or recently sold listings, with pricing, Zestimate, agent, school, tax and price history for each property.

Input schema

Input fields, types, required flags, descriptions, defaults, and prefills come from the published definition. Prefill examples are distinct from defaults.

FieldTypeRequiredDescription
searchstringoptionalCity, ZIP, neighborhood, county or state to search (for example 'Houston, TX' or '77002').
modestringrequiredSearch active for-sale listings, rentals, or recently sold listings.
maxItemsintegeroptionalMaximum number of records for the whole run across all sources (1-5000).
Show all input fields
FieldTypeRequiredDescription
searchstringoptionalCity, ZIP, neighborhood, county or state to search (for example 'Houston, TX' or '77002').
modestringrequiredSearch active for-sale listings, rentals, or recently sold listings.
maxItemsintegeroptionalMaximum number of records for the whole run across all sources (1-5000).
endPageintegeroptionalMaximum search result pages per search task (1-24). Zillow returns up to 41 listings per page.
startUrlsarrayoptionalProperty detail URLs, /apartments/ building URLs, or Zillow search page URLs. Search URLs keep their own filters and mode.
zpidsarrayoptionalZillow property IDs or URLs containing _zpid. Each ZPID is resolved to its canonical detail page.
addressesarrayoptionalFull street addresses to resolve to Zillow property pages, for example '1306 Castle Ct, Houston, TX 77006'.
priceMinintegeroptionalMinimum listing price in US dollars.
priceMaxintegeroptionalMaximum listing price in US dollars.
bedsMinstringoptionalMinimum number of bedrooms.
bathsMinstringoptionalMinimum number of bathrooms.
sqftMinintegeroptionalMinimum living area in square feet.
sqftMaxintegeroptionalMaximum living area in square feet.
lotSizeMinstringoptionalMinimum lot size in square feet.
lotSizeMaxstringoptionalMaximum lot size in square feet.
yearBuiltMinintegeroptionalEarliest construction year.
yearBuiltMaxintegeroptionalLatest construction year.
hoaMaxintegeroptionalMaximum monthly HOA fee in US dollars.
parkingSpotsMinintegeroptionalMinimum number of parking spots (1-10).
propertyTypesarrayoptionalLimit results to selected property types. Leave empty for all homes.
daysOnZillowstringoptionalOnly include listings added within this period.
sortBystringoptionalResult order. Relevance uses Zillow's priority order in RENT mode.
fsboOnlybooleanoptionalOnly include for-sale-by-owner listings.
foreclosureOnlybooleanoptionalOnly include foreclosure listings.
auctionOnlybooleanoptionalOnly include auction listings.
newConstructionOnlybooleanoptionalOnly include new-construction listings.
includePendingbooleanoptionalAdd pending and under-contract listings to active results.
openHouseOnlybooleanoptionalOnly include listings with an open house.
priceReducedOnlybooleanoptionalOnly include listings with a price reduction.
keywordstringoptionalFree-text keyword to match in the listing, for example 'pool'.
amenitiesarrayoptionalOnly include listings with the selected amenities.
rentalFiltersarrayoptionalRent-only filters. Ignored with a status note outside RENT mode.
scrapeDetailsbooleanoptionalFetch 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.

Download the published input schema

View complete JSON
{
  "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.",
  "properties": {
    "addresses": {
      "description": "Full street addresses to resolve to Zillow property pages, for example '1306 Castle Ct, Houston, TX 77006'.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "Street Addresses",
      "type": "array"
    },
    "amenities": {
      "description": "Only include listings with the selected amenities.",
      "editor": "select",
      "items": {
        "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"
        ],
        "type": "string"
      },
      "title": "Amenities",
      "type": "array"
    },
    "auctionOnly": {
      "default": false,
      "description": "Only include auction listings.",
      "prefill": false,
      "title": "Auction Only",
      "type": "boolean"
    },
    "bathsMin": {
      "default": "any",
      "description": "Minimum number of bathrooms.",
      "editor": "select",
      "enum": [
        "any",
        "1",
        "1.5",
        "2",
        "2.5",
        "3",
        "4",
        "5"
      ],
      "enumTitles": [
        "Any",
        "1+",
        "1.5+",
        "2+",
        "2.5+",
        "3+",
        "4+",
        "5+"
      ],
      "title": "Minimum Bathrooms",
      "type": "string"
    },
    "bedsMin": {
      "default": "any",
      "description": "Minimum number of bedrooms.",
      "editor": "select",
      "enum": [
        "any",
        "1",
        "2",
        "3",
        "4",
        "5"
      ],
      "enumTitles": [
        "Any",
        "1+",
        "2+",
        "3+",
        "4+",
        "5+"
      ],
      "title": "Minimum Bedrooms",
      "type": "string"
    },
    "daysOnZillow": {
      "default": "any",
      "description": "Only include listings added within this period.",
      "editor": "select",
      "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"
      ],
      "title": "Days on Zillow",
      "type": "string"
    },
    "endPage": {
      "default": 5,
      "description": "Maximum search result pages per search task (1-24). Zillow returns up to 41 listings per page.",
      "maximum": 24,
      "minimum": 1,
      "prefill": 1,
      "title": "Maximum Pages",
      "type": "integer"
    },
    "foreclosureOnly": {
      "default": false,
      "description": "Only include foreclosure listings.",
      "prefill": false,
      "title": "Foreclosure Only",
      "type": "boolean"
    },
    "fsboOnly": {
      "default": false,
      "description": "Only include for-sale-by-owner listings.",
      "prefill": false,
      "title": "For Sale By Owner Only",
      "type": "boolean"
    },
    "hoaMax": {
      "description": "Maximum monthly HOA fee in US dollars.",
      "maximum": 10000,
      "minimum": 0,
      "title": "Maximum HOA Fee",
      "type": "integer"
    },
    "includePending": {
      "default": false,
      "description": "Add pending and under-contract listings to active results.",
      "prefill": false,
      "title": "Include Pending Listings",
      "type": "boolean"
    },
    "keyword": {
      "description": "Free-text keyword to match in the listing, for example 'pool'.",
      "editor": "textfield",
      "title": "Keyword",
      "type": "string"
    },
    "lotSizeMax": {
      "default": "any",
      "description": "Maximum lot size in square feet.",
      "editor": "select",
      "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"
      ],
      "title": "Maximum Lot Size",
      "type": "string"
    },
    "lotSizeMin": {
      "default": "any",
      "description": "Minimum lot size in square feet.",
      "editor": "select",
      "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"
      ],
      "title": "Minimum Lot Size",
      "type": "string"
    },
    "maxItems": {
      "default": 50,
      "description": "Maximum number of records for the whole run across all sources (1-5000).",
      "maximum": 5000,
      "minimum": 1,
      "prefill": 3,
      "title": "Maximum Properties",
      "type": "integer"
    },
    "mode": {
      "default": "BUY",
      "description": "Search active for-sale listings, rentals, or recently sold listings.",
      "editor": "select",
      "enum": [
        "BUY",
        "RENT",
        "SOLD"
      ],
      "enumTitles": [
        "For Sale (Buy)",
        "For Rent",
        "Recently Sold"
      ],
      "prefill": "BUY",
      "title": "Search Mode",
      "type": "string"
    },
    "newConstructionOnly": {
      "default": false,
      "description": "Only include new-construction listings.",
      "prefill": false,
      "title": "New Construction Only",
      "type": "boolean"
    },
    "openHouseOnly": {
      "default": false,
      "description": "Only include listings with an open house.",
      "prefill": false,
      "title": "Open House Only",
      "type": "boolean"
    },
    "parkingSpotsMin": {
      "description": "Minimum number of parking spots (1-10).",
      "maximum": 10,
      "minimum": 1,
      "title": "Minimum Parking Spots",
      "type": "integer"
    },
    "priceMax": {
      "description": "Maximum listing price in US dollars.",
      "maximum": 100000000,
      "minimum": 0,
      "title": "Maximum Price",
      "type": "integer"
    },
    "priceMin": {
      "description": "Minimum listing price in US dollars.",
      "maximum": 100000000,
      "minimum": 0,
      "sectionCaption": "Filters",
      "sectionDescription": "Filters are applied to location searches and search URLs through Zillow's searchQueryState.",
      "title": "Minimum Price",
      "type": "integer"
    },
    "priceReducedOnly": {
      "default": false,
      "description": "Only include listings with a price reduction.",
      "prefill": false,
      "title": "Price Reduced Only",
      "type": "boolean"
    },
    "propertyTypes": {
      "description": "Limit results to selected property types. Leave empty for all homes.",
      "editor": "select",
      "items": {
        "enum": [
          "house",
          "condo",
          "townhouse",
          "multiFamily",
          "manufactured",
          "lotLand",
          "apartment"
        ],
        "enumTitles": [
          "House",
          "Condo",
          "Townhouse",
          "Multi-family",
          "Manufactured",
          "Lot / Land",
          "Apartment"
        ],
        "type": "string"
      },
      "title": "Property Types",
      "type": "array"
    },
    "rentalFilters": {
      "description": "Rent-only filters. Ignored with a status note outside RENT mode.",
      "editor": "select",
      "items": {
        "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"
        ],
        "type": "string"
      },
      "sectionCaption": "Rental Filters",
      "sectionDescription": "These filters apply only to RENT searches.",
      "title": "Rental Filters",
      "type": "array"
    },
    "scrapeDetails": {
      "default": true,
      "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.",
      "prefill": false,
      "sectionCaption": "Options",
      "title": "Scrape Full Details",
      "type": "boolean"
    },
    "search": {
      "description": "City, ZIP, neighborhood, county or state to search (for example 'Houston, TX' or '77002').",
      "editor": "textfield",
      "prefill": "Houston, TX",
      "sectionCaption": "Search Settings",
      "sectionDescription": "Enter a location and choose a search mode. You can also use the lookup lists below or paste URLs.",
      "title": "Search Location",
      "type": "string"
    },
    "sortBy": {
      "default": "relevance",
      "description": "Result order. Relevance uses Zillow's priority order in RENT mode.",
      "editor": "select",
      "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"
      ],
      "title": "Sort By",
      "type": "string"
    },
    "sqftMax": {
      "description": "Maximum living area in square feet.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Maximum Square Feet",
      "type": "integer"
    },
    "sqftMin": {
      "description": "Minimum living area in square feet.",
      "maximum": 100000,
      "minimum": 0,
      "title": "Minimum Square Feet",
      "type": "integer"
    },
    "startUrls": {
      "default": [],
      "description": "Property detail URLs, /apartments/ building URLs, or Zillow search page URLs. Search URLs keep their own filters and mode.",
      "editor": "requestListSources",
      "items": {
        "properties": {
          "url": {
            "description": "Page URL to scrape.",
            "title": "URL",
            "type": "string"
          }
        },
        "type": "object"
      },
      "sectionCaption": "Lookup Lists",
      "sectionDescription": "Use any combination of URLs, ZPIDs and street addresses. Explicit detail sources are always enriched.",
      "title": "Start URLs",
      "type": "array"
    },
    "yearBuiltMax": {
      "description": "Latest construction year.",
      "maximum": 2026,
      "minimum": 1800,
      "title": "Built Before",
      "type": "integer"
    },
    "yearBuiltMin": {
      "description": "Earliest construction year.",
      "maximum": 2026,
      "minimum": 1800,
      "title": "Built After",
      "type": "integer"
    },
    "zpids": {
      "description": "Zillow property IDs or URLs containing _zpid. Each ZPID is resolved to its canonical detail page.",
      "editor": "stringList",
      "items": {
        "type": "string"
      },
      "title": "ZPIDs",
      "type": "array"
    }
  },
  "required": [
    "mode"
  ],
  "schemaVersion": 1,
  "title": "Zillow For-Sale, Rent & Sold Listing Extractor",
  "type": "object"
}

Output schema

Published result links and storage locations. This schema is not an exhaustive contract for every field in a dataset record.

FieldTypeRequiredDescription
propertiesstringoptionalDataset containing scraped property and rental-building listings

Download the published output schema

View complete JSON
{
  "actorOutputSchemaVersion": 1,
  "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": {
      "description": "Dataset containing scraped property and rental-building listings",
      "template": "{{links.apiDefaultDatasetUrl}}/items",
      "title": "Property Listings",
      "type": "string"
    }
  },
  "title": "Zillow For-Sale, Rent & Sold Listing Extractor Output"
}

Dataset schema

Published dataset views and any declared field definitions. A view can select only a subset of the returned record fields.

Download the published dataset schema

View complete JSON
{
  "actorSpecification": 1,
  "fields": {
    "properties": {
      "address": {
        "description": "Street address",
        "type": "string"
      },
      "agentEmail": {
        "description": "Listing agent email when Zillow exposes it",
        "nullable": true,
        "type": "string"
      },
      "agentName": {
        "description": "Listing agent name",
        "nullable": true,
        "type": "string"
      },
      "agentPhone": {
        "description": "Listing agent phone number",
        "nullable": true,
        "type": "string"
      },
      "baths": {
        "description": "Number of bathrooms",
        "nullable": true,
        "type": "number"
      },
      "beds": {
        "description": "Number of bedrooms",
        "nullable": true,
        "type": "integer"
      },
      "brokerName": {
        "description": "Listing broker or brokerage name",
        "nullable": true,
        "type": "string"
      },
      "builderName": {
        "description": "Home builder or developer name",
        "nullable": true,
        "type": "string"
      },
      "building": {
        "description": "Rental building detail",
        "nullable": true,
        "properties": {
          "agentName": {
            "type": "string"
          },
          "amenities": {
            "type": "array"
          },
          "availabilityCount": {
            "type": "integer"
          },
          "bikeScore": {
            "type": "integer"
          },
          "floorPlans": {
            "type": "array"
          },
          "name": {
            "type": "string"
          },
          "neighborhoodDescription": {
            "type": "string"
          },
          "petPolicy": {
            "type": "string"
          },
          "phone": {
            "type": "string"
          },
          "rentRange": {
            "properties": {
              "max": {
                "type": "integer"
              },
              "min": {
                "type": "integer"
              }
            },
            "type": "object"
          },
          "specialOffers": {
            "type": "array"
          },
          "transitScore": {
            "type": "integer"
          },
          "type": {
            "type": "string"
          },
          "walkScore": {
            "type": "integer"
          }
        },
        "type": "object"
      },
      "city": {
        "description": "City",
        "type": "string"
      },
      "county": {
        "description": "County name",
        "nullable": true,
        "type": "string"
      },
      "dateSold": {
        "description": "ISO date when the property sold",
        "nullable": true,
        "type": "string"
      },
      "daysOnZillow": {
        "description": "Days listed on Zillow",
        "nullable": true,
        "type": "integer"
      },
      "description": {
        "description": "Property or building description",
        "nullable": true,
        "type": "string"
      },
      "features": {
        "description": "Expanded RESO facts such as heating, cooling, appliances, basement, views, parking and construction details",
        "nullable": true,
        "type": "object"
      },
      "garageSpaces": {
        "description": "Garage parking capacity",
        "nullable": true,
        "type": "integer"
      },
      "has3DModel": {
        "description": "Whether a 3D home model is available",
        "nullable": true,
        "type": "boolean"
      },
      "hoaFee": {
        "description": "Monthly HOA fee",
        "nullable": true,
        "type": "number"
      },
      "homeInsights": {
        "description": "Home insight phrases",
        "nullable": true,
        "type": "array"
      },
      "lastSoldPrice": {
        "description": "Most recent recorded sold price from the property payload",
        "nullable": true,
        "type": "integer"
      },
      "latitude": {
        "description": "GPS latitude",
        "nullable": true,
        "type": "number"
      },
      "listingFlags": {
        "description": "Listing segment flags",
        "nullable": true,
        "properties": {
          "isAuction": {
            "type": "boolean"
          },
          "isBankOwned": {
            "type": "boolean"
          },
          "isComingSoon": {
            "type": "boolean"
          },
          "isForSaleByOwner": {
            "type": "boolean"
          },
          "isForeclosure": {
            "type": "boolean"
          },
          "isListedByOwner": {
            "type": "boolean"
          },
          "isNewConstruction": {
            "type": "boolean"
          },
          "isPending": {
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "longitude": {
        "description": "GPS longitude",
        "nullable": true,
        "type": "number"
      },
      "lotSize": {
        "description": "Formatted lot size, for example '8,000 sqft' or '0.25 acres'",
        "nullable": true,
        "type": "string"
      },
      "mlsId": {
        "description": "MLS listing ID",
        "nullable": true,
        "type": "string"
      },
      "mlsName": {
        "description": "MLS name",
        "nullable": true,
        "type": "string"
      },
      "neighborhood": {
        "description": "Neighborhood name",
        "nullable": true,
        "type": "string"
      },
      "openHouse": {
        "description": "Open house entries with startTime and endTime",
        "nullable": true,
        "type": "array"
      },
      "parcelId": {
        "description": "County parcel or assessor ID, including leading zeros",
        "nullable": true,
        "type": "string"
      },
      "parking": {
        "description": "Parking features or capacity",
        "nullable": true,
        "type": "string"
      },
      "photoCount": {
        "description": "Number of listing photos",
        "nullable": true,
        "type": "integer"
      },
      "photos": {
        "description": "Absolute photo URLs",
        "nullable": true,
        "type": "array"
      },
      "price": {
        "description": "Listing price in USD; never zero",
        "nullable": true,
        "type": "integer"
      },
      "priceChange": {
        "description": "Signed price change amount",
        "nullable": true,
        "type": "integer"
      },
      "priceChangeDate": {
        "description": "ISO date of the last price change",
        "nullable": true,
        "type": "string"
      },
      "priceHistory": {
        "description": "Price change history entries",
        "nullable": true,
        "type": "array"
      },
      "pricePerSqft": {
        "description": "Price per square foot",
        "nullable": true,
        "type": "number"
      },
      "propertyTaxRate": {
        "description": "Property tax rate as a percentage (1.75 = 1.75%)",
        "nullable": true,
        "type": "number"
      },
      "propertyType": {
        "description": "Property type (SINGLE_FAMILY, CONDO, TOWNHOUSE, BUILDING, etc.)",
        "nullable": true,
        "type": "string"
      },
      "rentZestimate": {
        "description": "Zillow estimated monthly rent",
        "nullable": true,
        "type": "integer"
      },
      "schools": {
        "description": "Assigned schools with name, level, type, grades, distance and rating",
        "nullable": true,
        "type": "array"
      },
      "scrapedAt": {
        "description": "ISO timestamp when the record was collected",
        "type": "string"
      },
      "soldPrice": {
        "description": "Sold price when the market discloses it",
        "nullable": true,
        "type": "integer"
      },
      "sqft": {
        "description": "Living area in square feet",
        "nullable": true,
        "type": "integer"
      },
      "state": {
        "description": "State abbreviation",
        "type": "string"
      },
      "status": {
        "description": "Listing status (FOR_SALE, FOR_RENT, RECENTLY_SOLD, SOLD, etc.)",
        "type": "string"
      },
      "stories": {
        "description": "Number of stories when the source provides it",
        "nullable": true,
        "type": "integer"
      },
      "taxAnnualAmount": {
        "description": "Annual property tax amount",
        "nullable": true,
        "type": "integer"
      },
      "taxAssessedValue": {
        "description": "Tax assessed value",
        "nullable": true,
        "type": "integer"
      },
      "taxHistory": {
        "description": "Tax assessment history; year is the UTC calendar year derived from Zillow's epoch-millisecond timestamp",
        "nullable": true,
        "type": "array"
      },
      "unit": {
        "description": "Unit number",
        "nullable": true,
        "type": "string"
      },
      "url": {
        "description": "Absolute Zillow property or building detail page URL",
        "type": "string"
      },
      "virtualTour": {
        "description": "Virtual tour or 3D home URL",
        "nullable": true,
        "type": "string"
      },
      "yearBuilt": {
        "description": "Year the property was built",
        "nullable": true,
        "type": "integer"
      },
      "zestimate": {
        "description": "Zillow estimated value",
        "nullable": true,
        "type": "integer"
      },
      "zipCode": {
        "description": "ZIP code",
        "type": "string"
      },
      "zpid": {
        "description": "Zillow Property ID (numeric for properties, string for buildings)"
      }
    },
    "type": "object"
  },
  "title": "Zillow Properties",
  "views": {
    "detail": {
      "display": {
        "component": "table",
        "properties": {
          "builderName": {
            "format": "text",
            "label": "Builder"
          },
          "building.name": {
            "format": "text",
            "label": "Building"
          },
          "mlsId": {
            "format": "text",
            "label": "MLS ID"
          },
          "mlsName": {
            "format": "text",
            "label": "MLS"
          },
          "openHouse": {
            "format": "text",
            "label": "Open House"
          },
          "parcelId": {
            "format": "text",
            "label": "Parcel ID"
          },
          "photoCount": {
            "format": "number",
            "label": "Photos"
          },
          "priceChange": {
            "format": "number",
            "label": "Price Change"
          },
          "propertyTaxRate": {
            "format": "number",
            "label": "Tax Rate %"
          },
          "taxAnnualAmount": {
            "format": "number",
            "label": "Annual Tax"
          },
          "taxAssessedValue": {
            "format": "number",
            "label": "Tax Assessed"
          }
        }
      },
      "title": "Detail",
      "transformation": {
        "fields": [
          "taxAssessedValue",
          "taxAnnualAmount",
          "propertyTaxRate",
          "parcelId",
          "builderName",
          "mlsName",
          "mlsId",
          "priceChange",
          "openHouse",
          "photoCount",
          "building.name"
        ]
      }
    },
    "overview": {
      "display": {
        "component": "table",
        "properties": {
          "address": {
            "format": "text",
            "label": "Address"
          },
          "baths": {
            "format": "number",
            "label": "Baths"
          },
          "beds": {
            "format": "number",
            "label": "Beds"
          },
          "daysOnZillow": {
            "format": "number",
            "label": "Days"
          },
          "price": {
            "format": "number",
            "label": "Price"
          },
          "propertyType": {
            "format": "text",
            "label": "Type"
          },
          "soldPrice": {
            "format": "number",
            "label": "Sold Price"
          },
          "sqft": {
            "format": "number",
            "label": "Sqft"
          },
          "status": {
            "format": "text",
            "label": "Status"
          },
          "url": {
            "format": "link",
            "label": "URL"
          }
        }
      },
      "title": "Properties",
      "transformation": {
        "fields": [
          "address",
          "price",
          "soldPrice",
          "beds",
          "baths",
          "sqft",
          "propertyType",
          "status",
          "daysOnZillow",
          "url"
        ]
      }
    }
  }
}

Key-value schema

Published key-value store definitions, when provided by this build.

This definition is not present in the default published build. See the published README for available documentation.

Published README

Read the full published documentation

Zillow For-Sale, Rent & Sold Listing Extractor

Scrape 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.

This actor is independent and is not affiliated with Zillow. It reads publicly visible pages and requires no login, cookie or proxy configuration.

What this actor does

  • Three search modes: active for-sale (BUY), rental (RENT) and recently sold (SOLD) listings by location.
  • Flexible lookups: property detail URLs, /apartments/ building URLs, Zillow search URLs, ZPIDs and full street addresses.
  • 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.
  • Rich detail: tax history, schools, RESO features, price history, MLS data, open houses, photos, virtual tours, building floor plans and walk/transit/bike scores.
  • Empty fields are omitted — records contain only populated values, and duplicate properties are merged by ZPID and canonical URL.

Output per property

Each 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.

Core fields

Field Type Description
url String Absolute Zillow detail URL.
zpid Number or String Numeric for properties; string for buildings.
status String Listing status such as FOR_SALE, FOR_RENT, RECENTLY_SOLD or SOLD.
price Integer Listing price; never zero. For sold records, the sold price when disclosed.
zestimate Integer Zillow estimated value.
rentZestimate Integer Zillow estimated monthly rent.
beds Integer Bedrooms.
baths Number Bathrooms.
sqft Integer Living area in square feet.
lotSize String Formatted lot size, for example 1,846 sqft or 0.27 acres.
yearBuilt Integer Construction year.
propertyType String SINGLE_FAMILY, CONDO, TOWNHOUSE, BUILDING, etc.
stories Integer Stories when Zillow provides them.
parking String Parking features or capacity.
address, city, state, zipCode String Address components.
latitude, longitude Number Coordinates.
daysOnZillow Integer Days on Zillow.
brokerName, agentName, agentPhone String Listing attribution.
description String Property or building description.
photos Array Absolute photo URLs.
priceHistory Array Price events with date, event, price, pricePerSqft, priceChangeRate and source.
taxHistory Array Tax records with year, taxPaid, value, taxIncreaseRate and valueIncreaseRate.
schools Array Assigned schools preferred; each entry keeps name, level, type, grades, distance and rating.
features Object Expanded RESO facts: heating, cooling, appliances, flooring, basement, parking, pool, views, construction, lot and similar details when present.
hoaFee Number Monthly HOA fee.
pricePerSqft Number Price per square foot.
scrapedAt String ISO timestamp; always present.

Additive fields

Field Type Description
soldPrice Integer Sold price when the market discloses it.
lastSoldPrice Integer Most recent recorded sold price from the property payload.
dateSold String ISO sold date.
taxAssessedValue Integer Tax assessed value.
taxAnnualAmount Integer Annual property tax amount.
parcelId String County parcel or assessor ID, preserving leading zeros.
builderName String Home builder or developer when exposed.
agentEmail String Listing agent email when Zillow exposes it.
propertyTaxRate Number Percentage tax rate (1.75 means 1.75%).
priceChange Integer Signed price change.
priceChangeDate String ISO date of the last price change.
openHouse Array Entries with startTime, endTime and optional description.
mlsName, mlsId String MLS attribution.
photoCount Integer Number of photos.
virtualTour String Virtual tour or 3D home URL.
homeInsights Array Insight phrases.
neighborhood, county String Location context.
garageSpaces Integer Garage capacity.
unit String Unit number.
has3DModel Boolean Whether a 3D model is available.
listingFlags Object isForSaleByOwner, isForeclosure, isAuction, isNewConstruction, isPending, isListedByOwner, isComingSoon, isBankOwned.
building Object Rental-building detail; see below.

Building object

Field Type Description
building.name String Building name.
building.type String Building type.
building.phone String Leasing phone number.
building.agentName String Leasing contact name.
building.availabilityCount Integer Number of available units.
building.rentRange Object min and max monthly rent.
building.floorPlans Array Available units; see below.
building.walkScore Integer Walk Score.
building.transitScore Integer Transit score.
building.bikeScore Integer Bike score.
building.amenities Array Building and community amenities.
building.petPolicy String Pet policy.
building.specialOffers Array Leasing specials.
building.neighborhoodDescription String Neighborhood overview.

Each building.floorPlans entry can include floorPlanName, unitNumber, beds, baths, sqft, price, baseRent, availableFrom, leaseTerm, deposit and fees (min and max).

Input

All inputs are optional individually, but at least one source is required: search, startUrls, zpids or addresses.

Field Type Default Description
search String – City, ZIP, neighborhood, county or state to search. Prefill: Houston, TX.
mode Select BUY BUY, RENT or SOLD. Applies to search and bare location URLs.
maxItems Integer 50 (prefill 3) Maximum records for the whole run (1-5000), across all sources.
endPage Integer 5 (prefill 1) Maximum search pages per task (1-24). Zillow returns up to 41 listings per page.
startUrls URL list [] Property detail URLs, /apartments/ building URLs or Zillow search-page URLs. Search URLs keep their own filters and mode.
zpids String list – ZPID values or URLs containing _zpid. Each is resolved to its detail page.
addresses String list – Full street addresses, for example 1306 Castle Ct, Houston, TX 77006.
priceMin Integer – Minimum listing price in US dollars.
priceMax Integer – Maximum listing price in US dollars.
bedsMin Select any Minimum bedrooms: any, 1, 2, 3, 4, 5.
bathsMin Select any Minimum bathrooms: any, 1, 1.5, 2, 2.5, 3, 4, 5.
sqftMin Integer – Minimum living area in square feet.
sqftMax Integer – Maximum living area in square feet.
lotSizeMin Select any Minimum lot size: any, 2000, 5000, 10890, 21780, 43560, 87120 square feet.
lotSizeMax Select any Maximum lot size: any, 2000, 5000, 10890, 21780, 43560, 87120 square feet.
yearBuiltMin Integer – Earliest construction year.
yearBuiltMax Integer – Latest construction year.
hoaMax Integer – Maximum monthly HOA fee.
parkingSpotsMin Integer – Minimum parking spots (1-10).
propertyTypes Multi-select – house, condo, townhouse, multiFamily, manufactured, lotLand, apartment. Empty means all homes.
daysOnZillow Select any any, 1, 7, 14, 30, 90, 180, 365, 730, 1095 days.
sortBy Select relevance relevance, priceLow, priceHigh, newest, zestimate, zestimateLow. RENT relevance uses Zillow's priority order.
fsboOnly Boolean false Only for-sale-by-owner listings.
foreclosureOnly Boolean false Only foreclosure listings.
auctionOnly Boolean false Only auction listings.
newConstructionOnly Boolean false Only new-construction listings.
includePending Boolean false Add pending and under-contract listings to active results.
openHouseOnly Boolean false Only listings with an open house.
priceReducedOnly Boolean false Only listings with a price reduction.
keyword String – Free-text keyword, for example pool.
amenities Multi-select – pool, garage, airConditioning, waterfront, cityView, threeDHome, age55Plus, singleStory, basementFinished, basementUnfinished, waterView, mountainView, parkView.
rentalFilters Multi-select – Rent-only: pets, furnished, parking, inUnitLaundry, shortTerm, noPets, byOwner, incomeRestricted, studentHousing, onlyRentalSeniorHousingType, hasFitnessCenter, hasDishwasher, onlyRentalInstantTourAvailable, hasAcceptingBackupOffers.
scrapeDetails Boolean true (prefill false) Enrich search results with detail data. Explicit URLs, ZPIDs and addresses are always enriched.

Inverted 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.

Example: buy search with filters

{
  "search": "Houston, TX",
  "mode": "BUY",
  "maxItems": 100,
  "endPage": 5,
  "priceMin": 500000,
  "priceMax": 800000,
  "bedsMin": "3",
  "bathsMin": "2",
  "amenities": ["pool"],
  "daysOnZillow": "30",
  "sortBy": "newest",
  "scrapeDetails": true
}

Example: pet-friendly rentals with rental filters

{
  "search": "Miami, FL",
  "mode": "RENT",
  "maxItems": 50,
  "rentalFilters": ["pets", "parking", "furnished"],
  "scrapeDetails": false
}

Example: recently sold comps

{
  "search": "Miami, FL",
  "mode": "SOLD",
  "maxItems": 50,
  "endPage": 2,
  "scrapeDetails": true
}

Example: direct property, building and ZPID lookups

{
  "startUrls": [
    {"url": "https://www.zillow.com/homedetails/1306-Castle-Ct-Houston-TX-77006/126296894_zpid/"},
    {"url": "https://www.zillow.com/apartments/houston-tx/the-briscoe-river-oaks/5Xhrvw/"}
  ],
  "zpids": ["126296894"],
  "addresses": ["1306 Castle Ct, Houston, TX 77006"],
  "maxItems": 10
}

Use cases

  • Real estate investors — pull for-sale, pending and price-reduced listings with tax, HOA and price-history context for deal screening.
  • Real estate agents and brokers — track new construction, open houses, FSBO and auction inventory in target neighborhoods.
  • Property managers and landlords — compare rental inventory, amenities, pet policies and floor-plan pricing in a market.
  • Appraisers and analysts — collect recently sold comps with sold dates, assessed values and school assignments for valuation work.
  • Proptech and data teams — feed normalized Zillow listing, tax and building data into CRMs, dashboards and valuation models.
  • Relocation and home-search services — build filtered shortlists by price, commute-relevant location, schools and amenities.

FAQ

No. The actor reads publicly visible Zillow pages, chooses a working connection automatically and requires no credential or proxy setup.

What is the difference between BUY, RENT and SOLD?

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.

How many listings can one search return?

Zillow'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.

Why is soldPrice missing for some sold listings?

Some 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.

Why are tax history, schools or HOA details missing on some records?

Zillow 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.

Can I paste a Zillow search URL?

Yes. 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.

Can I use a /b/ building URL?

Zillow blocks /b/ building URLs for public access. Use the /apartments/ URL for the same building instead; /b/ URLs are skipped with a status note.

How current is the data?

Every 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.

Are zero values removed?

No. 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.

Are building reviews included?

No. 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.

Python quickstart

Use a schema-derived input and the Python standard library to start a run. An Apify account and token are required for execution.

Open the step-by-step Python guide →

Source build v5Agvw4nDcoJLthFF. Documentation is regenerated from the default published build; private drafts are not included.