{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Phone Number Scraper",
    "description": "Zillow Phone Number Scraper extracts publicly listed phone numbers from Zillow property and agent pages. Build targeted calling lists by location and listing type. Ideal for brokers, investors, and sales teams running outbound campaigns.",
    "version": "0.3",
    "x-build-id": "qRn9Y8UXQzJpCTZ4f"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scraper-engine~zillow-phone-number-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scraper-engine-zillow-phone-number-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/scraper-engine~zillow-phone-number-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scraper-engine-zillow-phone-number-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/scraper-engine~zillow-phone-number-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scraper-engine-zillow-phone-number-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",
        "required": [
          "keywords",
          "country"
        ],
        "properties": {
          "keywords": {
            "title": "🔍 Locations / Listing URLs",
            "type": "array",
            "description": "🎯 Add one or more Zillow listing URLs (e.g. \"https://www.zillow.com/homedetails/.../12345678_zpid/\") to scrape directly, and/or city/state/ZIP locations (e.g. \"Austin, TX\", \"06468\") to search -- the actor visits each matching listing and ☎️ extracts the real listing agent's phone number from Zillow's own page data. 💡 Tip: a specific city/ZIP returns more listings than a big state.",
            "items": {
              "type": "string"
            }
          },
          "platform": {
            "title": "🌐 Platform",
            "enum": [
              "Zillow"
            ],
            "type": "string",
            "description": "🏡 The service to scrape. Currently locked to Zillow — more platforms coming soon! 🚀",
            "default": "Zillow"
          },
          "country": {
            "title": "🌍 Country",
            "enum": [
              "Afghanistan (+93)",
              "Albania (+355)",
              "Algeria (+213)",
              "Andorra (+376)",
              "Angola (+244)",
              "Antigua And Barbuda (+1-268)",
              "Argentina (+54)",
              "Armenia (+374)",
              "Australia (+61)",
              "Austria (+43)",
              "Azerbaijan (+994)",
              "Bahamas (+1-242)",
              "Bahrain (+973)",
              "Bangladesh (+880)",
              "Barbados (+1-246)",
              "Belarus (+375)",
              "Belgium (+32)",
              "Belize (+501)",
              "Benin (+229)",
              "Bhutan (+975)",
              "Bolivia (+591)",
              "Bosnia And Herzegovina (+387)",
              "Botswana (+267)",
              "Brazil (+55)",
              "Brunei (+673)",
              "Bulgaria (+359)",
              "Burkina Faso (+226)",
              "Burundi (+257)",
              "Cambodia (+855)",
              "Cameroon (+237)",
              "Canada (+1)",
              "Cape Verde (+238)",
              "Central African Republic (+236)",
              "Chad (+235)",
              "Chile (+56)",
              "China (+86)",
              "Colombia (+57)",
              "Comoros (+269)",
              "Congo (Democratic Republic) (+243)",
              "Congo (Republic) (+242)",
              "Costa Rica (+506)",
              "Croatia (+385)",
              "Cuba (+53)",
              "Cyprus (+357)",
              "Czech Republic (+420)",
              "Denmark (+45)",
              "Djibouti (+253)",
              "Dominica (+1-767)",
              "Dominican Republic (+1-809)",
              "East Timor (+670)",
              "Ecuador (+593)",
              "Egypt (+20)",
              "El Salvador (+503)",
              "Equatorial Guinea (+240)",
              "Eritrea (+291)",
              "Estonia (+372)",
              "Eswatini (+268)",
              "Ethiopia (+251)",
              "Fiji (+679)",
              "Finland (+358)",
              "France (+33)",
              "Gabon (+241)",
              "Gambia (+220)",
              "Georgia (+995)",
              "Germany (+49)",
              "Ghana (+233)",
              "Greece (+30)",
              "Grenada (+1-473)",
              "Guatemala (+502)",
              "Guinea (+224)",
              "Guinea-Bissau (+245)",
              "Guyana (+592)",
              "Haiti (+509)",
              "Honduras (+504)",
              "Hungary (+36)",
              "Iceland (+354)",
              "India (+91)",
              "Indonesia (+62)",
              "Iran (+98)",
              "Iraq (+964)",
              "Ireland (+353)",
              "Israel (+972)",
              "Italy (+39)",
              "Jamaica (+1-876)",
              "Japan (+81)",
              "Jordan (+962)",
              "Kazakhstan (+7)",
              "Kenya (+254)",
              "Kiribati (+686)",
              "Korea, North (+850)",
              "Korea, South (+82)",
              "Kuwait (+965)",
              "Kyrgyzstan (+996)",
              "Laos (+856)",
              "Latvia (+371)",
              "Lebanon (+961)",
              "Lesotho (+266)",
              "Liberia (+231)",
              "Libya (+218)",
              "Liechtenstein (+423)",
              "Lithuania (+370)",
              "Luxembourg (+352)",
              "Madagascar (+261)",
              "Malawi (+265)",
              "Malaysia (+60)",
              "Maldives (+960)",
              "Mali (+223)",
              "Malta (+356)",
              "Marshall Islands (+692)",
              "Mauritania (+222)",
              "Mauritius (+230)",
              "Mexico (+52)",
              "Micronesia (+691)",
              "Moldova (+373)",
              "Monaco (+377)",
              "Mongolia (+976)",
              "Montenegro (+382)",
              "Morocco (+212)",
              "Mozambique (+258)",
              "Myanmar (+95)",
              "Namibia (+264)",
              "Nauru (+674)",
              "Nepal (+977)",
              "Netherlands (+31)",
              "New Zealand (+64)",
              "Nicaragua (+505)",
              "Niger (+227)",
              "Nigeria (+234)",
              "North Macedonia (+389)",
              "Norway (+47)",
              "Oman (+968)",
              "Pakistan (+92)",
              "Palau (+680)",
              "Panama (+507)",
              "Papua New Guinea (+675)",
              "Paraguay (+595)",
              "Peru (+51)",
              "Philippines (+63)",
              "Poland (+48)",
              "Portugal (+351)",
              "Qatar (+974)",
              "Romania (+40)",
              "Russia (+7)",
              "Rwanda (+250)",
              "Saint Kitts And Nevis (+1-869)",
              "Saint Lucia (+1-758)",
              "Saint Vincent And The Grenadines (+1-784)",
              "Samoa (+685)",
              "San Marino (+378)",
              "Sao Tome And Principe (+239)",
              "Saudi Arabia (+966)",
              "Senegal (+221)",
              "Serbia (+381)",
              "Seychelles (+248)",
              "Sierra Leone (+232)",
              "Singapore (+65)",
              "Slovakia (+421)",
              "Slovenia (+386)",
              "Solomon Islands (+677)",
              "Somalia (+252)",
              "South Africa (+27)",
              "South Sudan (+211)",
              "Spain (+34)",
              "Sri Lanka (+94)",
              "Sudan (+249)",
              "Suriname (+597)",
              "Sweden (+46)",
              "Switzerland (+41)",
              "Syria (+963)",
              "Taiwan (+886)",
              "Tajikistan (+992)",
              "Tanzania (+255)",
              "Thailand (+66)",
              "Togo (+228)",
              "Tonga (+676)",
              "Trinidad And Tobago (+1-868)",
              "Tunisia (+216)",
              "Turkey (+90)",
              "Turkmenistan (+993)",
              "Tuvalu (+688)",
              "Uganda (+256)",
              "Ukraine (+380)",
              "United Arab Emirates (+971)",
              "United Kingdom (+44)",
              "United States (+1)",
              "Uruguay (+598)",
              "Uzbekistan (+998)",
              "Vanuatu (+678)",
              "Vatican City (+39-06)",
              "Venezuela (+58)",
              "Vietnam (+84)",
              "Yemen (+967)",
              "Zambia (+260)",
              "Zimbabwe (+263)"
            ],
            "type": "string",
            "description": "🌎 Select a country to scrape related phone numbers. 📞 The dial code is used to normalize and filter results down to just that country. Zillow only lists properties in the United States, so leave this on 'United States (+1)' unless you intentionally want zero results.",
            "default": "United States (+1)"
          },
          "maxPhoneNumbers": {
            "title": "📊 Maximum Phone Numbers per Keyword",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "🎚️ How many phone numbers to collect per keyword before moving on. ⚡ Higher = more leads but longer runs. Default is 10 ✅ (range 1 – 10,000).",
            "default": 10
          },
          "engine": {
            "title": "⚙️ Engine",
            "enum": [
              "legacy"
            ],
            "type": "string",
            "description": "🔧 The processing engine. Currently 'legacy' 🛡️ — a reliable, battle-tested extraction pipeline. More engines on the roadmap! 🚧",
            "default": "legacy"
          },
          "proxyConfiguration": {
            "title": "🛡️ Proxy Configuration",
            "type": "object",
            "description": "🌐 Control how the actor connects to the internet. Zillow blocks plain/unproxied requests outright, so the actor requires Apify Proxy and defaults to the UNBLOCKER group, which is what actually gets past Zillow's anti-bot protection. 🔄 On any failed response it rotates the connection and retries automatically. 🧠 Advanced users can plug in custom proxy groups here."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}