{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Scraper: ZIP Search & New Listing Monitor",
    "description": "Use this Actor when you need Zillow listings by ZIP code (for sale, for rent or sold) with price, beds, baths, Zestimate and photos, or alerts on new listings and price cuts. Monitor mode returns only what changed, with optional webhook alerts. No agent personal data.",
    "version": "0.1",
    "x-build-id": "Vp315uph1bj5ULuHy"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/integrative_cafe_8pc~zillow-zip-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-integrative_cafe_8pc-zillow-zip-monitor",
        "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/integrative_cafe_8pc~zillow-zip-monitor/runs": {
      "post": {
        "operationId": "runs-sync-integrative_cafe_8pc-zillow-zip-monitor",
        "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/integrative_cafe_8pc~zillow-zip-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-integrative_cafe_8pc-zillow-zip-monitor",
        "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": "US 5-digit ZIP codes, one per line. Each ZIP is searched on its own.",
            "default": [
              "78704"
            ],
            "items": {
              "type": "string"
            }
          },
          "listingTypes": {
            "title": "Listing type",
            "type": "array",
            "description": "Which Zillow searches to run for each ZIP. Pick one or more.",
            "items": {
              "type": "string",
              "enum": [
                "for_sale",
                "for_rent",
                "sold"
              ],
              "enumTitles": [
                "For sale",
                "For rent",
                "Recently sold"
              ]
            },
            "default": [
              "for_sale"
            ]
          },
          "priceMin": {
            "title": "Minimum price (USD)",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum price. For rentals this is the monthly rent."
          },
          "priceMax": {
            "title": "Maximum price (USD)",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum price. For rentals this is the monthly rent."
          },
          "bedsMin": {
            "title": "Minimum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings with at least this many bedrooms."
          },
          "bedsMax": {
            "title": "Maximum bedrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings with at most this many bedrooms."
          },
          "bathsMin": {
            "title": "Minimum bathrooms",
            "minimum": 0,
            "type": "integer",
            "description": "Only listings with at least this many bathrooms."
          },
          "daysOnZillow": {
            "title": "Days on Zillow",
            "enum": [
              "any",
              "1",
              "7",
              "14",
              "30",
              "90"
            ],
            "type": "string",
            "description": "Only listings added in this period (for sold: sold in this period).",
            "default": "any"
          },
          "maxItemsPerZip": {
            "title": "Max listings per ZIP and type",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many listings for each ZIP and listing type. Large ZIPs are split by price automatically to go past Zillow's 820-result page limit.",
            "default": 200
          },
          "monitorMode": {
            "title": "Monitor mode (only new listings and price cuts)",
            "type": "boolean",
            "description": "Remember what was seen in earlier runs and return only NEW listings and PRICE_CUT listings. Schedule the actor and you get only changes. The first run saves the baseline.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Name of the key-value store that keeps the monitor memory. Use a different name for each separate monitor.",
            "default": "zillow-zip-monitor"
          },
          "emitOnFirstRun": {
            "title": "Return listings on the first monitor run",
            "type": "boolean",
            "description": "If on, the first monitor run returns every current listing as NEW (the baseline). If off, the first run only saves the baseline and returns nothing.",
            "default": true
          },
          "webhookUrl": {
            "title": "Webhook URL for alerts",
            "type": "string",
            "description": "Optional. In monitor mode each new listing or price cut is POSTed here. Discord and Slack webhooks get a readable message; any other URL gets the listing JSON. Not sent on the first (baseline) run."
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "US residential proxy is required; Zillow blocks datacenter IPs.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}