Zillow Property Data in n8n: Automate Lookups to Google Sheets

August 19, 2026 · 6 min read

n8n is where a lot of real estate operations quietly run: lead routing, listing alerts, CRM sync, the daily spreadsheet that somebody used to update by hand. The one missing piece is usually the property data itself — and since there's no official Zillow node, people assume they need to build something custom.

They don't. n8n's built-in HTTP Request node calls APIllow's REST API directly, which means Zillow property data drops into any workflow with zero custom code. This guide shows the pattern, two workflows worth building, and where to grab ready-to-import templates.

The one-time setup: an API key credential

Do this once and every workflow inherits it:

  1. Get an APIllow key — the free tier is 50 requests/month, no card.
  2. In n8n, go to Credentials → New → Header Auth.
  3. Set Name to x-api-key and Value to your key. Save it as "APIllow".

Now any HTTP Request node can select that credential, and your key never appears in the workflow itself — so you can export and share templates safely.

The basic call

Every APIllow lookup is one HTTP Request node:

# HTTP Request node config Method: POST URL: https://api.apillow.co/v1/properties Authentication: Header Auth → APIllow Body (JSON): { "addresses": ["1874 Bromton Dr, Lyndhurst, OH 44124"] }

Requests accept addresses, ZPIDs, or Zillow URLs, and ZIP-code searches for active listings. For a handful of properties the response comes right back; for larger batches the API returns a job_id you poll — which in n8n is just a Wait node followed by a second HTTP Request to /v1/results/{{job_id}}.

Workflow 1: enrich an address list into Google Sheets

The bread-and-butter automation. You have a sheet of addresses (leads, a farm area, a portfolio); you want prices, Zestimates, and last-sold data next to each one.

Google Sheets (read addresses) → HTTP Request (POST /v1/properties with the address batch) → Wait 5s → HTTP Request (GET /v1/results/{{job_id}}) → Split Out (one item per property) → Google Sheets (append: address, price, zestimate, last_sold_date...)

Point it at a sheet, run it, and the enriched columns fill in. Swap the manual trigger for a Schedule trigger and it re-runs nightly to keep valuations fresh.

Workflow 2: watch a ZIP for new listings → Slack

An agent-style monitor. Every morning, pull active listings in a ZIP, compare against what you saw yesterday, and post anything new to Slack.

Schedule (daily 8am) → HTTP Request (POST /v1/properties, {"zipcodes":[44124], "type":"sale"}) → Wait → HTTP Request (GET results) → Code node (diff vs. yesterday's ZPIDs, stored in a Data Table) → Slack (post the new listings)

The same shape drives a price-cut alert — swap the "new ZPID" diff for a "price dropped" diff using the price history field.

Import the templates

We publish both workflows above as importable n8n templates so you don't have to wire the nodes by hand — grab them from the docs, import the JSON into n8n (Workflows → Import from File), select your APIllow credential, and run. You supply your own key; the templates ship without one.

TemplateTriggerOutput
Address list → enriched SheetManual or ScheduleGoogle Sheets
ZIP new-listing watcherSchedule (daily)Slack / email

Why HTTP Request beats a no-code scraper add-on

You'll find Chrome-extension and Sheets-add-on scrapers that promise Zillow data with fewer steps. They break the moment Zillow changes its page, they run from your machine or account, and they rarely give you the off-market sold data that makes property automations useful. Calling a hosted API from n8n's standard node means the brittle part — anti-bot, session handling, enrichment — is somebody else's operational problem, and your workflow just gets JSON.

Build your first Zillow workflow

Free API key in 60 seconds, then import a template and run. 50 requests/month, no card.

Get API Key

Related reading

Final takeaway

No official Zillow node, no problem: n8n's HTTP Request node plus an APIllow key is all it takes to put real property data into any automation you already run. Store the key as a credential once, import a template, and your addresses-to-Sheets or ZIP-watcher workflow is running in minutes.