Realtor.com Market Data Scraper — Hotness, Forecast, Schools
Pricing
from $8.00 / 1,000 map layer queries
Realtor.com Market Data Scraper — Hotness, Forecast, Schools
Extract US housing market data from Realtor.com map layers: ZIP market hotness scores, 12-month price forecasts, days-on-market and home-value heatmaps, parcel-level estimates, flood and wildfire climate risk, school ratings. One query per metro returns hundreds of analyst-ready rows.
Pricing
from $8.00 / 1,000 map layer queries
Rating
0.0
(0)
Developer
SIÁN OÜ
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Realtor.com Market Data Scraper — Housing Market Intelligence 🚀
🎉 Every ZIP in a metro, scored and forecast in one query — 345 hotness-scored ZIPs and ~4,500 home-value heatmap cells per call
Built for real-estate investors, PropTech data teams, and market analysts who need housing market data, not listings
📋 Overview
Stop stitching together housing market data from blogs and PDFs — this actor pulls Realtor.com's market-intelligence map layers as clean, analyst-ready dataset rows: ZIP-level market hotness scores, 12-month home-price forecasts, days-on-market and home-value heatmaps, parcel-level estimates, climate-risk overlays, and school ratings for any US location.
Why data teams choose us:
- ✅ ZIP-level Market Hotness: every ZIP in a metro scored + labeled (345 ZIP rows for a single "Austin, TX" query)
- ⚡ 12-Month Price Forecasts: forecast home value in dollars AND percent change, per ZIP — feed buy-box models directly
- 🎯 ~4,500 Heatmap Cells per Query: home-value estimates, $/sqft, days on market, year built, lot data, noise scores
- 💰 Priced per query, not per row: one metro-wide layer costs about a cent — hundreds to thousands of rows per charge
- 💎 Parcel Mode (zoom 16): per-parcel value estimates with the real property IDs behind every cell, ready for detail enrichment
- ✨ NEW: climate-risk raster overlays (flood, wildfire, heat, wind, air) with 0/15/30-year projections stored as ready-to-use PNG tiles
✨ Features
- 🔥 Market Hotness Layer: demand score (0–100) + Hot/Warm/Cool label for every ZIP in the resolved region
- 📈 Housing Forecast Layer: 12-month forecast home value ($) and percentage change per ZIP
- 🗺️ 10 Heatmap Layers: Estimate, $/sqft, Sqft, YearBuilt, LotAcres, LotSlope, Noise, DaysOnMarket, Sold-vs-List, Sold $/sqft
- 🏠 Parcel Resolution: zoom 15–16 unlocks per-parcel estimates + property-ID join keys
- 🌊 Climate Risk Overlays: flood, wildfire, heat, wind, and air-quality rasters with selectable projection horizon (today / +15y / +30y)
- 🏫 Schools Layer: every school + district in the region with ratings, parent ratings, student-teacher ratios, phone, and website
- 🏘️ Neighborhoods Layer: neighborhood names with stable slug/geo IDs for downstream joins
- 📍 Free-Form Locations: ZIP, city, neighborhood, county, or full address — resolved automatically
- 📊 Analyst-Ready Rows: flat, typed fields that drop straight into BigQuery, Snowflake, pandas, or Sheets
🎬 Quick Start
Pick one or more US locations, choose your layers, and run — each location × layer pair returns its complete result set as dataset rows.
curl -X POST https://api.apify.com/v2/acts/sian.agency~realtor-market-analytics-scraper/runs?token=YOUR_TOKEN \-H 'Content-Type: application/json' \-d '{"locations": ["Austin, TX"], "layers": ["MarketHotness", "HousingForecast", "DaysOnMarket"]}'
🚀 Getting Started (3 Simple Steps)
Step 1: Enter locations
Add one or more US locations — 78704, Austin, TX, Travis County, or a full address.
Step 2: Pick your layers
Choose from 19 market-data layers: ZIP metrics, heatmaps, climate rasters, schools, neighborhoods.
Step 3: Run and export
Click Start. Export the dataset as JSON, CSV, or Excel — or read it via the API.
That's it! In under a minute, you'll have:
- Every ZIP in your market scored and forecast
- Heatmap cells with home values and market velocity
- School ratings and climate-risk overlays for due diligence
📥 Input Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| locations | array | Yes | US locations — ZIP, city (Austin, TX), neighborhood, county, or address |
| layers | array | No | Layers to fetch per location (default: MarketHotness, HousingForecast, DaysOnMarket) |
| zoom | integer | No | Map zoom 3–16. 15–16 = parcel resolution on heatmap layers (PAID) |
| relativeYear | string | No | Climate projection horizon for raster layers: 0, 15, or 30 years |
Example:
{"locations": ["Austin, TX", "Miami, FL"],"layers": ["MarketHotness", "HousingForecast", "Schools"]}
Parcel-resolution example (PAID):
{"locations": ["78704"],"layers": ["Estimate"],"zoom": 16}
📤 Output
Results are saved to the Apify dataset with 45+ fields across row types (zipMetric, heatmapCell, parcelCell, neighborhood, school, district, rasterTileSet):
| Field | Type | Description |
|---|---|---|
| rowType | string | Shape of the row (zipMetric, heatmapCell, parcelCell, school, …) |
| layer | string | Layer that produced the row (MarketHotness, Estimate, Flood, …) |
| postalCode | string | ZIP code join key for zipMetric rows |
| hotnessScore | number | Market hotness score (0–100) |
| hotnessLabel | string | Hot / Warm / Cool band |
| forecastAmount | number | 12-month forecast home value (USD) |
| forecastPercentage | number | 12-month forecast change (%) |
| metricName | string | Heatmap cell metric (estimate, daysOnMarket365, yearBuilt, …) |
| metricValue | number | Cell metric value |
| homeCount | integer | Homes aggregated into the cell |
| propertyIds | array | Property IDs behind a parcel cell (zoom 15+) |
| schoolName | string | School name with rating, parent rating, contacts |
| rating | number | School/district quality rating (1–10) |
| tiles | array | Climate raster tile manifest with stored PNG URLs |
| latitude / longitude | number | Coordinates for mapping |
Example (zipMetric row):
{"rowType": "zipMetric","layer": "MarketHotness","locationQuery": "Austin, TX","regionName": "Austin, TX","areaType": "city","postalCode": "76844","hotnessScore": 11.43,"hotnessLabel": "Cool","latitude": 31.4395,"longitude": -98.4945,"fetchedAt": "2026-07-02T07:34:57.211Z"}
💼 Use Cases & Examples
1. ZIP Hotness Screening for Investors
Real-estate investors rank every ZIP in a metro before running comps.
Input: ["Austin, TX"] + MarketHotness
Output: 345 ZIP rows with hotness score + label
Use: Shortlist the hottest submarkets, then feed the ZIPs into listing scrapers.
2. 12-Month Price Forecast Feeds
Acquisition analysts load forecast home values into buy-box models.
Input: Target metros + HousingForecast
Output: Forecast $ and % change per ZIP
Use: Refresh market-timing dashboards weekly without manual data pulls.
3. Valuation Heatmaps for PropTech Apps
Product teams render home-value and days-on-market heatmaps in their own UI.
Input: ZIPs + Estimate / DaysOnMarket layers
Output: ~4,500 hex cells per query with coordinates and values
Use: Power map visualizations without building a data pipeline.
4. Parcel-Level Lead Sourcing
Investors and wholesalers find the properties behind hot cells.
Input: ZIP + Estimate + zoom: 16
Output: Per-parcel estimates with real property IDs
Use: Join the IDs into a property-detail scraper for owner and listing data.
5. Climate-Risk Due Diligence
Underwriters and insurers overlay flood and wildfire risk on any market.
Input: ["Miami, FL"] + Flood + relativeYear: "30"
Output: PNG overlay tiles (stored in the run's key-value store) + manifest row
Use: Compare today's risk against 30-year projections for portfolio screening.
6. School-Quality Overlays for Relocation Tools
Relocation platforms and brokerages attach school data to every listing.
Input: City + Schools
Output: 200+ schools and districts with ratings, ratios, phone, website
Use: Enrich listing pages and relocation reports with trusted school 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/realtor-market-analytics-scraper').call({locations: ['Austin, TX'],layers: ['MarketHotness', 'HousingForecast']});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items[0]);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_TOKEN')run = client.actor('sian.agency/realtor-market-analytics-scraper').call(run_input={'locations': ['Austin, TX'], 'layers': ['MarketHotness', 'HousingForecast']})for item in client.dataset(run['defaultDatasetId']).iterate_items():print(item)
cURL
curl -X POST 'https://api.apify.com/v2/acts/sian.agency~realtor-market-analytics-scraper/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"locations": ["Austin, TX"], "layers": ["MarketHotness"]}'
Automation Workflows (N8N / Zapier / Make)
- Trigger: Weekly schedule
- HTTP Request: Call the actor API with your watch-list metros
- Process: Filter ZIPs by hotness score or forecast change
- Action: Push to BigQuery, Sheets, or Slack alerts
📊 Performance & Pricing
FREE Tier (Try It Now)
- 1 location × 3 layers per run — full data quality, hundreds of rows
- No credit card required
- Perfect for evaluating a single market
PAID Tier (Production Ready)
- Unlimited locations and all 19 layers per run
- Parcel-resolution zoom (15–16) with property-ID join keys
- Pay-per-query: one charge per successful location × layer fetch — failures and empty results are never charged
💰 A whole metro's market data for about a cent per layer — one query returns 150–4,500 rows, instead of paying per row.
❓ Frequently Asked Questions
Q: What locations are supported?
A: Any US location — ZIP code, city (Austin, TX), neighborhood, county, or full street address. The region is resolved automatically and echoed back as regionName.
Q: How many rows does one query return? A: Depends on the layer: ~250–350 ZIP rows for hotness/forecast, ~4,500 cells for heatmap layers, 200+ schools for a city, 1 manifest row + 9 PNG tiles for climate layers.
Q: What is parcel mode?
A: Setting zoom to 15–16 on heatmap layers switches to parcel resolution: each cell carries a per-parcel value estimate and the real property IDs behind it (PAID tier).
Q: How do I get the climate overlay images? A: Raster tiles are decoded and stored as PNG files in the run's key-value store; the dataset row contains a manifest with a direct URL per tile.
Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.
Q: Is this legal? A: Yes — we only extract publicly available data. See the legal section below.
Q: How long does a run take? A: A few seconds per layer query — 5 layers for a metro completes in under 30 seconds.
🐛 Troubleshooting
"Location not found" error
- Use a more specific location: add the state (
Austin, TXinstead ofAustin) or use a ZIP code.
Heatmap rows have null metric values
- Sparse cells (few homes) sometimes omit the metric — filter on
metricValue IS NOT NULL.
Parcel mode returns standard cells
- Parcel resolution requires
zoom15–16 AND a PAID plan; the FREE tier falls back to the default zoom.
Hotness score is null for some ZIPs
- Rural ZIPs without enough transactions are unscored upstream; the row still carries the ZIP and coordinates.
⚠️ Trademark Disclaimer
Realtor.com® is a registered trademark of Move, Inc. This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Move, Inc. or Realtor.com. All trademarks, service marks, and company names are the property of their respective owners. The actor only accesses publicly available data.
⚖️ Is it legal to scrape data?
Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. 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
- For issues or questions, open an issue in the actor's repository
- Check SIÁN Agency Store for more automation tools
- 📧 apify@sian-agency.online
Built by SIÁN Agency | More Tools
