{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow ZIP Code Property Scraper",
    "description": "Scrape Zillow listings by US ZIP code — address, price, beds and baths, agent name, email and phone, Zestimate, schools, photos and price history. Covers homes for sale, for rent and sold. Export to CSV, JSON or Excel, run via API, or schedule runs.",
    "version": "0.0",
    "x-build-id": "2fh8zGqhfCB5FBVMH"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/afanasenko~zillow-zip-search/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-afanasenko-zillow-zip-search",
        "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/afanasenko~zillow-zip-search/runs": {
      "post": {
        "operationId": "runs-sync-afanasenko-zillow-zip-search",
        "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/afanasenko~zillow-zip-search/run-sync": {
      "post": {
        "operationId": "run-sync-afanasenko-zillow-zip-search",
        "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",
        "required": [
          "zipCodes"
        ],
        "properties": {
          "zipCodes": {
            "title": "ZIP Codes",
            "type": "array",
            "description": "Enter a list of US ZIP codes to search. Each ZIP is searched on its own, so every home you get back is inside the ZIP you asked for. Residential ZIPs work best — PO-box and non-residential ZIPs return no listings. For a quick verified test, 90210 always returns data. Free plan: up to 20 ZIP codes per run.",
            "default": [
              "90210"
            ],
            "items": {
              "type": "string"
            }
          },
          "maxPropertiesPerZip": {
            "title": "Max Properties per ZIP",
            "type": "integer",
            "description": "How many homes to fetch from each ZIP code. 10 ZIP codes with this set to 5 returns up to 50 homes, and every home returned is billed — so this number times your ZIP count is the most the run can cost. Set to 0 for no limit. Free plan: maximum 15 properties, 20 ZIP codes per run.",
            "default": 0
          },
          "status_type": {
            "title": "Property Status",
            "enum": [
              "ForSale",
              "ForRent",
              "RecentlySold"
            ],
            "type": "string",
            "description": "Filter properties by their listing status.",
            "default": "ForSale"
          },
          "price_min": {
            "title": "Price: Minimum ($)",
            "type": "integer",
            "description": "For Sale/Sold properties.",
            "default": 0
          },
          "price_max": {
            "title": "Price: Maximum ($)",
            "type": "integer",
            "description": "For Sale/Sold properties.",
            "default": 0
          },
          "rentMinPrice": {
            "title": "Rent: Minimum ($/mo)",
            "type": "integer",
            "description": "For Rent properties.",
            "default": 0
          },
          "rentMaxPrice": {
            "title": "Rent: Maximum ($/mo)",
            "type": "integer",
            "description": "For Rent properties.",
            "default": 0
          },
          "beds_min": {
            "title": "Bedrooms: Minimum",
            "type": "integer",
            "description": "Minimum number of bedrooms.",
            "default": 0
          },
          "beds_max": {
            "title": "Bedrooms: Maximum",
            "type": "integer",
            "description": "Maximum number of bedrooms (0 for any).",
            "default": 0
          },
          "baths_min": {
            "title": "Bathrooms: Minimum",
            "type": "integer",
            "description": "Minimum number of bathrooms.",
            "default": 0
          },
          "baths_max": {
            "title": "Bathrooms: Maximum",
            "type": "integer",
            "description": "Maximum number of bathrooms (0 for any).",
            "default": 0
          },
          "doz": {
            "title": "Days on Zillow / Sold in Last",
            "enum": [
              "any",
              "1",
              "7",
              "14",
              "30",
              "90",
              "6m",
              "12m"
            ],
            "type": "string",
            "description": "Filter by how recently the property was listed or sold.",
            "default": "any"
          },
          "sort": {
            "title": "Sort Results By",
            "enum": [
              "Homes_for_You",
              "Price_High_Low",
              "Price_Low_High",
              "Newest"
            ],
            "type": "string",
            "description": "Choose how to sort the search results.",
            "default": "Homes_for_You"
          },
          "keywords": {
            "title": "Keywords",
            "type": "string",
            "description": "e.g., 'pool, ocean view'",
            "default": ""
          },
          "isSingleFamily": {
            "title": "Houses",
            "type": "boolean",
            "description": "Include single-family homes.",
            "default": true
          },
          "isTownhouse": {
            "title": "Townhomes",
            "type": "boolean",
            "description": "Include townhouses.",
            "default": true
          },
          "isMultiFamily": {
            "title": "Multi-family",
            "type": "boolean",
            "description": "Include multi-family properties.",
            "default": false
          },
          "isCondo": {
            "title": "Condos/Co-ops",
            "type": "boolean",
            "description": "Include condos and co-ops.",
            "default": true
          },
          "isLotLand": {
            "title": "Lots/Land",
            "type": "boolean",
            "description": "Include lots and land.",
            "default": false
          },
          "isApartment": {
            "title": "Apartments",
            "type": "boolean",
            "description": "Include apartments. **Best practice: turn ON for rental searches.** Apartments are the majority of rental inventory in most US ZIPs; leaving this off when status_type=ForRent typically yields zero or near-zero results. The actor auto-flips this on if it detects you took the form home-type defaults for a ForRent run, but it's cleaner to set it explicitly.",
            "default": true
          },
          "isManufactured": {
            "title": "Manufactured",
            "type": "boolean",
            "description": "Include manufactured homes.",
            "default": false
          },
          "isForSaleByOwner": {
            "title": "Owner Posted (FSBO)",
            "type": "boolean",
            "description": "Include For Sale By Owner listings.",
            "default": false
          },
          "isForSaleByAgent": {
            "title": "Agent Listed",
            "type": "boolean",
            "description": "Include agent-listed properties.",
            "default": true
          },
          "isNewConstruction": {
            "title": "New Construction",
            "enum": [
              "any",
              "only",
              "exclude"
            ],
            "type": "string",
            "description": "'Any' shows all, 'Only' shows only new construction, 'Exclude' hides new construction.",
            "default": "any"
          },
          "isAuction": {
            "title": "Auctions",
            "enum": [
              "any",
              "only",
              "exclude"
            ],
            "type": "string",
            "description": "'Any' shows all, 'Only' shows only auctions, 'Exclude' hides auctions.",
            "default": "any"
          },
          "isForSaleForeclosure": {
            "title": "Foreclosures",
            "enum": [
              "any",
              "only",
              "exclude"
            ],
            "type": "string",
            "description": "'Any' shows all, 'Only' shows only foreclosures, 'Exclude' hides foreclosures.",
            "default": "any"
          },
          "includeForeclosed": {
            "title": "Include Foreclosed",
            "type": "boolean",
            "description": "Add foreclosed properties to results (excluded by default).",
            "default": false
          },
          "includePreForeclosure": {
            "title": "Include Pre-Foreclosure",
            "type": "boolean",
            "description": "Add pre-foreclosure properties to results (excluded by default).",
            "default": false
          },
          "isPendingUnderContract": {
            "title": "Pending & Under Contract",
            "type": "boolean",
            "description": "Only include properties that are pending or under contract.",
            "default": false
          },
          "isAcceptingBackupOffers": {
            "title": "Accepting Backup Offers",
            "type": "boolean",
            "description": "Only include properties accepting backup offers.",
            "default": false
          },
          "sqft_min": {
            "title": "Square Feet: Minimum",
            "type": "integer",
            "description": "Minimum property size in square feet.",
            "default": 0
          },
          "sqft_max": {
            "title": "Square Feet: Maximum",
            "type": "integer",
            "description": "Maximum property size in square feet.",
            "default": 0
          },
          "lotSize_min": {
            "title": "Lot Size: Minimum",
            "enum": [
              "",
              "1,000 sqft",
              "2,000 sqft",
              "5,000 sqft",
              "1/4 acre/10,890 sqft",
              "1/2 acre/21,780 sqft",
              "1 acre/43,560 sqft"
            ],
            "type": "string",
            "description": "Minimum lot size.",
            "default": ""
          },
          "lotSize_max": {
            "title": "Lot Size: Maximum",
            "enum": [
              "",
              "2,000 sqft",
              "5,000 sqft",
              "1/4 acre/10,890 sqft",
              "1/2 acre/21,780 sqft",
              "1 acre/43,560 sqft",
              "5 acres/217,800 sqft"
            ],
            "type": "string",
            "description": "Maximum lot size.",
            "default": ""
          },
          "built_min": {
            "title": "Year Built: Minimum",
            "type": "integer",
            "description": "Earliest year of construction.",
            "default": 0
          },
          "built_max": {
            "title": "Year Built: Maximum",
            "type": "integer",
            "description": "Latest year of construction.",
            "default": 0
          },
          "parkingSpots_min": {
            "title": "Minimum Parking Spots",
            "type": "integer",
            "description": "Minimum number of parking spots.",
            "default": 0
          },
          "hasGarage": {
            "title": "Must Have Garage",
            "type": "boolean",
            "description": "Only include properties with a garage.",
            "default": false
          },
          "hoa_max": {
            "title": "Maximum HOA Fee ($/month)",
            "type": "integer",
            "description": "Maximum monthly HOA fee.",
            "default": 0
          },
          "hasPool": {
            "title": "Must Have Pool",
            "type": "boolean",
            "description": "Only include properties with a pool.",
            "default": false
          },
          "hasAirConditioning": {
            "title": "Must Have A/C",
            "type": "boolean",
            "description": "Only include properties with air conditioning.",
            "default": false
          },
          "isWaterfront": {
            "title": "Waterfront",
            "type": "boolean",
            "description": "Only include waterfront properties.",
            "default": false
          },
          "isBasementFinished": {
            "title": "Finished Basement",
            "type": "boolean",
            "description": "Only include properties with a finished basement.",
            "default": false
          },
          "isBasementUnfinished": {
            "title": "Unfinished Basement",
            "type": "boolean",
            "description": "Only include properties with an unfinished basement.",
            "default": false
          },
          "isCityView": {
            "title": "City View",
            "type": "boolean",
            "description": "Only properties with a city view.",
            "default": false
          },
          "isMountainView": {
            "title": "Mountain View",
            "type": "boolean",
            "description": "Only properties with a mountain view.",
            "default": false
          },
          "isParkView": {
            "title": "Park View",
            "type": "boolean",
            "description": "Only properties with a park view.",
            "default": false
          },
          "isWaterView": {
            "title": "Water View",
            "type": "boolean",
            "description": "Only properties with a water view.",
            "default": false
          },
          "isOpenHousesOnly": {
            "title": "Must Have Open House",
            "type": "boolean",
            "description": "Only include properties with scheduled open houses.",
            "default": false
          },
          "is3dHome": {
            "title": "Must Have 3D Tour",
            "type": "boolean",
            "description": "Only include properties with a 3D tour.",
            "default": false
          },
          "largeDogsAllowed": {
            "title": "Allows Large Dogs",
            "type": "boolean",
            "description": "Only rentals that allow large dogs.",
            "default": false
          },
          "smallDogsAllowed": {
            "title": "Allows Small Dogs",
            "type": "boolean",
            "description": "Only rentals that allow small dogs.",
            "default": false
          },
          "catsAllowed": {
            "title": "Allows Cats",
            "type": "boolean",
            "description": "Only rentals that allow cats.",
            "default": false
          },
          "noPets": {
            "title": "No Pets",
            "type": "boolean",
            "description": "Only rentals that do not allow pets.",
            "default": false
          },
          "inUnitLaundry": {
            "title": "In-Unit Laundry",
            "type": "boolean",
            "description": "Only rentals with in-unit laundry.",
            "default": false
          },
          "parkingAvailable": {
            "title": "On-Site Parking",
            "type": "boolean",
            "description": "Only rentals with on-site parking.",
            "default": false
          },
          "furnished": {
            "title": "Furnished",
            "type": "boolean",
            "description": "Only furnished rentals.",
            "default": false
          },
          "hardwoodFloor": {
            "title": "Hardwood Floors",
            "type": "boolean",
            "description": "Only rentals with hardwood floors.",
            "default": false
          },
          "utilitiesIncluded": {
            "title": "Utilities Included",
            "type": "boolean",
            "description": "Only rentals with utilities included.",
            "default": false
          },
          "disabledAccess": {
            "title": "Disabled Access",
            "type": "boolean",
            "description": "Only rentals with disabled access.",
            "default": false
          },
          "shortTermLease": {
            "title": "Short Term Lease",
            "type": "boolean",
            "description": "Only rentals with short term lease available.",
            "default": false
          },
          "outdoorSpace": {
            "title": "Outdoor Space",
            "type": "boolean",
            "description": "Only rentals with outdoor space.",
            "default": false
          },
          "controlledAccess": {
            "title": "Controlled Access",
            "type": "boolean",
            "description": "Only rentals with controlled access.",
            "default": false
          },
          "highSpeedInternet": {
            "title": "High Speed Internet",
            "type": "boolean",
            "description": "Only rentals with high speed internet.",
            "default": false
          },
          "elevator": {
            "title": "Elevator",
            "type": "boolean",
            "description": "Only rentals with elevator access.",
            "default": false
          },
          "acceptsApplications": {
            "title": "Accepts Zillow Applications",
            "type": "boolean",
            "description": "Only rentals accepting Zillow applications.",
            "default": false
          },
          "incomeRestricted": {
            "title": "Income Restricted",
            "type": "boolean",
            "description": "Only income-restricted rentals.",
            "default": false
          },
          "schools": {
            "title": "School Types",
            "type": "string",
            "description": "Filter by nearby school types (comma-separated: elementary, middle, high, public, private, charter).",
            "default": ""
          },
          "schoolsRating": {
            "title": "Minimum School Rating",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Minimum school rating (1-10).",
            "default": 0
          },
          "includeUnratedSchools": {
            "title": "Include Unrated Schools",
            "type": "boolean",
            "description": "Include schools with no rating in the search.",
            "default": true
          },
          "enrichWalkScore": {
            "title": "Fetch Walk/Transit Scores",
            "type": "boolean",
            "description": "Enrich results with Walk, Transit, and Bike scores for each property.",
            "default": false
          },
          "enrichPhotos": {
            "title": "Fetch All Property Photos",
            "type": "boolean",
            "description": "Get the complete photo gallery for each property. By default, only the main photo is included.",
            "default": false
          },
          "exportConnector": {
            "title": "Export destination (MCP connector)",
            "type": "string",
            "description": "Optional MCP connector that delivers this run's property rows to your own Notion workspace, Airtable base, or monday.com board after scraping completes. Pick a connector authorized in your Apify account — your credentials never enter the Actor. Export is best-effort and never affects scraping results."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}