Realtor.com Property Scraper
Realtor.com Property Listing, Price & Agent Data Scraper
Residential property listings with prices and agent details from Realtor.com, for-sale and recently-sold. Returns price, beds, baths, square footage, full address, property type, year built, lot size, HOA fees, days on market, listing agent and photos — priced comps and the agent who listed them, in one row.
Realtor.com Scraper Features
- Search any US market by city and state
- Switch between for-sale and recently-sold inventory
- Returns 23 fields per property, including agent name, phone and brokerage
- Captures HOA fee, lot size, garage and year built — the fields that decide a deal
days_on_marketon every record, for staleness analysis- Photo URLs returned as an array
- Caps output with
maxItemsper location
What can you do with Realtor.com listing data?
- Investors — Screen a market for price-per-square-foot outliers and long days-on-market, which is where negotiating room lives.
- Appraisers and analysts — Pull recently-sold comparables for a ZIP code instead of paging through them by hand.
- Proptech products — Seed a listings database with real inventory rather than licensing a feed.
- Agent prospecting — Build a contact list of listing agents active in a specific market.
- Market reporting — Track median price, inventory and days on market across cities over time.
How Realtor.com Scraper Works
- You supply a location in Realtor.com's own format —
San-Francisco_CA,Austin_TX. - The scraper opens the matching search for the chosen
listingType. - It walks the result pages and opens each property detail page for the full field set.
- Records stream to the dataset as they are parsed, stopping at
maxItemsper location.
Input
{
"location": "Austin_TX",
"listingType": "for-sale",
"maxItems": 100
}
| Field | Type | Default | Description |
|---|---|---|---|
location |
string | San-Francisco_CA |
City and state, hyphenated city with underscore state — San-Francisco_CA, Austin_TX |
listingType |
string | for-sale |
for-sale or recently-sold |
maxItems |
integer | 10 |
Maximum property records per location |
Run it twice with the same location and both listing types to get asking prices and recent clearing prices side by side.
Realtor.com Scraper Output Fields
{
"listing_id": "M1234567890",
"listing_url": "https://www.realtor.com/realestateandhomes-detail/123-Main-St_Austin_TX_78701",
"price": "$1,250,000",
"beds": "4",
"baths": "3",
"sqft": "2450",
"address": "123 Main St",
"city": "Austin",
"state": "TX",
"zip_code": "78701",
"listing_type": "for-sale",
"property_type": "single_family",
"year_built": "1998",
"lot_size": "0.24 acres",
"garage": "2 car attached",
"hoa_fee": "$85",
"days_on_market": "37",
"agent_name": "Jane Doe",
"agent_phone": "512-555-0100",
"broker_name": "Austin Realty Group"
}
| Field | Type | Description |
|---|---|---|
listing_id |
string | Realtor.com listing ID |
listing_url |
string | URL of the property detail page |
price |
string | Listing price, formatted — e.g. $1,250,000 |
beds |
string | Number of bedrooms |
baths |
string | Number of bathrooms |
sqft |
string | Square footage |
address |
string | Full street address |
city |
string | City |
state |
string | State abbreviation |
zip_code |
string | ZIP code |
listing_type |
string | for-sale or recently-sold |
property_type |
string | e.g. single_family, condo, townhouse |
year_built |
string | Year the property was built |
lot_size |
string | Lot size in sqft or acres |
garage |
string | Garage / parking description |
hoa_fee |
string | HOA monthly fee, if applicable |
days_on_market |
string | Days the listing has been active |
agent_name |
string | Listing agent name |
agent_phone |
string | Listing agent phone number |
broker_name |
string | Brokerage name |
photo_urls |
array | Array of photo URLs |
description |
string | Property description text |
scraped_at |
string | ISO 8601 timestamp of extraction |
FAQ
What location format does the Realtor.com Scraper expect?
Realtor.com's own: city hyphenated, state after an underscore. San-Francisco_CA, New-York_NY, Austin_TX.
Can I get sold prices rather than asking prices?
Yes. Set listingType to recently-sold. That is the closest public equivalent to transaction data on this source.
Does it need a Realtor.com account?
No. It reads public listing pages.
Why is price a formatted string instead of a number?
It is returned as the listing displays it, currency symbol and separators included, without a lossy cast. Strip and parse it where you control the rounding.
Can I search by ZIP code or draw a map area?
Not currently — search is by city and state. ZIP appears in the output, so filter after the fact if you need a specific one.
Need More Features?
Want ZIP-level search or price-band filters? Open an issue on the actor.
Why Use Realtor.com Scraper?
- Sold comparables, not just listings —
recently-soldgives real clearing prices, which is what valuation work actually needs. - Agent contact on every record — Name, phone and brokerage come standard, so the same pull serves prospecting and analysis.
- Pay per property — No subscription, no seat licence. A one-off market study costs what those records cost and then stops.