Compare multiple Zillow properties side-by-side
zillow_compare_propertiesCompare 2 to 25 Zillow properties side-by-side. Get full records per property and an optional pivoted summary table for easy comparison.
Instructions
Side-by-side analysis of 2-25 Zillow properties. If you just want N property records, use zillow_bulk_get instead — compare is for genuine side-by-side (its pivoted summary table is the value-add); bulk_get is the fetch-many endpoint and accepts up to 200 ids. (Issue #79 raised this cap from 8 to 25 — a 19-listing analysis now fits in one call instead of three.) Provide an array of zpids (or homedetails URLs). Returns the full per-property record per row (with extracted_features populated). Pass include_summary: true for an extra pivoted summary table (one row per field) — defaults off because results[].property.* already carries everything. The raw description is omitted from each row by default — pass include_description: true to keep it. Errors for individual properties are captured per-row — one bad zpid won't fail the whole call. Calls fan out concurrently (capped at 6 in flight, per issue #78, with retry-once-on-timeout per sub-request to absorb transient SW evictions).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| urls | No | Array of 2-25 Zillow homedetails URLs/paths to compare. Provide either zpids or urls. | |
| zpids | No | Array of 2-25 zpids to compare. Provide either zpids or urls. For larger batches, use `zillow_bulk_get`. | |
| include_summary | No | Include the pivoted `summary` table (one row per compared field, one column per listing). Defaults to `false` because `results[].property.*` already carries everything — the summary roughly doubles response weight and is mainly useful for human-readable rendering. | |
| include_description | No | Include the raw `description` on each row. Defaults to `false`. |