{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper",
    "description": "🏡 Scrape Zillow listings by location or search URL for sale, for rent, or recently sold. Get price, address, beds, baths, size, Zestimate, tax value, agent and every photo, with large areas handled automatically.",
    "version": "0.3",
    "x-build-id": "jxHIgsp9DXn5uc8CT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dz_omar~zillow-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dz_omar-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/dz_omar~zillow-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dz_omar-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/dz_omar~zillow-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dz_omar-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": {
          "location": {
            "title": "Location",
            "type": "string",
            "description": "A city, ZIP code, county, or neighbourhood — for example \"Austin, TX\", \"78704\", or \"Travis County, TX\". This is all you need to start; the actor works out the search area itself."
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "buy",
              "rent",
              "sold"
            ],
            "type": "string",
            "description": "Which market to search.",
            "default": "buy"
          },
          "locations": {
            "title": "More locations",
            "type": "array",
            "description": "Additional places to search in the same run — one per line. Each is searched with the same listing type and filters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum results per search",
            "minimum": 0,
            "type": "integer",
            "description": "Upper limit on listings collected for each location or URL. You are billed per listing saved, so this is also your cost ceiling. Set 0 for no limit.",
            "default": 100
          },
          "minPrice": {
            "title": "Min price",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest price to include. For rentals this is monthly rent."
          },
          "maxPrice": {
            "title": "Max price",
            "minimum": 0,
            "type": "integer",
            "description": "Highest price to include. For rentals this is monthly rent."
          },
          "minBeds": {
            "title": "Min bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest bedrooms to include."
          },
          "maxBeds": {
            "title": "Max bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Most bedrooms to include."
          },
          "minBaths": {
            "title": "Min bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest bathrooms to include."
          },
          "maxBaths": {
            "title": "Max bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Most bathrooms to include."
          },
          "homeTypes": {
            "title": "Property types",
            "type": "array",
            "description": "Restrict to certain kinds of property. Leave empty for all types.",
            "items": {
              "type": "string",
              "enum": [
                "houses",
                "apartments",
                "condos",
                "townhomes",
                "multiFamily",
                "manufactured",
                "lotsLand"
              ],
              "enumTitles": [
                "Houses",
                "Apartments",
                "Condos/Co-ops",
                "Townhomes",
                "Multi-family",
                "Manufactured",
                "Lots/Land"
              ]
            },
            "default": []
          },
          "minSqft": {
            "title": "Min square feet",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest interior area to include."
          },
          "maxSqft": {
            "title": "Max square feet",
            "minimum": 0,
            "type": "integer",
            "description": "Largest interior area to include."
          },
          "minLotSize": {
            "title": "Min lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Smallest lot to include, in square feet."
          },
          "maxLotSize": {
            "title": "Max lot size (sq ft)",
            "minimum": 0,
            "type": "integer",
            "description": "Largest lot to include, in square feet."
          },
          "minYearBuilt": {
            "title": "Built after",
            "minimum": 1800,
            "type": "integer",
            "description": "Earliest construction year to include."
          },
          "maxYearBuilt": {
            "title": "Built before",
            "minimum": 1800,
            "type": "integer",
            "description": "Latest construction year to include."
          },
          "maxHoaFee": {
            "title": "Max HOA fee",
            "minimum": 0,
            "type": "integer",
            "description": "Highest monthly HOA fee to include."
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Words that must appear in the listing, e.g. \"pool\" or \"corner lot\". Up to 99 characters."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "globalrelevanceex",
              "days",
              "pricea",
              "priced",
              "beds",
              "baths",
              "size",
              "lot",
              "zest"
            ],
            "type": "string",
            "description": "Order Zillow returns results in. Affects which listings you get first when a result limit is set.",
            "default": "globalrelevanceex"
          },
          "has3dTour": {
            "title": "Only listings with a 3D tour",
            "type": "boolean",
            "description": "Restrict to listings offering a 3D home tour.",
            "default": false
          },
          "openHousesOnly": {
            "title": "Only listings with an open house",
            "type": "boolean",
            "description": "Restrict to listings with an upcoming open house.",
            "default": false
          },
          "hasPool": {
            "title": "Has a pool",
            "type": "boolean",
            "description": "Only listings with a pool.",
            "default": false
          },
          "hasAirConditioning": {
            "title": "Has air conditioning",
            "type": "boolean",
            "description": "Only listings with air conditioning.",
            "default": false
          },
          "isWaterfront": {
            "title": "Waterfront",
            "type": "boolean",
            "description": "Only waterfront properties.",
            "default": false
          },
          "singleStory": {
            "title": "Single storey only",
            "type": "boolean",
            "description": "Only single-storey properties.",
            "default": false
          },
          "hasGarage": {
            "title": "Has a garage",
            "type": "boolean",
            "description": "Only listings with a garage.",
            "default": false
          },
          "minParkingSpots": {
            "title": "Min parking spaces",
            "minimum": 0,
            "type": "integer",
            "description": "Fewest parking spaces to include. For-sale and sold searches only."
          },
          "includePending": {
            "title": "Include pending sales",
            "type": "boolean",
            "description": "Also return listings that are pending or under contract, which are otherwise held back. For-sale searches only.",
            "default": false
          },
          "listedWithin": {
            "title": "Listed within",
            "enum": [
              "",
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m",
              "24m",
              "36m"
            ],
            "type": "string",
            "description": "Only listings posted within this window.",
            "default": ""
          },
          "foreclosure": {
            "title": "Include foreclosures",
            "type": "boolean",
            "description": "Include foreclosure listings. For-sale searches only.",
            "default": false
          },
          "auction": {
            "title": "Include auctions",
            "type": "boolean",
            "description": "Include auction listings. For-sale searches only.",
            "default": false
          },
          "agentListed": {
            "title": "Agent listings",
            "type": "boolean",
            "description": "Include listings posted by an agent. For-sale searches only.",
            "default": true
          },
          "ownerPosted": {
            "title": "Owner listings (FSBO)",
            "type": "boolean",
            "description": "Include for-sale-by-owner listings. For-sale searches only.",
            "default": true
          },
          "newConstruction": {
            "title": "New construction",
            "type": "boolean",
            "description": "Include newly built homes. For-sale searches only.",
            "default": true
          },
          "startUrls": {
            "title": "Zillow search URLs",
            "type": "array",
            "description": "Paste search URLs straight from your browser. Every filter you set on Zillow is carried over, so use this when you want a search the filters above cannot express. Locations and URLs can be combined in one run.",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "title": "Zillow search URL",
                  "description": "A search results URL copied from zillow.com.\n\nExample: https://www.zillow.com/austin-tx/houses/",
                  "type": "string",
                  "pattern": "^https://(www\\.)?zillow\\.com/.+"
                }
              },
              "required": [
                "url"
              ]
            }
          },
          "extractionMethod": {
            "title": "Large areas",
            "enum": [
              "SUBDIVIDE",
              "PAGINATION"
            ],
            "type": "string",
            "description": "Zillow serves roughly 800 listings per search no matter how many exist. \"Split large areas\" divides an oversized area into smaller ones and searches each, which reaches listings that paging alone cannot. Turn it off for the fastest run on small areas.",
            "default": "SUBDIVIDE"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}