Developer workflow · Real estate
Enrich an address list with property details using the APIVex Zillow API. Start with an importable n8n workflow or a Python script that reads and writes CSV files.
Templates are free to download. API calls use your APIVex plan allowance. View plans.
View the examples on GitHubUpload a CSV with an address column or a JSON array. Include city, state, ZIP code, and unit numbers when available.
Send one request per unique address to /zillow/search_address. The response can already include property details.
Keep the input and returned address side by side. Review every match before using or combining records.
Follow a CSV from upload to downloaded results. This edited walkthrough uses real n8n screens and an animated cursor overlay. API key entry and the system file picker are omitted, and processing waits are shortened. The demo uses 12 repeated rows that become two distinct address strings; both resolve to the same property.
x-apivex-key and its value to your APIVex API key. Select this credential in Look up property.property-results.csv from the binary output of Export results CSV.There is no fixed address-count cap. Each unique trimmed address makes one request; exact duplicates are removed. Your plan allowance, file size, n8n memory, and execution timeout determine practical batch size. Requests run sequentially, with a two-second pause after each lookup. The template has no schedule and no automatic retries. Failed requests appear in the output; check credentials, quota and response status before rerunning.
Requires n8n 2.42.6 or later for the authenticated upload form. Sign in to your n8n instance to submit files. Uses built-in nodes; no community node installation is needed. See n8n’s HTTP Request documentation.
Requires Python 3.10 or later, with no extra packages. Download both files into the same folder. Put your addresses in the CSV’s address column, quoting addresses that contain commas.
export APIVEX_API_KEY="YOUR_KEY"
python3 enrich.py addresses.csv results.csv --limit 10$env:APIVEX_API_KEY="YOUR_KEY"
python enrich.py addresses.csv results.csv --limit 10The Python script defaults to a 10-row trial; set --limit 1000 (or your desired count) for bulk processing. It reuses identical addresses within a run, and leaves existing output files untouched. It retries network failures, HTTP 429 and server errors up to twice. Retries may consume additional quota. It stops on HTTP 401, 403 or an exhausted 429 response and keeps partial results.
| Field | How to use it |
|---|---|
| input_address / returned_address | Compare them before accepting a match. A returned property is not a verified address match. |
| status / http_status | Distinguish returned records, no result, unexpected responses, multiple results and request errors. |
| zpid | The returned property identifier. Keep it for subsequent property-specific requests. |
| price / home_status / currency | Read these together. A zero price does not mean a home is free; a sold or off-market property may not have a current asking price. |
| bedrooms / bathrooms / living_area | Available property attributes. Missing values remain blank. Consult the source record for area units. |
| zestimate / rent_zestimate | Source-provided estimates, when available. They are not guaranteed sale prices or rental income. |
The example was checked against an APIVex address response on October 11, 2026. Fields and availability vary by property. The starter expects a single property object; it flags unrecognized response shapes rather than guessing. APIVex is a third-party service, not an official Zillow API.
Download the Python script and give your assistant this task. Add your API key yourself through your environment or n8n credentials.
Adapt this APIVex address enrichment script to my input file. Preserve the input address, returned address, status and property ID. Keep credentials in APIVEX_API_KEY. Start with one row, preserve rate limiting and bounded retries, and do not assume a returned property is an exact address match. Keep missing values blank and do not replace them with estimates.