{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper - Property Listings, Rentals, Sold & Agent Data",
    "description": "Scrape Zillow homes for sale, rentals and recently sold listings by city, ZIP code, radius or Zillow search URL. 44 filters, Zestimates, price history, listing agent details, apartment floor plans and unit rents. Splits large searches past Zillow's 1,000-result limit. No login needed.",
    "version": "0.2",
    "x-build-id": "sKBOcEBfa6whyaX9P"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automly~zillow-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automly-zillow-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/automly~zillow-scraper/runs": {
      "post": {
        "operationId": "runs-sync-automly-zillow-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/automly~zillow-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-automly-zillow-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": {
          "searchTerms": {
            "title": "Locations to search",
            "type": "array",
            "description": "Cities, ZIP codes, neighborhoods, or addresses, for example Austin, TX or 78704.",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Zillow URLs",
            "type": "array",
            "description": "Zillow search-result or property-detail URLs. Filters set below are added on top of a search URL's own filters.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "zpids": {
            "title": "Zillow property IDs (ZPIDs)",
            "type": "array",
            "description": "Specific Zillow property IDs to retrieve. Search filters do not apply to ZPIDs.",
            "items": {
              "type": "string"
            }
          },
          "latitude": {
            "title": "Radius search: latitude",
            "minimum": -90,
            "maximum": 90,
            "type": "number",
            "description": "Center of a radius search, for example 30.2672. Set latitude, longitude and radius together."
          },
          "longitude": {
            "title": "Radius search: longitude",
            "minimum": -180,
            "maximum": 180,
            "type": "number",
            "description": "Center of a radius search, for example -97.7431."
          },
          "radiusMiles": {
            "title": "Radius search: miles",
            "minimum": 0.1,
            "maximum": 100,
            "type": "number",
            "description": "Only return listings within this many miles of the latitude and longitude."
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "sale",
              "rent",
              "sold"
            ],
            "type": "string",
            "description": "Used for Locations to search and the radius search.",
            "default": "sale"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of unique dataset rows across all inputs.",
            "default": 100
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "priceLowToHigh",
              "priceHighToLow",
              "newest",
              "bedrooms",
              "bathrooms",
              "squareFeet",
              "lotSize"
            ],
            "type": "string",
            "description": "Order of search results. Price sorts use monthly rent for rentals.",
            "default": "relevance"
          },
          "minPrice": {
            "title": "Minimum price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum list or sold price. For rentals this is the minimum monthly rent."
          },
          "maxPrice": {
            "title": "Maximum price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum list or sold price. For rentals this is the maximum monthly rent."
          },
          "minBeds": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "maxBeds": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "minBaths": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "number",
            "description": "Minimum number of bathrooms, for example 1.5 or 2."
          },
          "homeTypes": {
            "title": "Home types",
            "type": "array",
            "description": "Only return these home types. Leave empty for all. Rentals treat apartments and condos as one type and ignore multi-family, lots/land, and manufactured.",
            "items": {
              "type": "string",
              "enum": [
                "houses",
                "townhomes",
                "multiFamily",
                "condos",
                "apartments",
                "lotsLand",
                "manufactured"
              ],
              "enumTitles": [
                "Houses",
                "Townhomes",
                "Multi-family",
                "Condos/co-ops",
                "Apartments",
                "Lots/land",
                "Manufactured"
              ]
            }
          },
          "minSqft": {
            "title": "Minimum square feet",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum living area in square feet."
          },
          "maxSqft": {
            "title": "Maximum square feet",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum living area in square feet."
          },
          "minLotSize": {
            "title": "Minimum lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum lot size in square feet. 1 acre = 43,560 sq ft."
          },
          "maxLotSize": {
            "title": "Maximum lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum lot size in square feet. 1 acre = 43,560 sq ft."
          },
          "minYearBuilt": {
            "title": "Built after (year)",
            "minimum": 1600,
            "type": "integer",
            "description": "Earliest year built."
          },
          "maxYearBuilt": {
            "title": "Built before (year)",
            "minimum": 1600,
            "type": "integer",
            "description": "Latest year built."
          },
          "maxHoa": {
            "title": "Maximum HOA fee ($/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly HOA fee."
          },
          "includeHomesWithNoHoaData": {
            "title": "Include homes with no HOA data",
            "type": "boolean",
            "description": "Keep homes that have no HOA information when Maximum HOA fee is set.",
            "default": true
          },
          "minParkingSpots": {
            "title": "Minimum parking spots",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of parking spots (for-sale and sold searches)."
          },
          "daysOnZillow": {
            "title": "Days on Zillow / sold in last",
            "enum": [
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m",
              "24m",
              "36m"
            ],
            "type": "string",
            "description": "Only listings posted within this window. For recently sold searches, only homes sold within this window."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Words Zillow should match in the listing, for example: pool, casita."
          },
          "includeAgentListed": {
            "title": "Agent listed",
            "type": "boolean",
            "description": "Include homes listed by an agent.",
            "default": true
          },
          "includeOwnerListed": {
            "title": "Owner posted (FSBO)",
            "type": "boolean",
            "description": "Include homes for sale by owner.",
            "default": true
          },
          "includeNewConstruction": {
            "title": "New construction",
            "type": "boolean",
            "description": "Include new construction homes.",
            "default": true
          },
          "includeComingSoon": {
            "title": "Coming soon",
            "type": "boolean",
            "description": "Include coming-soon listings.",
            "default": true
          },
          "includeAuctions": {
            "title": "Auctions",
            "type": "boolean",
            "description": "Include auction listings.",
            "default": true
          },
          "includeForeclosures": {
            "title": "Foreclosures",
            "type": "boolean",
            "description": "Include bank-owned homes listed for sale.",
            "default": true
          },
          "includePending": {
            "title": "Pending and under contract",
            "type": "boolean",
            "description": "Also include pending and under-contract listings.",
            "default": false
          },
          "includePreForeclosures": {
            "title": "Pre-foreclosures",
            "type": "boolean",
            "description": "Also include off-market pre-foreclosure homes.",
            "default": false
          },
          "includeForeclosed": {
            "title": "Foreclosed (not yet listed)",
            "type": "boolean",
            "description": "Also include bank-owned homes that are not listed for sale yet.",
            "default": false
          },
          "mustHavePool": {
            "title": "Must have pool",
            "type": "boolean",
            "description": "Only homes with a pool.",
            "default": false
          },
          "mustHaveGarage": {
            "title": "Must have garage",
            "type": "boolean",
            "description": "Only homes with a garage.",
            "default": false
          },
          "mustHaveAirConditioning": {
            "title": "Must have A/C",
            "type": "boolean",
            "description": "Only homes with air conditioning.",
            "default": false
          },
          "waterfrontOnly": {
            "title": "Waterfront",
            "type": "boolean",
            "description": "Only waterfront homes.",
            "default": false
          },
          "singleStoryOnly": {
            "title": "Single-story only",
            "type": "boolean",
            "description": "Only single-story homes.",
            "default": false
          },
          "basement": {
            "title": "Basement",
            "enum": [
              "finished",
              "unfinished",
              "any"
            ],
            "type": "string",
            "description": "Only homes with this kind of basement."
          },
          "views": {
            "title": "Views",
            "type": "array",
            "description": "Only homes with at least one of these views. Leave empty for any.",
            "items": {
              "type": "string",
              "enum": [
                "city",
                "mountain",
                "park",
                "water"
              ],
              "enumTitles": [
                "City",
                "Mountain",
                "Park",
                "Water"
              ]
            }
          },
          "seniorCommunities": {
            "title": "55+ communities",
            "enum": [
              "only",
              "exclude"
            ],
            "type": "string",
            "description": "Only show, or hide, homes in 55+ communities."
          },
          "has3dTour": {
            "title": "Must have 3D tour",
            "type": "boolean",
            "description": "Only listings with a 3D home tour.",
            "default": false
          },
          "showcaseOnly": {
            "title": "Showcase listings only",
            "type": "boolean",
            "description": "Only Zillow Showcase listings.",
            "default": false
          },
          "openHousesOnly": {
            "title": "Must have open house",
            "type": "boolean",
            "description": "Only listings with an upcoming open house.",
            "default": false
          },
          "priceReducedOnly": {
            "title": "Price reduced only",
            "type": "boolean",
            "description": "Only listings with a recent price cut.",
            "default": false
          },
          "roomsForRentOnly": {
            "title": "Rooms for rent only",
            "type": "boolean",
            "description": "Only individual rooms instead of entire places.",
            "default": false
          },
          "moveInDate": {
            "title": "Move-in date",
            "type": "string",
            "description": "Only rentals available on or before this date (YYYY-MM-DD)."
          },
          "pets": {
            "title": "Pets allowed",
            "type": "array",
            "description": "Only rentals that allow these pets.",
            "items": {
              "type": "string",
              "enum": [
                "largeDogs",
                "smallDogs",
                "cats"
              ],
              "enumTitles": [
                "Large dogs",
                "Small dogs",
                "Cats"
              ]
            }
          },
          "noPets": {
            "title": "No pets allowed",
            "type": "boolean",
            "description": "Only rentals that do not allow pets.",
            "default": false
          },
          "rentalAmenities": {
            "title": "Rental amenities",
            "type": "array",
            "description": "Only rentals that have all of these amenities.",
            "items": {
              "type": "string",
              "enum": [
                "inUnitLaundry",
                "onSiteParking",
                "acceptsZillowApplications",
                "instantTour",
                "furnished",
                "shortTermLease",
                "utilitiesIncluded",
                "incomeRestricted",
                "dishwasher",
                "fitnessCenter",
                "outdoorSpace",
                "controlledAccess",
                "highSpeedInternet",
                "elevator",
                "hardwoodFloors",
                "disabledAccess",
                "apartmentCommunity",
                "forRentByOwner"
              ],
              "enumTitles": [
                "In-unit laundry",
                "On-site parking",
                "Accepts Zillow applications",
                "Instant tour",
                "Furnished",
                "Short-term lease",
                "Utilities included",
                "Income restricted",
                "Dishwasher",
                "Fitness center",
                "Outdoor space",
                "Controlled access",
                "High-speed internet",
                "Elevator",
                "Hardwood floors",
                "Disabled access",
                "Apartment community",
                "For rent by owner"
              ]
            }
          },
          "maxPagesPerSearch": {
            "title": "Maximum pages per search",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Safety limit for Zillow pagination per search URL.",
            "default": 25
          },
          "includeDetails": {
            "title": "Fetch full property details",
            "type": "boolean",
            "description": "Visit each property or apartment-building page to enrich search rows with description, facts, agent, MLS, floor plans, photos, and other details. Uses more requests.",
            "default": false
          },
          "skipSeenListings": {
            "title": "Skip listings from earlier runs",
            "type": "boolean",
            "description": "Only return listings that earlier runs using the same store name did not return. Useful for scheduled runs that should only deliver new listings.",
            "default": false
          },
          "seenListingsStoreName": {
            "title": "Earlier-runs store name",
            "type": "string",
            "description": "Name of the key-value store that remembers returned listings. Use a different name for each separate search you monitor.",
            "default": "zillow-seen-listings"
          },
          "includeRawData": {
            "title": "Include raw Zillow payloads",
            "type": "boolean",
            "description": "Include Zillow's source search/property objects. This can make dataset rows very large.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Detail concurrency",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum simultaneous property-detail requests.",
            "default": 5
          },
          "saveBatchSize": {
            "title": "Rows per save",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many rows to write to the dataset per request. Apify bills dataset writes per row, so batching does not reduce that cost, it only cuts API round-trips. At the default of 1 every row is saved the moment it is scraped; higher values lose up to that many rows if a run is killed, and rows never wait longer than 5 seconds.",
            "default": 1
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "US residential proxies are the default and the safer choice for property and building detail pages. Apify's datacenter proxy also returned a full 500-listing search with no blocks in testing.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}