Realtor.com Market Data Scraper — Hotness, Forecast, Schools avatar

Realtor.com Market Data Scraper — Hotness, Forecast, Schools

Pricing

from $8.00 / 1,000 map layer queries

Go to Apify Store
Realtor.com Market Data Scraper — Hotness, Forecast, Schools

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Ü

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

7 days ago

Last modified

Share

Realtor.com Market Data Scraper — Housing Market Intelligence 🚀

SIÁN Agency Store Realtor.com Property Scraper Realtor.com Agent Scraper Zillow Market Data Scraper

🎉 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

FieldTypeRequiredDescription
locationsarrayYesUS locations — ZIP, city (Austin, TX), neighborhood, county, or address
layersarrayNoLayers to fetch per location (default: MarketHotness, HousingForecast, DaysOnMarket)
zoomintegerNoMap zoom 3–16. 15–16 = parcel resolution on heatmap layers (PAID)
relativeYearstringNoClimate 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):

FieldTypeDescription
rowTypestringShape of the row (zipMetric, heatmapCell, parcelCell, school, …)
layerstringLayer that produced the row (MarketHotness, Estimate, Flood, …)
postalCodestringZIP code join key for zipMetric rows
hotnessScorenumberMarket hotness score (0–100)
hotnessLabelstringHot / Warm / Cool band
forecastAmountnumber12-month forecast home value (USD)
forecastPercentagenumber12-month forecast change (%)
metricNamestringHeatmap cell metric (estimate, daysOnMarket365, yearBuilt, …)
metricValuenumberCell metric value
homeCountintegerHomes aggregated into the cell
propertyIdsarrayProperty IDs behind a parcel cell (zoom 15+)
schoolNamestringSchool name with rating, parent rating, contacts
ratingnumberSchool/district quality rating (1–10)
tilesarrayClimate raster tile manifest with stored PNG URLs
latitude / longitudenumberCoordinates 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 ApifyClient
client = 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)

  1. Trigger: Weekly schedule
  2. HTTP Request: Call the actor API with your watch-list metros
  3. Process: Filter ZIPs by hotness score or forecast change
  4. 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
  • 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.

🔗 View current pricing


❓ 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, TX instead of Austin) 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 zoom 15–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.


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

Telegram Support

Join our active support community


Built by SIÁN Agency | More Tools