{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper: Listings, Sold Homes, Rentals & Agents",
    "description": "Scrape Zillow for-sale, rental and sold homes by city, ZIP, county, URL or address, with no 500-result cap. Price, Zestimate, beds, baths, photos, listing agent phone and email, price and tax history, schools and 150+ facts. Export to CSV, Excel or JSON.",
    "version": "0.0",
    "x-build-id": "EdlcirHnn8WKd5lh2"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/epicscrapers~zillow-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-epicscrapers-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/epicscrapers~zillow-scraper/runs": {
      "post": {
        "operationId": "runs-sync-epicscrapers-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/epicscrapers~zillow-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-epicscrapers-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": {
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Areas to search, the way you type them on Zillow: a city (Austin, TX), ZIP code (78704), county (Miami-Dade County, FL), neighborhood (Capitol Hill, Seattle), borough or state (Texas). Each location is searched separately. Large areas are split automatically, so you are not limited to Zillow's 500 or 1,000 results.",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "forSale",
              "forRent",
              "sold"
            ],
            "type": "string",
            "description": "What to search for in Locations. Ignored for Zillow search URLs, which keep their own type.",
            "default": "forSale"
          },
          "maxItems": {
            "title": "Max results per search",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum homes saved for each location or search URL. Set to 0 for every matching home.",
            "default": 200
          },
          "includeDetails": {
            "title": "Include full property details",
            "type": "boolean",
            "description": "Adds the full property page to every home: description, all photos, listing agent name, phone and email, broker, price history, tax history, schools with ratings, HOA fee, walk/transit scores, climate risk and 150+ facts (heating, parking, flooring, appliances, parcel number…). Charged as an extra event per home.",
            "default": false
          },
          "startUrls": {
            "title": "Zillow URLs",
            "type": "array",
            "description": "Paste URLs from zillow.com. Search pages (with filters and map area, e.g. https://www.zillow.com/austin-tx/?searchQueryState=...) are scraped with their own filters. Home pages (https://www.zillow.com/homedetails/.../29475196_zpid/) return that home.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "properties": {
            "title": "Properties (addresses or zpids)",
            "type": "array",
            "description": "Specific homes to scrape: a full address (3403 Winfield Dr, Austin, TX 78704) or a Zillow property ID (zpid, e.g. 29475196). Up to thousands per run.",
            "items": {
              "type": "string"
            }
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "priceLow",
              "priceHigh",
              "beds",
              "baths",
              "sqft",
              "lotSize",
              "yearBuilt"
            ],
            "type": "string",
            "description": "Order of results. Matters when Max results is lower than the number of matching homes.",
            "default": "relevance"
          },
          "priceMin": {
            "title": "Min price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum list price. For rentals, the monthly rent."
          },
          "priceMax": {
            "title": "Max price ($)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum list price. For rentals, the monthly rent."
          },
          "bedsMin": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "bedsMax": {
            "title": "Max bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "bathsMin": {
            "title": "Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "homeTypes": {
            "title": "Home types",
            "type": "array",
            "description": "Only these home types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "singleFamily",
                "townhome",
                "condo",
                "multiFamily",
                "apartment",
                "manufactured",
                "land"
              ],
              "enumTitles": [
                "Houses",
                "Townhomes",
                "Condos/co-ops",
                "Multi-family",
                "Apartments",
                "Manufactured",
                "Lots/land"
              ]
            }
          },
          "daysOnZillow": {
            "title": "Days on Zillow (sold within)",
            "minimum": 0,
            "type": "integer",
            "description": "Only homes listed in the last N days. For recently sold homes: sold in the last N days (e.g. 30, 90, 365)."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Only listings whose description mentions these words, e.g. pool, ADU, fixer."
          },
          "saleTypes": {
            "title": "Sale types (for sale only)",
            "type": "array",
            "description": "Which for-sale listings to include. Leave empty for Zillow's default (agent-listed, by owner, new construction, foreclosures, auctions, coming soon). Pre-foreclosures and foreclosed (bank-owned, off-market) must be selected explicitly.",
            "items": {
              "type": "string",
              "enum": [
                "agent",
                "owner",
                "newConstruction",
                "foreclosure",
                "auction",
                "comingSoon",
                "preForeclosure",
                "foreclosed"
              ],
              "enumTitles": [
                "Agent listed",
                "For sale by owner (FSBO)",
                "New construction",
                "Foreclosures",
                "Auctions",
                "Coming soon",
                "Pre-foreclosures (off-market)",
                "Foreclosed / bank-owned (off-market)"
              ]
            }
          },
          "includePending": {
            "title": "Include pending & under contract",
            "type": "boolean",
            "description": "For sale only. Also include homes that are pending or under contract (Zillow hides them by default).",
            "default": false
          },
          "showOnly": {
            "title": "Must have",
            "type": "array",
            "description": "Only homes with all of these.",
            "items": {
              "type": "string",
              "enum": [
                "priceReduced",
                "openHouse",
                "singleStory",
                "garage",
                "virtualTour",
                "seniorCommunity",
                "furnished",
                "utilitiesIncluded",
                "shortTermLease",
                "acceptsApplications",
                "rentByOwner",
                "selfTour"
              ],
              "enumTitles": [
                "Price reduced",
                "Open house",
                "Single story",
                "Garage",
                "3D tour",
                "55+ community",
                "Furnished (rent)",
                "Utilities included (rent)",
                "Short-term lease (rent)",
                "Accepts Zillow applications (rent)",
                "For rent by owner (rent)",
                "Self tour"
              ]
            }
          },
          "sqftMin": {
            "title": "Min living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum interior square feet."
          },
          "sqftMax": {
            "title": "Max living area (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum interior square feet."
          },
          "lotSizeMin": {
            "title": "Min lot size (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum lot size in square feet (1 acre = 43,560 sqft)."
          },
          "lotSizeMax": {
            "title": "Max lot size (sqft)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum lot size in square feet (1 acre = 43,560 sqft)."
          },
          "yearBuiltMin": {
            "title": "Built after (year)",
            "minimum": 1600,
            "type": "integer",
            "description": "Minimum year built."
          },
          "yearBuiltMax": {
            "title": "Built before (year)",
            "minimum": 1600,
            "type": "integer",
            "description": "Maximum year built."
          },
          "hoaMax": {
            "title": "Max HOA fee ($/month)",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum monthly HOA fee. Homes without HOA data are kept."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}