Zillow API + Market KPIs (Bridge Interactive Alternative) avatar

Zillow API + Market KPIs (Bridge Interactive Alternative)

Pricing

Pay per event

Go to Apify Store
Zillow API + Market KPIs (Bridge Interactive Alternative)

Zillow API + Market KPIs (Bridge Interactive Alternative)

๐Ÿก The Zillow API replacement โ€” no key, no rate limits, no spreadsheet math. Paste any Zillow URL โ†’ listings + Zestimate + total inventory + investor KPIs (gross yield, cap rate, cash flow, price/Zestimate, days-on-market). Bridge Interactive alternative. Bulk URL & CSV input. $0.003/property.

Pricing

Pay per event

Rating

5.0

(1)

Developer

SIรN Oรœ

SIรN Oรœ

Maintained by Community

Actor stats

2

Bookmarked

3

Total users

2

Monthly active users

a day ago

Last modified

Share

Zillow Scraper API + Market KPIs โ€” The Zillow API Replacement ๐Ÿก

SIรN Agency Store Smart Idealista Scraper

๐ŸŽ‰ The Zillow API replacement โ€” no key, no rate limits, no spreadsheet math. 7 search modes (URL ยท address ยท MLS ยท polygon ยท coordinates ยท map bounds ยท off-market) โ†’ listings + Zestimate + total inventory + investor KPIs in seconds.

A drop-in Bridge Interactive Zillow API alternative for real estate investors, agents, market researchers, and proptech teams who need reliable US property data and the market context to act on it.

๐Ÿ“‹ Overview

Don't just scrape Zillow โ€” diagnose the market. Zillow's official API is gated, restricted, and expensive. Paste a Zillow search URL into this scraper โ€” any city, state, ZIP, or filtered search page โ€” and get back clean structured JSON, automatic pagination across all pages, and a market-KPI dashboard built from the data you just pulled. No headless browsers, no broken selectors, no API keys, no maintenance.

Perfect for real estate professionals, investors, lead generation teams, and CRE researchers who need consistent Zillow data at scale.

Why thousands of professionals choose us:

  • ๐Ÿงญ 7 search modes: URL, address, MLS ID, polygon (map-drawn), coordinates+radius, map bounds, off-market โ€” pick how you want to search
  • ๐ŸŒ Total inventory count: We expose total_results โ€” see how many listings exist for your search before you even scroll
  • ๐Ÿ”„ Auto-pagination: One URL โ†’ we paginate /2_p/, /3_p/, ... up to your cap. No manual loops
  • ๐Ÿ“ˆ Investor KPIs out of the box: Median gross rental yield, price-to-Zestimate, price-to-tax-assessed, days-on-market, and stale-listing share โ€” computed automatically per run
  • ๐Ÿ˜ Inventory breakdown: Counts by home type (SFH/condo/townhouse), status, and price/sqft distribution โ€” built in
  • โœ… URL-driven: Paste any Zillow search URL โ€” pagination, filters, map bounds all preserved
  • โšก Fast & reliable: API-powered extraction, never breaks on Zillow layout changes
  • ๐ŸŽฏ 30+ fields per property: Address, price, Zestimate, beds, baths, sqft, photos, GPS, tax data
  • ๐Ÿ’ฐ Best price: $0.003 per property โ€” pay only for what you extract
  • ๐Ÿ“ Bulk + CSV input: Process unlimited search URLs in one run (PAID tier)
  • ๐Ÿ’Ž Auto deduplication: Same ZPID across pages? We remove duplicates automatically
  • ๐Ÿ†“ Free tier: 25 properties per run, no credit card required

๐Ÿงญ 7 Search Modes โ€” pick how you want to query Zillow

Set searchMode to one of the values below. Each mode reads its own input fields; everything downstream (auto-pagination, KPI computation, HTML report, dedup) is identical.

ModeInput fieldsTierWhen to use
url (default)searchUrl ยท searchUrls ยท urlsCsvFREE+PAIDYou have a Zillow URL with all filters baked in
addressaddressQuery ยท addressQueries (PAID)FREE+PAIDFree-text city/neighborhood/address lookup
mlsmlsId ยท mlsIds (PAID)FREE+PAIDYou know the MLS listing ID
polygonpolygonCoords (array of โ‰ฅ3 [lng, lat] pairs)PAIDMap-drawn polygon search
coordinatescenterLat ยท centerLng ยท radiusMiles (max 50)FREE+PAIDCenter point + radius
mapboundsnorth ยท south ยท east ยท westPAIDBounding-box search
offmarketoffmarketZip (ZIP only โ€” upstream rejects address)PAIDOff-market property sourcing

Shared inputs (apply across all modes):

  • listingStatus โ€” For_Sale (default) ยท For_Rent ยท Sold. Required by every mode except url (the URL itself encodes status) and offmarket.
  • maxResultsPerQuery โ€” default 40, chosen so a default click-Run finishes in exactly one upstream API request across every mode. Increase to scrape more pages. FREE tier is always capped at 25.
  • startPage โ€” default 1. URL mode also honors /N_p/ suffix on the URL itself.

โš™๏ธ Defaults are 100% backward-compatible. If you don't set searchMode, the actor runs in url mode exactly like v1.0.

๐Ÿ“ˆ Market Intelligence (the unfair advantage)

After every run, alongside your dataset you get a market-kpis.json record and an HTML report with these signals โ€” nothing else on the Apify Store returns this:

SignalWhat it tells you
Gross rental yield (median)(rentZestimate ร— 12) / price โ€” buy-to-rent investability at a glance
Cap rate (median)NOI / price using a 40% operating expense ratio โ€” true return after operating costs
Estimated monthly cash flow (median)Net cash flow at 20% down ยท 7% mortgage ยท 30-yr amortization โ€” industry-standard investor underwriting
Price / Zestimate (median)<1 means listings are below Zillow's estimate, >1 means above
Price / Tax Assessed (median)Sanity check vs municipal valuation โ€” spots overpriced markets
Coverage ratioHow much of total_results your run actually pulled
Stale share% of listings on Zillow more than 60 days โ€” hot-vs-cold market read
Days on ZillowMin ยท median ยท avg ยท p90 ยท max โ€” full distribution
Price / area / $-per-sqft / beds / bathsMin ยท median ยท avg ยท p90 ยท max for each
Inventory breakdownCounts by home type, home status, status type

๐Ÿ’ก Underwriting assumptions are echoed in every report so you always see what defaults drove a given number โ€” 20% down ยท 7% mortgage ยท 40% operating expense ratio ยท 30-year amortization. These match standard investor norms.

โœจ Features

  • ๐Ÿ”— Direct URL Input: Paste any zillow.com search page โ€” for-sale, for-rent, sold, map searches
  • ๐Ÿ“‹ Bulk Mode: Process multiple Zillow URLs in one run (PAID)
  • ๐Ÿ“ CSV Upload: Drop a CSV of search URLs โ€” Excel/Google Sheets friendly (PAID)
  • ๐Ÿท๏ธ Zestimate Included: Get Zillow's Zestimate and Rent Zestimate values directly
  • ๐Ÿ“ธ All Photos: Full image array per listing, not just the thumbnail
  • ๐Ÿ—บ๏ธ GPS Coordinates: Latitude and longitude for every property
  • ๐Ÿ  Home Type Detection: Single family, condo, townhouse, multi-family, land, manufactured
  • ๐Ÿ“… Days on Zillow: Time-on-market data for hot-list filtering
  • ๐Ÿ’ต Tax Assessed Value: Public assessment data per property
  • ๐ŸŽฌ Media Flags: 3D model and video tour availability per listing

๐ŸŽฌ Quick Start

Paste a Zillow URL โ†’ click Run โ†’ download structured JSON. That's it.

curl -X POST https://api.apify.com/v2/acts/sian.agency~zillow-property-scraper/runs?token=YOUR_TOKEN \
-H 'Content-Type: application/json' \
-d '{"searchUrl": "https://www.zillow.com/austin-tx/"}'

๐Ÿš€ Getting Started (3 Simple Steps)

Step 1: Copy a Zillow Search URL

Go to zillow.com, search for a city or apply filters, and copy the URL from your browser. Examples:

  • https://www.zillow.com/austin-tx/
  • https://www.zillow.com/los-angeles-ca/houses/
  • https://www.zillow.com/homes/for_sale/Austin,-TX_rb/

Step 2: Paste & Configure

Paste the URL into searchUrl. Set maxResultsPerUrl if you want to cap results (FREE tier is always capped at 25).

Step 3: Run & Download

Click Run. Download as JSON or CSV when finished.

That's it! In under a minute, you'll have:

  • Full property records (price, beds, baths, sqft)
  • Zestimate and Rent Zestimate per property
  • Geographic coordinates for mapping
  • All photo URLs and media flags
  • Direct Zillow listing URLs for verification

๐Ÿ“ฅ Input Configuration

FieldTypeRequiredDescription
searchUrlstringYes (single mode)Zillow search URL to scrape
searchUrlsarrayNoBulk array of Zillow URLs (PAID only)
urlsCsvarrayNoCSV file upload with one URL per line (PAID only)
maxResultsPerUrlintegerNoCap properties returned per URL (default 100, FREE tier capped at 25)

Pagination: Pagination is automatic โ€” the scraper fetches as many pages as needed to satisfy maxResultsPerUrl. Each search returns ~42 results per page; total available results are reported in the HTML summary and in search-totals.json (key-value store). Optionally append /N_p/ to start from a specific page (e.g. https://www.zillow.com/austin-tx/3_p/).

Single URL example:

{
"searchUrl": "https://www.zillow.com/austin-tx/",
"maxResultsPerUrl": 100
}

Bulk URLs example (PAID):

{
"searchUrls": [
"https://www.zillow.com/austin-tx/",
"https://www.zillow.com/miami-fl/",
"https://www.zillow.com/seattle-wa/"
]
}

๐Ÿ“ค Output

Each property is saved to the Apify dataset with 30+ fields including:

FieldTypeDescription
zpidstringZillow property ID (unique)
detailUrlstringDirect Zillow listing URL
addressstringFull street address
addressCitystringCity
addressStatestringState (US 2-letter)
addressZipcodestringZIP code
unformattedPricenumberPrice (raw number)
pricestringPrice (formatted, e.g. "$425,000")
bedsnumberBedrooms
bathsnumberBathrooms
areanumberLiving area in square feet
homeTypestringSINGLE_FAMILY, CONDO, TOWNHOUSE, etc.
homeStatusstringFOR_SALE, FOR_RENT, SOLD, etc.
daysOnZillownumberDays listed
zestimatenumberZillow's value estimate
rentZestimatenumberEstimated monthly rent
taxAssessedValuenumberPublic tax assessment
latitudenumberGPS latitude
longitudenumberGPS longitude
imgSrcstringMain photo URL
allImagesarrayAll photo URLs
has3DModelboolean3D virtual tour available
hasVideobooleanVideo tour available

Example:

{
"zpid": "44359547",
"detailUrl": "https://www.zillow.com/homedetails/...",
"address": "1234 Riverside Ave, Jacksonville, FL 32204",
"addressCity": "Jacksonville",
"addressState": "FL",
"addressZipcode": "32204",
"unformattedPrice": 425000,
"price": "$425,000",
"beds": 3,
"baths": 2,
"area": 1850,
"homeType": "SINGLE_FAMILY",
"homeStatus": "FOR_SALE",
"daysOnZillow": 12,
"zestimate": 432100,
"rentZestimate": 2400,
"taxAssessedValue": 318500,
"latitude": 30.3322,
"longitude": -81.6557,
"imgSrc": "https://photos.zillowstatic.com/...",
"allImages": ["https://...", "https://..."],
"has3DModel": false,
"hasVideo": true
}

๐Ÿ’ผ Use Cases & Examples

1. Real Estate Investor Lead Generation

Investors finding undervalued properties across multiple metros

Input: Bulk Zillow search URLs filtered by max price + min beds Output: All matching listings with Zestimate vs price gap Use: Identify properties priced below Zestimate for off-market outreach

2. Comparable Sales (Comps) Analysis

Agents and appraisers building CMA reports

Input: Zillow URL filtered by neighborhood + sold-in-last-12-months Output: Recently sold comparables with price, sqft, beds, days on market Use: Generate accurate comparative market analyses in minutes

3. Multi-City Market Research

Proptech teams tracking pricing trends across markets

Input: CSV with 50+ city search URLs Output: Consolidated dataset with median prices, days on market by city Use: Build market dashboards, quarterly reports, investor decks

4. Rental Yield Calculation

Buy-to-rent investors analyzing cash flow potential

Input: Zillow for-sale URL + filter for single-family homes Output: Properties with both unformattedPrice and rentZestimate Use: Calculate gross rental yield = (rentZestimate ร— 12) / price

5. Real Estate CRM Enrichment

Agencies enriching lead lists with property data

Input: ZIP-code-specific Zillow URLs matching client portfolios Output: Property records with photos, GPS, Zestimate Use: Auto-populate CRM listings, send branded property alerts

6. Property Tax Arbitrage Research

Investors comparing taxAssessedValue vs market price

Input: Zillow URL filtered by county + property type Output: Properties with both taxAssessedValue and unformattedPrice Use: Identify over-assessed properties for tax appeal opportunities

7. Real Estate Aggregator / Directory Sites

Builders of property directory sites needing seed data

Input: State or city-level Zillow URLs (paginated) Output: Full property catalog with photos, descriptions, geo Use: Bootstrap a property listings directory with structured data

๐Ÿ”— Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/zillow-property-scraper').call({
searchUrl: 'https://www.zillow.com/austin-tx/',
maxResultsPerUrl: 100
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Found ${items.length} properties`);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/zillow-property-scraper').call(
run_input={
'searchUrl': 'https://www.zillow.com/austin-tx/',
'maxResultsPerUrl': 100
}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item['address'], item['unformattedPrice'])

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~zillow-property-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"searchUrl": "https://www.zillow.com/los-angeles-ca/"}'

Automation Workflows (n8n / Zapier / Make)

  1. Trigger: Schedule (daily/weekly) or new-lead webhook
  2. HTTP Request: Call this actor with target Zillow URL
  3. Process: Filter properties by price/beds/Zestimate gap
  4. Action: Save to Airtable/Google Sheets, send Slack alert, push to CRM

๐Ÿ“Š Performance & Pricing

FREE Tier (Try It Now)

  • 25 properties per run โ€” full feature access, all fields included
  • 1 search URL per run
  • No credit card required
  • Perfect for testing, single-city research, small projects
  • Unlimited properties per run
  • Unlimited search URLs (bulk + CSV upload)
  • Pay-per-result pricing โ€” only charged for properties extracted
  • Ideal for investor pipelines, market research, lead gen at scale

Pricing Model

  • Start fee: $0.005 per run
  • Per property: $0.003

Cost Examples

  • 25 properties (FREE tier max): $0.005 + $0.075 = $0.08
  • 100 properties: $0.005 + $0.30 = $0.305
  • 1,000 properties: $0.005 + $3.00 = $3.005

๐Ÿ’ฐ Best price on the market โ€” flat $0.003 per property, no hidden fees.

๐Ÿ”— View current pricing

โ“ Frequently Asked Questions

Q: Does Zillow have an API? A: Zillow no longer offers a public API for property listings. The legacy Zillow Web Services API (GetSearchResults, GetZestimate, etc.) was retired, and the Bridge Interactive API is restricted to Zillow Premier Agents and approved MLS partners. This actor is the practical replacement โ€” paste any Zillow search URL and get the same data the official API used to return, plus market KPIs the official API never offered.

Q: Looking for a Bridge Interactive Zillow API alternative? A: You're in the right place. Zillow's Bridge Interactive API requires partner approval, MLS membership, and has strict access criteria. This Zillow Scraper API works on any zillow.com search URL with no key, no MLS affiliation, and no approval process. You get the same property records (address, beds, baths, price, Zestimate, rent Zestimate, GPS, photos, tax data) at $0.003 per property.

Q: How much does Zillow API access cost? A: The official Zillow Bridge API has variable pricing and is gated to approved partners. This Zillow Scraper API is flat-rate $0.003 per property (plus $0.005 per run start) โ€” no monthly minimums, no contracts. The FREE tier gives you 25 properties per run, no credit card required.

Q: How does this Zillow Scraper compare to the official Zillow API? A: This actor returns the same core data the official API exposed (listing info, Zestimate, photos, tax history) plus three things the official API does not offer: (1) total_results for the full search inventory, (2) auto-pagination to your cap, and (3) computed investor KPIs (gross yield, cap rate, monthly cash flow, price-to-Zestimate, days-on-market, stale-listing share).

Q: Can I use this Zillow scraper from Python? A: Yes โ€” call it via the Apify Python SDK or any HTTP client. See the Python integration example above. The actor returns clean JSON ready for pandas/polars dataframes.

Q: Do I need a Zillow API key? A: No. There's no Zillow API key, no Bridge Interactive partner approval, no MLS membership. Just an Apify account.

Q: Which Zillow URLs work? A: Any zillow.com search URL โ€” city pages, state pages, filtered searches, map searches, for-sale, for-rent, and sold pages. Single property detail URLs (/homedetails/...) are not supported โ€” use a search URL.

Q: How do I get more than 25 results? A: FREE tier caps at 25 per run. Upgrade to PAID for unlimited results. Pagination is automatic โ€” set maxResultsPerUrl to your target and we'll fetch as many pages as needed.

Q: Are Zestimate and Rent Zestimate always available? A: Almost always for residential listings. Some new construction, land, and commercial listings may not have a Zestimate.

Q: Does pagination work? A: Yes โ€” and it's automatic. We paginate /2_p/, /3_p/, ... until your maxResultsPerUrl cap is reached or the search is fully drained. You can still append /N_p/ manually to start at a specific page.

Q: Can I filter by price, beds, or property type? A: Use Zillow's own filters in your browser, then copy the resulting URL. Filters are preserved in the URL.

Q: What output formats are available? A: JSON, CSV, Excel, HTML โ€” export directly from the Apify dataset.

Q: Is this legal? A: Yes โ€” only publicly available Zillow listings are extracted. See the legal section below.

Q: How fast is it? A: Roughly 1-3 seconds per Zillow search URL fetched, plus per-property processing. A 100-property run typically completes in under 30 seconds.

๐Ÿ› Troubleshooting

No results returned

  • Verify the URL works in a browser
  • Check the URL is a Zillow search page, not a single property detail page
  • Try removing aggressive filters (very narrow price ranges return 0 results)

Truncated to 25 results on FREE tier

  • This is the FREE tier cap. Upgrade to PAID for unlimited results
  • Or paginate with /2_p/, /3_p/ URLs across multiple runs

Bulk mode rejected on FREE

  • searchUrls and urlsCsv are PAID-only. FREE users: use searchUrl (single)

Some properties missing Zestimate

  • Zestimate isn't available for every listing (new construction, land, etc.). The field will be null when unavailable.

Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what users have chosen to share publicly on Zillow. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.

๐Ÿค Support

Join our active support community


Built by SIรN Agency | More Tools

๐ŸŽฏ Not sure which tier you need? Start with FREE โ€” no credit card required. Upgrade when you're ready to scale.