Zillow data in Make
Bring Zillow listing data into a Make scenario with the built-in HTTP module: single lookups for each new record, or one batch request whose results an Iterator splits back into bundles.
Base URL https://api.propertiesapi.com/v1 · auth header x-api-key. PropertiesAPI is an independent service that returns Zillow property and listing data as JSON, provided as-is.
How Make fits
Make has no PropertiesAPI app, and none is needed: the HTTP module's Make a request action sends any HTTPS request, including the x-api-key header, and parses the JSON response into fields you can map.
Make's visual router suits the error cases well. Send successful lookups on to your sheet or CRM, send address_ambiguous answers to a person with the closest match's Zillow link, and drop not_found records into a review list.
A live lookup takes typically 8 seconds, up to about 20 seconds, so raise the HTTP module's timeout above Make's default. Repeat lookups of the same home within 24 hours come from our cache and are free.
Single lookup: HTTP > Make a request
Add the module after your trigger and set these fields. Turn on Parse response so the JSON becomes mappable fields.
URL: https://api.propertiesapi.com/v1/zillow/property
Method: GET
Headers: x-api-key = <your key>
Query String: address = {{trigger address}} (or url = {{zillow link}})
Parse response: Yes
Timeout: 120
Evaluate all states as errors: NoRoute on the status code
With Evaluate all states as errors off, the module passes errors on as normal bundles. A Router with filters on the status code keeps each case on its own path.
Route found: Status code = 200 -> map data.price, data.zestimate, data.homeStatus
Route review: Status code = 409 -> data.error.details.candidate.detailUrl to a person
Route not found: Status code = 404 -> mark the record as not found
Route retry later: Status code in 429, 502, 503, 504 -> Sleep, then retry, or leave for the next runBatch: one request, many bundles
To enrich a list, aggregate up to 50 addresses or links into an array, post it to the batch endpoint, then use an Iterator on data so each result becomes its own bundle with ok, data and error.
URL: https://api.propertiesapi.com/v1/zillow/batch
Method: POST
Headers: x-api-key = <your key>
Body type: Raw, JSON (application/json)
Request content:
{ "items": {{array of addresses or Zillow links}} }
Parse response: Yes
Timeout: 300
Next: Iterator over {{data}} -> Filter ok = true -> your sheet or CRMMake gotchas
- Make shows the response body under Data. The property itself is then under data again, so the price maps from Data > data > price.
- Only one of url, zpid or address per request. If the trigger may have either, use an if() in the mapping to send one.
- Batch items that failed come back with ok false and an error code. They cost nothing and can be retried in a later run.
- The HTTP module's timeout has an upper limit in Make. Keep batches at or under the size that finishes inside it, or use single lookups.
Zillow API and Make: questions
Is there a PropertiesAPI app on Make?+
No. The built-in HTTP module is the supported way to call the API from Make, as shown on this page.
Is this the same as Integromat?+
Yes. Make was called Integromat before it was renamed, and the HTTP module works the same way.
What does a scenario run cost on our side?+
Zillow links and addresses cost the same: 1 credit per successful lookup. Repeat lookups of the same home within 24 hours come from our cache and are free. Failed lookups cost nothing. You start with 50 free lookups.
Can Make watch Zillow for new listings?+
No. PropertiesAPI looks up homes you already know by link, zpid or address; it doesn't search Zillow or send listing alerts.
Make your first call from Make
50 free lookups, no card, no approval.
Zillow is a trademark of Zillow, Inc. PropertiesAPI is an independent service and is not affiliated with, endorsed by or sponsored by Zillow.