{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper — Listings, Rentals, Sold & Agent Contacts",
    "description": "Scrape Zillow homes for sale, rentals and sold homes by city, ZIP, neighborhood or search URL: price, Zestimate, beds, baths, area, photos, history, agent contacts. Export to JSON, CSV or Excel.",
    "version": "0.0",
    "x-build-id": "EaWbfO2mRXsOVX6aN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nice_dev~zillow-listings-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nice_dev-zillow-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/nice_dev~zillow-listings-scraper/runs": {
      "post": {
        "operationId": "runs-sync-nice_dev-zillow-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/nice_dev~zillow-listings-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-nice_dev-zillow-listings-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "startUrls": {
            "title": "Zillow URLs",
            "maxItems": 1000,
            "type": "array",
            "description": "Zillow search URLs copied from your browser after setting filters on the map (`https://www.zillow.com/seattle-wa/rentals/?searchQueryState=…`), property pages (`https://www.zillow.com/homedetails/…_zpid/`) or building pages (`https://www.zillow.com/apartments/seattle-wa/nordic-falk/5XjDkh/`, `https://www.zillow.com/b/escala-seattle-wa-CkMW6C/`: one result for the building, one per unit with the option One row per unit). Filters written in a search URL are kept, including a map area you drew. When this list is not empty, the location fields below are ignored (zpids, addresses and the dataset still add to it); caps, post-filters and monitoring still apply. A search URL pasted at several pages (the end of the path, as in /seattle-wa/3_p/) is one search, read once from its first page.",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "location": {
            "title": "Location",
            "maxLength": 200,
            "type": "string",
            "description": "City, ZIP code, neighborhood, county or state, as typed in Zillow's search box (e.g. `Seattle, WA`, `98103`, `Capitol Hill, Seattle, WA`, `King County, WA`). The whole area is read: large areas are split into map tiles automatically, past Zillow's 500 / 820 results cap. Empty = only the locations listed below."
          },
          "locations": {
            "title": "More locations",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "More locations searched in the same run (same format as Location). They add to the field above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "zpids": {
            "title": "Zillow property IDs (zpid)",
            "maxItems": 10000,
            "type": "array",
            "description": "Read these properties directly by Zillow ID (`49125964`, the number in `…/49125964_zpid/`). Each one gives one result with the details. Can be combined with a search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "addresses": {
            "title": "Addresses",
            "maxItems": 10000,
            "type": "array",
            "description": "Read these properties directly by full street address (`6220 2nd Ave NW, Seattle, WA 98107`). Each one gives one result with the details. Can be combined with a search.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchResultsDatasetId": {
            "title": "Dataset of Zillow listings",
            "maxLength": 100,
            "type": "string",
            "description": "ID of an Apify dataset that holds Zillow listings (with `url` or `zpid`), e.g. from a previous run of this Actor: each listing is read again with its details."
          },
          "listingStatus": {
            "title": "Listing status",
            "enum": [
              "for_sale",
              "for_rent",
              "sold"
            ],
            "type": "string",
            "description": "Which listings to search: for sale, for rent, or recently sold.",
            "default": "for_sale"
          },
          "query": {
            "title": "Keywords",
            "maxLength": 200,
            "type": "string",
            "description": "Words Zillow must find in the listing (its own keyword filter, e.g. `waterfront`, `ADU`). Empty = no keyword filter."
          },
          "searchQueries": {
            "title": "More keywords",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "More keyword searches in the same run. Each one is searched in every location (keywords × locations ≤ 500 searches).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max listings",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of listings to save for the whole run (after deduplication and filters). 0 = no limit.",
            "default": 100
          },
          "maxItemsPerQuery": {
            "title": "Max listings per search",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Cap for EACH search (keyword × location, or search URL), so that the first search cannot use up the whole **Max listings** budget. 0 = no per-search cap.",
            "default": 0
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "newest",
              "relevance",
              "price_low",
              "price_high",
              "beds",
              "baths",
              "sqft",
              "lot_size",
              "zestimate_high",
              "zestimate_low"
            ],
            "type": "string",
            "description": "Order Zillow returns the listings in. Newest first is the one to use for monitoring; with a cap of up to 820 listings per search, it decides which listings you get (a run that asks for more than the list pages can give, 820 listings and fewer when your filters or Only new listings skip some, reads the map in parts, and the order is then no longer kept).",
            "default": "newest"
          },
          "extractDetails": {
            "title": "Add property details",
            "type": "boolean",
            "description": "Add the full property record to each result: description, all photos, price history, tax history, nearby schools, facts and features, HOA, parcel number, mortgage rates, walk / transit / bike score. One extra light request per listing, charged as a separate event (`result-with-details` instead of `result`). Off = the search card only, which already carries price, Zestimate, rent Zestimate, tax assessed value, beds, baths, area, GPS and broker name.",
            "default": false
          },
          "includeAgentContact": {
            "title": "Add agent and broker contact",
            "type": "boolean",
            "description": "Add the listing agent's name, phone and license number, the co-agent, the brokerage and its phone, the MLS name and ID, and for sold homes the buyer's agent and brokerage. For sale-by-owner listings, the owner's name and phone as shown on Zillow. Read from the same request as the details. Charged per listing where a phone is delivered (`agent-contact`); listings without one are not charged for it.",
            "default": false
          },
          "includeComparables": {
            "title": "Add comparable homes",
            "type": "boolean",
            "description": "Add the comparable homes Zillow uses for the Zestimate (up to 5: address, price, beds, baths, area, status) and nearby homes. One more small request per listing, charged per listing that has comparables (`comparables`).",
            "default": false
          },
          "extractBuildingUnits": {
            "title": "Add building units",
            "type": "boolean",
            "description": "Rentals and condos: open each building / community page to add every available unit (unit, beds, baths, price, area, move-in date), floor plans, building photos, amenities and assigned schools. One extra page per building, charged per building (`building-units`).",
            "default": false
          },
          "oneRowPerUnit": {
            "title": "One row per unit",
            "type": "boolean",
            "description": "With Add building units: one result per unit instead of one per building.",
            "default": false
          },
          "includeClimateRisk": {
            "title": "Add climate risk",
            "type": "boolean",
            "description": "Add flood, fire, wind, air and heat risk scores (First Street, shown on Zillow), with the FEMA flood zone. One more small request per listing, charged per listing with scores (`climate-risk`).",
            "default": false
          },
          "includeHomeInsights": {
            "title": "Add home highlights",
            "type": "boolean",
            "description": "Add Zillow's short highlights of the home (e.g. `Updated kitchen`, `Fenced yard`). One more request per listing, charged per listing with highlights (`home-insights`).",
            "default": false
          },
          "includeListingStats": {
            "title": "Add listing views and saves",
            "type": "boolean",
            "description": "Add how many times the listing was viewed and saved on Zillow. Read from the same request as the details. Charged per listing where the counts are delivered (`listing-stats`).",
            "default": false
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Listing price, in US dollars. For rentals this is the monthly rent."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Listing price, in US dollars. For rentals this is the monthly rent."
          },
          "minBedrooms": {
            "title": "Min bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "maxBedrooms": {
            "title": "Max bedrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "minBathrooms": {
            "title": "Min bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "maxBathrooms": {
            "title": "Max bathrooms",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum number of bathrooms."
          },
          "minSqft": {
            "title": "Min living area",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Minimum living area, in square feet."
          },
          "maxSqft": {
            "title": "Max living area",
            "minimum": 0,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum living area, in square feet."
          },
          "minLotSize": {
            "title": "Min lot size",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Minimum lot size, in square feet (1 acre = 43,560 sqft)."
          },
          "maxLotSize": {
            "title": "Max lot size",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Maximum lot size, in square feet (1 acre = 43,560 sqft)."
          },
          "minYearBuilt": {
            "title": "Built after",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Minimum year built."
          },
          "maxYearBuilt": {
            "title": "Built before",
            "minimum": 1700,
            "maximum": 2100,
            "type": "integer",
            "description": "Maximum year built."
          },
          "maxHoaFee": {
            "title": "Max HOA fee",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum monthly homeowners association fee, in US dollars."
          },
          "minHoaFee": {
            "title": "Min HOA fee",
            "minimum": 0,
            "maximum": 100000,
            "type": "integer",
            "description": "Minimum monthly homeowners association fee, in US dollars."
          },
          "includeHomesWithNoHoaData": {
            "title": "Keep homes with no HOA data",
            "type": "boolean",
            "description": "With an HOA fee filter: also keep homes whose HOA fee is unknown.",
            "default": true
          },
          "minParkingSpots": {
            "title": "Min parking spots",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Minimum number of parking spots. For sale and sold listings Zillow applies it. On rentals this filter needs the property page: tick Add property details (or another option that reads the property page), otherwise it is ignored on the listings of a search and the run log says so (a listing asked by id, a zpid, a listing URL or an address, always has its page read, so it is filtered anyway); the Actor then drops the rentals below (a small filter check is charged for each dropped listing)."
          },
          "homeTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Keep only these property types. Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "single_family",
                "townhouse",
                "condo",
                "multi_family",
                "apartment",
                "land",
                "manufactured"
              ],
              "enumTitles": [
                "Houses",
                "Townhomes",
                "Condos / co-ops",
                "Multi-family",
                "Apartments",
                "Lots / land",
                "Manufactured"
              ]
            },
            "default": []
          },
          "listingTypes": {
            "title": "Listing types (for sale)",
            "type": "array",
            "description": "For sale searches. Empty = Zillow's default (agent, owner, new construction, foreclosure, auction, coming soon). Ticking agent, owner, new construction, foreclosure, auction or coming soon narrows the search to the ticked ones; pending / under contract, pre-foreclosure, foreclosed and accepting backup offers are off by default and are added to the active listings when ticked.",
            "items": {
              "type": "string",
              "enum": [
                "by_agent",
                "by_owner",
                "new_construction",
                "foreclosure",
                "auction",
                "coming_soon",
                "pending",
                "pre_foreclosure",
                "foreclosed",
                "accepting_backup_offers"
              ],
              "enumTitles": [
                "By agent",
                "By owner (FSBO)",
                "New construction",
                "Foreclosures",
                "Auctions",
                "Coming soon",
                "Pending & under contract",
                "Pre-foreclosures",
                "Foreclosed (bank-owned)",
                "Accepting backup offers"
              ]
            },
            "default": []
          },
          "daysOnZillow": {
            "title": "Days on Zillow / sold in last",
            "enum": [
              "any",
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m",
              "24m",
              "36m"
            ],
            "type": "string",
            "description": "For sale and rent: listed in the last N days. For sold homes: sold in the last N days (Zillow's own filter).",
            "default": "any"
          },
          "openHousesOnly": {
            "title": "Open houses only",
            "type": "boolean",
            "description": "Only listings with an open house scheduled.",
            "default": false
          },
          "virtualTourOnly": {
            "title": "3D tour only",
            "type": "boolean",
            "description": "Only listings with a 3D home tour.",
            "default": false
          },
          "priceReducedOnly": {
            "title": "Price cuts only",
            "type": "boolean",
            "description": "Only listings whose price was reduced.",
            "default": false
          },
          "hasGarage": {
            "title": "Garage",
            "type": "boolean",
            "description": "Only homes with a garage.",
            "default": false
          },
          "hasPool": {
            "title": "Pool",
            "type": "boolean",
            "description": "Only homes with a pool.",
            "default": false
          },
          "hasAirConditioning": {
            "title": "Air conditioning",
            "type": "boolean",
            "description": "Only homes with air conditioning.",
            "default": false
          },
          "hasWaterView": {
            "title": "Water view",
            "type": "boolean",
            "description": "Only homes with a water view.",
            "default": false
          },
          "hasBasement": {
            "title": "Finished basement",
            "type": "boolean",
            "description": "Only homes with a finished basement.",
            "default": false
          },
          "isSingleStory": {
            "title": "Single story",
            "type": "boolean",
            "description": "Only single-story homes.",
            "default": false
          },
          "isWaterfront": {
            "title": "Waterfront",
            "type": "boolean",
            "description": "Only waterfront homes.",
            "default": false
          },
          "hasUnfinishedBasement": {
            "title": "Unfinished basement",
            "type": "boolean",
            "description": "Only homes with an unfinished basement.",
            "default": false
          },
          "views": {
            "title": "Views",
            "type": "array",
            "description": "Only homes with one of these views. Empty = any.",
            "items": {
              "type": "string",
              "enum": [
                "city",
                "mountain",
                "park",
                "water"
              ],
              "enumTitles": [
                "City",
                "Mountain",
                "Park",
                "Water"
              ]
            },
            "default": []
          },
          "showcaseOnly": {
            "title": "Showcase only",
            "type": "boolean",
            "description": "Only Zillow Showcase listings (premium photos and tours).",
            "default": false
          },
          "onlyWithPhotos": {
            "title": "With photos only",
            "type": "boolean",
            "description": "Only listings that have photos.",
            "default": false
          },
          "ageRestricted55Plus": {
            "title": "55+ communities",
            "enum": [
              "include",
              "exclude",
              "only"
            ],
            "type": "string",
            "description": "Include, exclude or keep only age-restricted (55+) communities.",
            "default": "include"
          },
          "onlyNonOwnerOccupied": {
            "title": "Non-owner-occupied only",
            "type": "boolean",
            "description": "Only homes Zillow marks as not occupied by their owner. This is Zillow's flag as it sends it, and Zillow sets it on almost every listing (for sale, for rent, sold, land, foreclosures, by owner, new construction), so this filter rarely drops anything. Applied by the Actor on every listing it reads: a listing it drops costs a small filter check.",
            "default": false
          },
          "petsAllowed": {
            "title": "Pets allowed (rentals)",
            "enum": [
              "any",
              "cats",
              "small_dogs",
              "large_dogs",
              "no_pets"
            ],
            "type": "string",
            "description": "Rentals only: keep listings that accept this kind of pet.",
            "default": "any"
          },
          "inUnitLaundryOnly": {
            "title": "In-unit laundry (rentals)",
            "type": "boolean",
            "description": "Rentals only: keep listings with a washer / dryer in the unit.",
            "default": false
          },
          "furnishedOnly": {
            "title": "Furnished (rentals)",
            "type": "boolean",
            "description": "Rentals only: keep furnished listings.",
            "default": false
          },
          "forRentByOwner": {
            "title": "Rented by the owner (rentals)",
            "type": "boolean",
            "description": "Rentals only: homes the owner rents out directly (Zillow's « for rent by owner »), no agent or manager.",
            "default": false
          },
          "parkingAvailable": {
            "title": "On-site parking (rentals)",
            "type": "boolean",
            "description": "Rentals only: keep listings with on-site parking.",
            "default": false
          },
          "elevator": {
            "title": "Elevator (rentals)",
            "type": "boolean",
            "description": "Rentals only: buildings with an elevator.",
            "default": false
          },
          "hardwoodFloors": {
            "title": "Hardwood floors (rentals)",
            "type": "boolean",
            "description": "Rentals only: hardwood floors.",
            "default": false
          },
          "highSpeedInternet": {
            "title": "High-speed internet (rentals)",
            "type": "boolean",
            "description": "Rentals only: high-speed internet available.",
            "default": false
          },
          "outdoorSpace": {
            "title": "Outdoor space (rentals)",
            "type": "boolean",
            "description": "Rentals only: balcony, patio or yard.",
            "default": false
          },
          "utilitiesIncluded": {
            "title": "Utilities included (rentals)",
            "type": "boolean",
            "description": "Rentals only: utilities included in the rent.",
            "default": false
          },
          "disabledAccess": {
            "title": "Disabled access (rentals)",
            "type": "boolean",
            "description": "Rentals only: accessible to people with disabilities.",
            "default": false
          },
          "controlledAccess": {
            "title": "Controlled access (rentals)",
            "type": "boolean",
            "description": "Rentals only: controlled building access.",
            "default": false
          },
          "incomeRestricted": {
            "title": "Income restricted (rentals)",
            "type": "boolean",
            "description": "Rentals only: income-restricted housing.",
            "default": false
          },
          "shortTermLease": {
            "title": "Short-term lease (rentals)",
            "type": "boolean",
            "description": "Rentals only: short-term lease available.",
            "default": false
          },
          "acceptsZillowApplications": {
            "title": "Accepts Zillow applications (rentals)",
            "type": "boolean",
            "description": "Rentals only: landlord accepts applications through Zillow.",
            "default": false
          },
          "apartmentCommunity": {
            "title": "Apartment communities (rentals)",
            "type": "boolean",
            "description": "Rentals only: apartment communities (managed buildings).",
            "default": false
          },
          "instantTourOnly": {
            "title": "Instant tour (rentals)",
            "type": "boolean",
            "description": "Rentals only: tours can be booked instantly.",
            "default": false
          },
          "rentalSpace": {
            "title": "Entire place or room (rentals)",
            "enum": [
              "any",
              "entire_place",
              "room"
            ],
            "type": "string",
            "description": "Rentals only: entire places, rooms for rent, or both.",
            "default": "any"
          },
          "moveInDate": {
            "title": "Move-in date (rentals)",
            "type": "string",
            "description": "Rentals only: available by this date (`2026-11-01`)."
          },
          "hideNoMoveInDate": {
            "title": "Hide listings without a move-in date (rentals)",
            "type": "boolean",
            "description": "Rentals only: drop listings that give no availability date.",
            "default": false
          },
          "schools": {
            "title": "Schools nearby",
            "type": "array",
            "description": "Only homes near these kinds of schools (Zillow's school filter). Empty = no school filter.",
            "items": {
              "type": "string",
              "enum": [
                "elementary",
                "middle",
                "high",
                "public",
                "private",
                "charter"
              ],
              "enumTitles": [
                "Elementary",
                "Middle",
                "High",
                "Public",
                "Private",
                "Charter"
              ]
            },
            "default": []
          },
          "schoolsRating": {
            "title": "Min GreatSchools rating",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "With Schools nearby: minimum GreatSchools rating (1-10)."
          },
          "includeUnratedSchools": {
            "title": "Include unrated schools",
            "type": "boolean",
            "description": "With Schools nearby: also count schools with no rating.",
            "default": false
          },
          "latitude": {
            "title": "Center latitude",
            "maxLength": 20,
            "type": "string",
            "description": "Search around a point instead of a named area: latitude in decimal degrees (e.g. `47.6062`). Used with longitude and radius; overrides Location."
          },
          "longitude": {
            "title": "Center longitude",
            "maxLength": 20,
            "type": "string",
            "description": "Longitude in decimal degrees (e.g. `-122.3321`)."
          },
          "radiusMiles": {
            "title": "Radius",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Distance around the point, in miles. Listings farther than this are dropped."
          },
          "postedAfter": {
            "title": "Posted after",
            "type": "string",
            "description": "Keep listings put on Zillow after this date (the listing date shown on Zillow, US time): `2026-09-01`, a full ISO date, or `7 days` / `24 hours` / `2 weeks` back from now. Sold homes: the sold date. For sale and for rent the date is on the property page: tick Add property details (or another option that reads the property page), otherwise this filter is ignored on the listings of a search and the run log says so (a listing asked by id, a zpid, a listing URL or an address, always has its page read, so it is filtered anyway)."
          },
          "postedBefore": {
            "title": "Posted before",
            "type": "string",
            "description": "Keep listings put on Zillow before this date (same date and formats as above). Same condition: for sale and for rent it needs the property page (Add property details or another option that reads it), otherwise it is ignored on the listings of a search and the run log says so (a listing asked by id is filtered anyway)."
          },
          "excludeKeywords": {
            "title": "Exclude keywords",
            "maxItems": 50,
            "uniqueItems": true,
            "type": "array",
            "description": "Drop the listings whose address, building name, card highlight or (with Add property details) description contains one of these words (case and accents ignored).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "requirePhone": {
            "title": "Only listings with an agent phone",
            "type": "boolean",
            "description": "Drop listings without an agent or owner phone number. Turns on Add agent and broker contact.",
            "default": false
          },
          "privateSellersOnly": {
            "title": "Sale by owner only",
            "type": "boolean",
            "description": "For sale searches: only listings posted by the owner (FSBO).",
            "default": false
          },
          "maxPriceVsZestimatePct": {
            "title": "Max price vs Zestimate",
            "minimum": -100,
            "maximum": 1000,
            "type": "integer",
            "description": "Keep only listings priced at most this percentage above the Zestimate (e.g. `-10` = at least 10 % under the Zestimate). Listings without a Zestimate are dropped. For sale and sold only: not applied to rentals. Empty = no filter."
          },
          "onlyNew": {
            "title": "Only new listings",
            "type": "boolean",
            "description": "Skip the listings that a previous run (same **Memory key**) already delivered: they are not saved and not charged, and the property page of a listing found by a search is not opened. A listing asked by id (zpid, address, property URL, dataset) is still read again, but neither saved nor charged. First run = everything is new.",
            "default": false
          },
          "stateKey": {
            "title": "Memory key",
            "pattern": "^[a-zA-Z0-9_-]{1,64}$",
            "maxLength": 64,
            "type": "string",
            "description": "Name of the memory used by **Only new listings**. Give each schedule / task its own key (e.g. `paris-rentals`) so that they do not share their memory. Letters, digits, `-` and `_`.",
            "default": "default"
          },
          "resetState": {
            "title": "Reset the memory",
            "type": "boolean",
            "description": "Forget everything remembered under this **Memory key** before the run: this run returns (and charges) every listing again. Untick it afterwards.",
            "default": false
          },
          "trackChanges": {
            "title": "Also return price and status changes",
            "type": "boolean",
            "description": "With New listings only: also return listings already delivered whose price or status changed since (with `changeType`, `previousPrice`, `previousStatus`).",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy or your own proxies. Keep the default: it is included in the price. The residential Apify proxy is not available in this Actor.",
            "default": {
              "useApifyProxy": true
            }
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of requests processed in parallel.",
            "default": 8
          },
          "maxRequestsPerMinute": {
            "title": "Max requests per minute",
            "minimum": 10,
            "maximum": 2000,
            "type": "integer",
            "description": "Most requests to the site in any 60 seconds, all of them counted: results pages, listing pages and the extra page read for a listing. A budget, not an even pace: up to this many can leave at once when the minute starts (spread them with the minimum delay below). Lower it if the site answers HTTP 429 / 403 in the log.",
            "default": 120
          },
          "minRequestIntervalMs": {
            "title": "Min delay between requests",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Smallest gap between two requests, in milliseconds. Unlike the per-minute rate, this spreads the requests evenly instead of letting them go out in a burst. 0 = no gap.",
            "default": 0
          },
          "maxRequestRetries": {
            "title": "Max request retries",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Retries per request before it is marked as failed. Behind a proxy, a request the site turns away is also retried on a new proxy session up to 10 times without using up these retries.",
            "default": 5
          },
          "requestTimeoutSecs": {
            "title": "Request timeout",
            "minimum": 5,
            "maximum": 300,
            "type": "integer",
            "description": "Seconds before a request to Zillow is given up and retried.",
            "default": 30
          },
          "debugLog": {
            "title": "Debug log",
            "type": "boolean",
            "description": "Include debug messages in the run log.",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}