{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper — Listings, Property Details, Zestimate & Agents",
    "description": "Scrape Zillow for-sale, for-rent, and sold listings and extract full property details, Zestimate home values, photos, price & tax history, schools, and real-estate agent contacts. Search by city, ZIP, URL, or address — with automatic bypass of Zillow's 500-result limit. Export to JSON, CSV, or Excel",
    "version": "1.0",
    "x-build-id": "3XNXWnzhzlLw2T39I"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/pro100chok~zillow-scraper-all-in-one/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-pro100chok-zillow-scraper-all-in-one",
        "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/pro100chok~zillow-scraper-all-in-one/runs": {
      "post": {
        "operationId": "runs-sync-pro100chok-zillow-scraper-all-in-one",
        "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/pro100chok~zillow-scraper-all-in-one/run-sync": {
      "post": {
        "operationId": "run-sync-pro100chok-zillow-scraper-all-in-one",
        "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": {
          "mode": {
            "title": "What do you want to scrape?",
            "enum": [
              "search",
              "propertyDetail",
              "zestimate",
              "agent"
            ],
            "type": "string",
            "description": "Pick a mode. Search finds listings by location/URL/ZIP; Property details returns the full data for specific homes; Zestimate returns fast valuations; Agent returns real-estate agent profiles.",
            "default": "search"
          },
          "startUrls": {
            "title": "Start URLs (any Zillow URL)",
            "type": "array",
            "description": "Optional shortcut. Paste any Zillow URLs — search pages, property (homedetails) pages, or agent profiles. The actor routes each to the right mode automatically.",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "Search URLs",
            "type": "array",
            "description": "Zillow search / region URLs (e.g. https://www.zillow.com/homes/Austin,-TX_rb/ or a URL containing ?searchQueryState=).",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (city, ZIP, county)",
            "type": "array",
            "description": "Free-text locations, e.g. \"Austin, TX\", \"90210\", \"Los Angeles County, CA\".",
            "items": {
              "type": "string"
            }
          },
          "listingType": {
            "title": "Listing type",
            "enum": [
              "forSale",
              "forRent",
              "sold"
            ],
            "type": "string",
            "description": "Whether to search homes for sale, for rent, or recently sold.",
            "default": "forSale"
          },
          "forSaleByAgent": {
            "title": "For sale by agent",
            "type": "boolean",
            "description": "Include agent-listed homes (for-sale searches).",
            "default": true
          },
          "forSaleByOwner": {
            "title": "For sale by owner (FSBO)",
            "type": "boolean",
            "description": "Include for-sale-by-owner homes (for-sale searches).",
            "default": true
          },
          "newConstruction": {
            "title": "New construction",
            "type": "boolean",
            "description": "Include new-construction homes (for-sale searches).",
            "default": true
          },
          "comingSoon": {
            "title": "Coming soon",
            "type": "boolean",
            "description": "Include coming-soon homes (for-sale searches).",
            "default": true
          },
          "auction": {
            "title": "Auctions",
            "type": "boolean",
            "description": "Include auction homes (for-sale searches).",
            "default": true
          },
          "foreclosures": {
            "title": "Foreclosures",
            "type": "boolean",
            "description": "Include foreclosure homes (for-sale searches).",
            "default": true
          },
          "priceMin": {
            "title": "Min price",
            "type": "integer",
            "description": "Minimum price (or monthly rent for rentals)."
          },
          "priceMax": {
            "title": "Max price",
            "type": "integer",
            "description": "Maximum price (or monthly rent for rentals)."
          },
          "bedsMin": {
            "title": "Min beds",
            "type": "integer",
            "description": "Minimum number of bedrooms."
          },
          "bedsMax": {
            "title": "Max beds",
            "type": "integer",
            "description": "Maximum number of bedrooms."
          },
          "bathsMin": {
            "title": "Min baths",
            "type": "integer",
            "description": "Minimum number of bathrooms."
          },
          "bathsMax": {
            "title": "Max baths",
            "type": "integer",
            "description": "Maximum number of bathrooms."
          },
          "sqftMin": {
            "title": "Min living area (sqft)",
            "type": "integer",
            "description": "Minimum living area in square feet."
          },
          "sqftMax": {
            "title": "Max living area (sqft)",
            "type": "integer",
            "description": "Maximum living area in square feet."
          },
          "lotSizeMin": {
            "title": "Min lot size (sqft)",
            "type": "integer",
            "description": "Minimum lot size in square feet."
          },
          "lotSizeMax": {
            "title": "Max lot size (sqft)",
            "type": "integer",
            "description": "Maximum lot size in square feet."
          },
          "yearBuiltMin": {
            "title": "Built after (year)",
            "type": "integer",
            "description": "Only homes built in or after this year."
          },
          "yearBuiltMax": {
            "title": "Built before (year)",
            "type": "integer",
            "description": "Only homes built in or before this year."
          },
          "hoaMax": {
            "title": "Max monthly HOA fee",
            "type": "integer",
            "description": "Maximum monthly HOA fee."
          },
          "homeTypes": {
            "title": "Home types",
            "type": "array",
            "description": "Restrict to specific property types. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "houses",
                "townhomes",
                "condos",
                "apartments",
                "multiFamily",
                "manufactured",
                "lotsLand"
              ],
              "enumTitles": [
                "Houses",
                "Townhomes",
                "Condos/Co-ops",
                "Apartments",
                "Multi-family",
                "Manufactured",
                "Lots/Land"
              ]
            }
          },
          "daysOnZillow": {
            "title": "Days on Zillow",
            "enum": [
              "",
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m",
              "24m",
              "36m"
            ],
            "type": "string",
            "description": "Only homes listed within this timeframe.",
            "default": ""
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "Free-text keywords (max 99 chars), e.g. \"pool, view, remodeled\"."
          },
          "hasPool": {
            "title": "Has pool",
            "type": "boolean",
            "description": "Only homes with a pool.",
            "default": false
          },
          "hasGarage": {
            "title": "Has garage",
            "type": "boolean",
            "description": "Only homes with a garage.",
            "default": false
          },
          "hasAirConditioning": {
            "title": "Has A/C",
            "type": "boolean",
            "description": "Only homes with air conditioning.",
            "default": false
          },
          "isWaterfront": {
            "title": "Waterfront",
            "type": "boolean",
            "description": "Only waterfront homes.",
            "default": false
          },
          "has3DTour": {
            "title": "Has 3D tour",
            "type": "boolean",
            "description": "Only homes with a 3D tour.",
            "default": false
          },
          "hasBasement": {
            "title": "Has basement",
            "type": "boolean",
            "description": "Only homes with a (finished) basement.",
            "default": false
          },
          "priceReducedOnly": {
            "title": "Price reduced only",
            "type": "boolean",
            "description": "Only homes with a recent price reduction.",
            "default": false
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "newest",
              "price_desc",
              "price_asc",
              "beds",
              "baths",
              "sqft",
              "lot",
              "yearBuilt",
              "priceReduced"
            ],
            "type": "string",
            "description": "Sort order of search results.",
            "default": "relevance"
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Cap the number of listings. Use 0 for unlimited (the actor auto-splits the map to bypass Zillow's 500-result cap).",
            "default": 200
          },
          "fetchDetails": {
            "title": "Enrich each listing with full property details",
            "type": "boolean",
            "description": "For every listing found, also open its property page to add year built, price/tax history, schools, agent contact, all photos, and 100+ facts. Slower and adds a details charge per listing.",
            "default": false
          },
          "propertyUrls": {
            "title": "Property URLs",
            "type": "array",
            "description": "Zillow homedetails URLs, e.g. https://www.zillow.com/homedetails/.../12345_zpid/",
            "items": {
              "type": "string"
            }
          },
          "zpids": {
            "title": "ZPIDs",
            "type": "array",
            "description": "Zillow property IDs (numbers).",
            "items": {
              "type": "string"
            }
          },
          "zestimateItems": {
            "title": "Zestimate lookups (URL / ZPID / address)",
            "type": "array",
            "description": "Used when Mode = Zestimate. Accepts property URLs, ZPIDs, or free-text addresses.",
            "items": {
              "type": "string"
            }
          },
          "includePhotos": {
            "title": "Include all photos",
            "type": "boolean",
            "description": "Include every listing photo (highest resolution) in property details.",
            "default": true
          },
          "includeHistory": {
            "title": "Include price & tax history",
            "type": "boolean",
            "description": "Include price history and tax history in property details.",
            "default": true
          },
          "includeSchools": {
            "title": "Include schools",
            "type": "boolean",
            "description": "Include nearby/assigned schools in property details.",
            "default": true
          },
          "includeResoFacts": {
            "title": "Include detailed facts (heating, parking, HOA…)",
            "type": "boolean",
            "description": "Include the extended fact set (heating, cooling, parking, HOA, appliances, etc.).",
            "default": true
          },
          "agentUrls": {
            "title": "Agent profiles or locations",
            "type": "array",
            "description": "Zillow agent profile URLs (https://www.zillow.com/profile/<name>/) or a location to discover agents in (e.g. \"Los Angeles, CA\").",
            "items": {
              "type": "string"
            }
          },
          "includeAgentListings": {
            "title": "Include agent's active listings",
            "type": "boolean",
            "description": "Include the agent's active for-sale/for-rent listings.",
            "default": true
          },
          "includeAgentPastSales": {
            "title": "Include agent's past sales",
            "type": "boolean",
            "description": "Include a sample of the agent's past sales.",
            "default": true
          },
          "includeAgentReviews": {
            "title": "Include agent reviews",
            "type": "boolean",
            "description": "Include the agent's written reviews.",
            "default": false
          },
          "maxAgentsPerLocation": {
            "title": "Max agents per location",
            "minimum": 1,
            "type": "integer",
            "description": "When a location is given instead of a profile URL, cap how many agents to fetch.",
            "default": 20
          },
          "flatOutput": {
            "title": "Flatten output for CSV/Excel",
            "type": "boolean",
            "description": "Flatten nested fields to a single level (nested lists become JSON strings). Handy for spreadsheet export.",
            "default": false
          },
          "maxConcurrency": {
            "title": "Max concurrency",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum number of pages fetched in parallel.",
            "default": 6
          },
          "maxRetries": {
            "title": "Max retries per request",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "How many times to retry a blocked request (each retry rotates the proxy).",
            "default": 8
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "US residential proxies are strongly recommended. To test with your own proxy, use the Custom proxies tab.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}