
Zillow Real Estate Scraper
This Actor is unavailable because the developer has decided to deprecate it. Would you like to try a similar Actor instead?
See alternative Actors
Zillow Real Estate Scraper
Our free Zillow scraper lets you extract data about properties for sale and rent on Zillow using the Zillow API, but with no daily call limits. Scrape millions of listings and download your data as HTML, JSON, CSV, Excel, XML, and RSS feed.
You can access the Zillow Real Estate Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, youβll need an Apify account and your API token, found in Integrations settings in Apify Console.
1{
2 "openapi": "3.0.1",
3 "info": {
4 "version": "0.1",
5 "x-build-id": "AnZUz9O7fA2dlJ2Ur"
6 },
7 "servers": [
8 {
9 "url": "https://api.apify.com/v2"
10 }
11 ],
12 "paths": {
13 "/acts/petr_cermak~zillow-api-scraper/run-sync-get-dataset-items": {
14 "post": {
15 "operationId": "run-sync-get-dataset-items-petr_cermak-zillow-api-scraper",
16 "x-openai-isConsequential": false,
17 "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
18 "tags": [
19 "Run Actor"
20 ],
21 "requestBody": {
22 "required": true,
23 "content": {
24 "application/json": {
25 "schema": {
26 "$ref": "#/components/schemas/inputSchema"
27 }
28 }
29 }
30 },
31 "parameters": [
32 {
33 "name": "token",
34 "in": "query",
35 "required": true,
36 "schema": {
37 "type": "string"
38 },
39 "description": "Enter your Apify token here"
40 }
41 ],
42 "responses": {
43 "200": {
44 "description": "OK"
45 }
46 }
47 }
48 },
49 "/acts/petr_cermak~zillow-api-scraper/runs": {
50 "post": {
51 "operationId": "runs-sync-petr_cermak-zillow-api-scraper",
52 "x-openai-isConsequential": false,
53 "summary": "Executes an Actor and returns information about the initiated run in response.",
54 "tags": [
55 "Run Actor"
56 ],
57 "requestBody": {
58 "required": true,
59 "content": {
60 "application/json": {
61 "schema": {
62 "$ref": "#/components/schemas/inputSchema"
63 }
64 }
65 }
66 },
67 "parameters": [
68 {
69 "name": "token",
70 "in": "query",
71 "required": true,
72 "schema": {
73 "type": "string"
74 },
75 "description": "Enter your Apify token here"
76 }
77 ],
78 "responses": {
79 "200": {
80 "description": "OK",
81 "content": {
82 "application/json": {
83 "schema": {
84 "$ref": "#/components/schemas/runsResponseSchema"
85 }
86 }
87 }
88 }
89 }
90 }
91 },
92 "/acts/petr_cermak~zillow-api-scraper/run-sync": {
93 "post": {
94 "operationId": "run-sync-petr_cermak-zillow-api-scraper",
95 "x-openai-isConsequential": false,
96 "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
97 "tags": [
98 "Run Actor"
99 ],
100 "requestBody": {
101 "required": true,
102 "content": {
103 "application/json": {
104 "schema": {
105 "$ref": "#/components/schemas/inputSchema"
106 }
107 }
108 }
109 },
110 "parameters": [
111 {
112 "name": "token",
113 "in": "query",
114 "required": true,
115 "schema": {
116 "type": "string"
117 },
118 "description": "Enter your Apify token here"
119 }
120 ],
121 "responses": {
122 "200": {
123 "description": "OK"
124 }
125 }
126 }
127 }
128 },
129 "components": {
130 "schemas": {
131 "inputSchema": {
132 "type": "object",
133 "properties": {
134 "search": {
135 "title": "Search",
136 "type": "string",
137 "description": "Query to search on Zillow.com"
138 },
139 "type": {
140 "title": "Type",
141 "enum": [
142 "all",
143 "sale",
144 "fsbo",
145 "rent",
146 "sold"
147 ],
148 "type": "string",
149 "description": "Property for sale/rent",
150 "default": "all"
151 },
152 "maxItems": {
153 "title": "Max items",
154 "minimum": 0,
155 "type": "integer",
156 "description": "Limit of home detail pages to be scraped",
157 "default": 200
158 },
159 "simple": {
160 "title": "Simple results",
161 "type": "boolean",
162 "description": "Return only a subset of possible result attributes.",
163 "default": true
164 },
165 "startUrls": {
166 "title": "Start URLs",
167 "type": "array",
168 "description": "List of URLs that will be crawled.",
169 "items": {
170 "type": "object",
171 "required": [
172 "url"
173 ],
174 "properties": {
175 "url": {
176 "type": "string",
177 "title": "URL of a web page",
178 "format": "uri"
179 }
180 }
181 }
182 },
183 "zpids": {
184 "title": "Zillow home IDs",
185 "type": "array",
186 "description": "List of ZPIDs that will be scraped."
187 },
188 "zipcodes": {
189 "title": "US Zipcodes",
190 "type": "array",
191 "description": "List of zipcodes that will be scraped. Notice that this can take a lot of time to complete!"
192 },
193 "maxLevel": {
194 "title": "Max zoom level",
195 "minimum": 0,
196 "type": "integer",
197 "description": "Maximum map splitting level. The bigger number is set, the longer the scrape will take",
198 "default": 1
199 },
200 "minDate": {
201 "title": "Minimum date",
202 "pattern": "^(\\d{4}-\\d{2}-\\d{2}|(\\d+)\\s?(month|week|day|year|hour|minute)s?|(to|yester)day)$",
203 "type": "string",
204 "description": "Oldest date allowed in results. Can use literal dates, such as YYYY-MM-DD or relative ones, like 3 hours, 1 month, 2 days, today or yesterday"
205 },
206 "maxDate": {
207 "title": "Maximum date",
208 "pattern": "^(\\d{4}-\\d{2}-\\d{2}|(\\d+)\\s?(month|week|day|year|hour|minute)s?|(to|yester)day)$",
209 "type": "string",
210 "description": "Newest date allowed in results. Can use literal dates, such as YYYY-MM-DD or relative ones, like 3 hours, 1 month, 2 days, today or yesterday"
211 },
212 "includeRelaxedResults": {
213 "title": "Include more results",
214 "type": "boolean",
215 "description": "Setting this option might give results close but outside to the original city / county / state.",
216 "default": true
217 },
218 "proxyConfiguration": {
219 "title": "Proxy configuration",
220 "type": "object",
221 "description": "The best option is usually Automatic proxy. But you can also use your own proxies or no proxy",
222 "default": {
223 "useApifyProxy": true
224 }
225 },
226 "maxRetries": {
227 "title": "Max retries",
228 "type": "integer",
229 "description": "How many retries until the scraper should give up",
230 "default": 6
231 },
232 "handlePageTimeoutSecs": {
233 "title": "Timeout seconds",
234 "type": "integer",
235 "description": "Configure the handlePageTimeoutSecs setting",
236 "default": 3600
237 },
238 "debugLog": {
239 "title": "Debug log",
240 "type": "boolean",
241 "description": "Enable debug log",
242 "default": false
243 },
244 "extendOutputFunction": {
245 "title": "Extend output function",
246 "type": "string",
247 "description": "Extend the output item to contain more fields. The raw data is present in the 'data' variable."
248 },
249 "extendScraperFunction": {
250 "title": "Extend Scraper Function",
251 "type": "string",
252 "description": "Advanced function that allows you to extend the default scraper functionality, allowing you to manually perform actions on the page",
253 "default": ""
254 },
255 "customData": {
256 "title": "Custom data",
257 "type": "object",
258 "description": "Any data that you want to have available inside the Extend Output/Scraper Function",
259 "default": {}
260 },
261 "rawOutput": {
262 "title": "Raw output",
263 "type": "boolean",
264 "description": "Output the results without any filtering or formatting. It's recommended to leave this option unchecked.",
265 "default": false
266 }
267 }
268 },
269 "runsResponseSchema": {
270 "type": "object",
271 "properties": {
272 "data": {
273 "type": "object",
274 "properties": {
275 "id": {
276 "type": "string"
277 },
278 "actId": {
279 "type": "string"
280 },
281 "userId": {
282 "type": "string"
283 },
284 "startedAt": {
285 "type": "string",
286 "format": "date-time",
287 "example": "2025-01-08T00:00:00.000Z"
288 },
289 "finishedAt": {
290 "type": "string",
291 "format": "date-time",
292 "example": "2025-01-08T00:00:00.000Z"
293 },
294 "status": {
295 "type": "string",
296 "example": "READY"
297 },
298 "meta": {
299 "type": "object",
300 "properties": {
301 "origin": {
302 "type": "string",
303 "example": "API"
304 },
305 "userAgent": {
306 "type": "string"
307 }
308 }
309 },
310 "stats": {
311 "type": "object",
312 "properties": {
313 "inputBodyLen": {
314 "type": "integer",
315 "example": 2000
316 },
317 "rebootCount": {
318 "type": "integer",
319 "example": 0
320 },
321 "restartCount": {
322 "type": "integer",
323 "example": 0
324 },
325 "resurrectCount": {
326 "type": "integer",
327 "example": 0
328 },
329 "computeUnits": {
330 "type": "integer",
331 "example": 0
332 }
333 }
334 },
335 "options": {
336 "type": "object",
337 "properties": {
338 "build": {
339 "type": "string",
340 "example": "latest"
341 },
342 "timeoutSecs": {
343 "type": "integer",
344 "example": 300
345 },
346 "memoryMbytes": {
347 "type": "integer",
348 "example": 1024
349 },
350 "diskMbytes": {
351 "type": "integer",
352 "example": 2048
353 }
354 }
355 },
356 "buildId": {
357 "type": "string"
358 },
359 "defaultKeyValueStoreId": {
360 "type": "string"
361 },
362 "defaultDatasetId": {
363 "type": "string"
364 },
365 "defaultRequestQueueId": {
366 "type": "string"
367 },
368 "buildNumber": {
369 "type": "string",
370 "example": "1.0.0"
371 },
372 "containerUrl": {
373 "type": "string"
374 },
375 "usage": {
376 "type": "object",
377 "properties": {
378 "ACTOR_COMPUTE_UNITS": {
379 "type": "integer",
380 "example": 0
381 },
382 "DATASET_READS": {
383 "type": "integer",
384 "example": 0
385 },
386 "DATASET_WRITES": {
387 "type": "integer",
388 "example": 0
389 },
390 "KEY_VALUE_STORE_READS": {
391 "type": "integer",
392 "example": 0
393 },
394 "KEY_VALUE_STORE_WRITES": {
395 "type": "integer",
396 "example": 1
397 },
398 "KEY_VALUE_STORE_LISTS": {
399 "type": "integer",
400 "example": 0
401 },
402 "REQUEST_QUEUE_READS": {
403 "type": "integer",
404 "example": 0
405 },
406 "REQUEST_QUEUE_WRITES": {
407 "type": "integer",
408 "example": 0
409 },
410 "DATA_TRANSFER_INTERNAL_GBYTES": {
411 "type": "integer",
412 "example": 0
413 },
414 "DATA_TRANSFER_EXTERNAL_GBYTES": {
415 "type": "integer",
416 "example": 0
417 },
418 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
419 "type": "integer",
420 "example": 0
421 },
422 "PROXY_SERPS": {
423 "type": "integer",
424 "example": 0
425 }
426 }
427 },
428 "usageTotalUsd": {
429 "type": "number",
430 "example": 0.00005
431 },
432 "usageUsd": {
433 "type": "object",
434 "properties": {
435 "ACTOR_COMPUTE_UNITS": {
436 "type": "integer",
437 "example": 0
438 },
439 "DATASET_READS": {
440 "type": "integer",
441 "example": 0
442 },
443 "DATASET_WRITES": {
444 "type": "integer",
445 "example": 0
446 },
447 "KEY_VALUE_STORE_READS": {
448 "type": "integer",
449 "example": 0
450 },
451 "KEY_VALUE_STORE_WRITES": {
452 "type": "number",
453 "example": 0.00005
454 },
455 "KEY_VALUE_STORE_LISTS": {
456 "type": "integer",
457 "example": 0
458 },
459 "REQUEST_QUEUE_READS": {
460 "type": "integer",
461 "example": 0
462 },
463 "REQUEST_QUEUE_WRITES": {
464 "type": "integer",
465 "example": 0
466 },
467 "DATA_TRANSFER_INTERNAL_GBYTES": {
468 "type": "integer",
469 "example": 0
470 },
471 "DATA_TRANSFER_EXTERNAL_GBYTES": {
472 "type": "integer",
473 "example": 0
474 },
475 "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
476 "type": "integer",
477 "example": 0
478 },
479 "PROXY_SERPS": {
480 "type": "integer",
481 "example": 0
482 }
483 }
484 }
485 }
486 }
487 }
488 }
489 }
490 }
491}
Scrape Zillow real estate listings ποΈ OpenAPI definition
OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Zillow Real Estate Scraper from the options below:
If youβd like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: