{
  "openapi": "3.0.1",
  "info": {
    "title": "Zillow Property Details Scraper | from $0.80/1K | CSV",
    "description": "Get Zillow property details from URLs, ZPIDs or full addresses: prices, Zestimate, photo URLs, histories and available listing contacts. Export CSV/JSON. Paid plans: $0.80/1K. Free: $2/1K, up to 25 properties per collection.",
    "version": "0.5",
    "x-build-id": "EDfqZ7GSfZswXcxcj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/x_guru~zillow-property-details-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-x_guru-zillow-property-details-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/x_guru~zillow-property-details-scraper/runs": {
      "post": {
        "operationId": "runs-sync-x_guru-zillow-property-details-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/x_guru~zillow-property-details-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-x_guru-zillow-property-details-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": {
          "startUrls": {
            "title": "Zillow property URLs",
            "maxItems": 100,
            "type": "array",
            "description": "Paste property-page URLs from zillow.com, one per entry. Each URL must contain a numeric ZPID, for example https://www.zillow.com/homedetails/89070667_zpid/. City and search URLs belong in Zillow Scraper.",
            "items": {
              "type": "object"
            }
          },
          "zpids": {
            "title": "Property IDs (ZPIDs)",
            "maxItems": 100,
            "type": "array",
            "description": "Enter numeric Zillow property IDs, one per entry. Find the ID before _zpid in a property URL. Duplicates are removed across input methods.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Maximum results per run",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum unique rows to save (1–100,000 on paid plans), subject to source availability, collection limits and budget. Free: up to 25 properties across one collection and its continuation chain. Entering a larger number does not raise the Free allowance. Use Max total charge in Apify run settings to cap spending.",
            "default": 50
          },
          "addresses": {
            "title": "Full US property addresses",
            "maxItems": 100,
            "type": "array",
            "description": "Include street number, unit if applicable, city, two-letter state and five-digit ZIP. Only an exact address and unit match is saved; ambiguous or unmatched inputs are reported separately.",
            "items": {
              "type": "string"
            }
          },
          "propertyDatasetId": {
            "title": "Property list from Apify Dataset",
            "type": "string",
            "description": "Optional: paste the 17-character Dataset ID from a previous Zillow search or your own import. The Actor reads up to 100,000 rows, freezes the property list, and collects details for each unique valid property. You must have read access. Invalid rows are reported separately."
          },
          "datasetField": {
            "title": "Property identifier column",
            "enum": [
              "zpid",
              "url"
            ],
            "type": "string",
            "description": "Choose the source Dataset column: zpid for numeric property IDs, or url for Zillow property URLs containing a ZPID.",
            "default": "zpid"
          },
          "resumeFromRunId": {
            "title": "Previous run ID",
            "type": "string",
            "description": "Paste the finished run ID from this same Actor and account. Prefer copying the full PAGINATION.nextInput from the previous run. Keep the query unchanged. This run saves and charges only new rows, plus the standard start fee. Maximum results per run and the Apify budget both apply to this new batch."
          },
          "advanced": {
            "title": "Collection limits",
            "type": "object",
            "description": "Leave these settings unchanged for your first run. Optional limits control how much work one batch can do. Free runs additionally cap requests at 40, time at 180 seconds and compressed downloads at 5 MB; higher input settings cannot raise those caps.",
            "properties": {
              "maxRequests": {
                "title": "Maximum requests",
                "type": "integer",
                "editor": "number",
                "description": "Stop after this many requests and save continuation input. Keep 80 for a first run; increasing it can increase blocking and cost.",
                "default": 80,
                "minimum": 1,
                "maximum": 10000
              },
              "maxRunSeconds": {
                "title": "Maximum collection time (seconds)",
                "type": "integer",
                "editor": "number",
                "description": "Stop collection after this time. Allow extra time in the Actor run timeout for saving results and the summary.",
                "default": 600,
                "minimum": 10,
                "maximum": 3600
              },
              "maxDownloadMegabytes": {
                "title": "Maximum downloaded data (MB)",
                "type": "number",
                "editor": "number",
                "description": "Limit compressed response traffic. This is a traffic limit, not a dollar budget.",
                "default": 100,
                "minimum": 1,
                "maximum": 1000
              },
              "requestDelaySeconds": {
                "title": "Delay between requests (seconds)",
                "type": "number",
                "editor": "number",
                "description": "Space requests out. A longer delay makes collection slower and does not guarantee access.",
                "default": 0.3,
                "minimum": 0,
                "maximum": 10
              },
              "requestTimeoutSeconds": {
                "title": "Request timeout (seconds)",
                "type": "integer",
                "editor": "number",
                "description": "Give each request this much time to finish.",
                "default": 25,
                "minimum": 5,
                "maximum": 60
              },
              "maxRetries": {
                "title": "Retries for temporary errors",
                "type": "integer",
                "editor": "number",
                "description": "Retry temporary connection, rate-limit and server errors. Recovery is automatic and bounded by the collection limits.",
                "default": 2,
                "minimum": 0,
                "maximum": 3
              }
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}