Quick Overview
This workflow monitors Zillow searches using ScraperAPI’s AI Parser, stores seen listings in n8n Data Tables, and emails a daily HTML digest of newly found listings via Gmail.
How it works
- Runs on a daily 9AM schedule or manually to check for new listings across saved Zillow search URLs.
- Loads all search configurations from an n8n Data Table and processes them one at a time.
- Uses ScraperAPI AI Parser to scrape each Zillow search results page and extract listing fields like address, price, beds, baths, and URL.
- Filters the scraped listings against the search thresholds and compares them to previously logged ZPIDs in an n8n Data Table to identify new listings.
- Writes each newly discovered listing into the “seen” Data Table to prevent duplicate alerts in future runs.
- Retrieves all listings first seen today, builds an HTML digest grouped by search name, and sends it as a Gmail email.
Setup
- Create n8n Data Tables access (or enable Data Tables in your n8n instance) and run the manual initialization trigger once to create and seed the zillow_searches and zillow_seen tables.
- Add your ScraperAPI credentials, run the “Create Parser” manual trigger once, and copy the resulting parser ID into the ScraperAPI parse step (replace
REPLACE_WITH_PARSER_ID).
- Add your Gmail OAuth2 credentials and set the recipient email address in the Gmail send step.
- Update the Zillow search URLs and filter fields in the zillow_searches table to match the locations and criteria you want to monitor.