Realtor.com US Property Listings Scraper avatar

Realtor.com US Property Listings Scraper

Pricing

$1.00 / 1,000 property results

Go to Apify Store
Realtor.com US Property Listings Scraper

Realtor.com US Property Listings Scraper

Search Realtor.com property listings across the United States by city, state, or ZIP. Get homes for sale, rent, or sold with prices, beds, baths, photos, location data, optional property details, and listing history.

Pricing

$1.00 / 1,000 property results

Rating

0.0

(0)

Developer

DataScraperES

DataScraperES

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Search Realtor.com property listings in the United States by city, state, or ZIP code. Get structured data for homes for sale, rentals, and recently sold properties, then download the results from your Apify Dataset in JSON, CSV, Excel, or other available formats.

This Actor is designed for market research, comparable-sales research, property inventory analysis, acquisition research, and real-estate data workflows. No programming is required: configure the fields in the Input tab, run the Actor, and open the Dataset when it finishes.

Unofficial tool: This Actor is not affiliated with, endorsed by, or sponsored by Realtor.com.

What this Realtor.com property scraper can do

  • Search listings in one or many US cities, states, or ZIP codes.
  • Include homes that are for_sale, for_rent, or sold.
  • Filter results by price, minimum bedrooms, minimum bathrooms, and property type.
  • Collect listing price, address, beds, baths, square footage, property type, photos, listing URL, status, and more.
  • Optionally enrich each property with additional property details and available listing or tax history.
  • Set a limit for each location and another limit for the entire run, so the collection stays within your intended scope.

Quick start

  1. Open the Input tab.
  2. In Locations, click Add location and fill in city and state, a ZIP code, or a state code.
  3. Choose the listing status, filters, and result limits you need.
  4. Click Start.
  5. When the run completes, open the Dataset to inspect or download the property records.

For a first run, use one city or ZIP code and a small maxTotalResults value. This lets you verify that the selected filters return the type of inventory you expect before collecting a larger market.

Search locations

Use the Locations form to add one or more search areas. Each added location has separate City, State code, and ZIP code fields, so no JSON is needed. Fill in city and state together, a ZIP code, or only a state code; leave unused fields blank. Each location must include either a US state code or a ZIP code.

Search areaExample
City and state{"city": "Austin", "stateCode": "TX"}
ZIP code{"postalCode": "10026"}
Entire state{"stateCode": "CA"}

Use the two-letter US state abbreviation, such as TX, CA, or NY. ZIP codes can use five digits or ZIP+4 format.

Input options

FieldWhat it controlsDefault / allowed values
locationsWhere to search. Add one or more city/state, state, or ZIP objects.Required; up to 1,000 locations.
listingStatusesWhich listing markets to include.for_sale by default. Also for_rent and sold.
minPrice / maxPriceListing price range.Optional, in USD.
minBeds / minBathsMinimum number of bedrooms or bathrooms.Optional. Decimals are supported for baths.
propertyTypesRestrict the search to property types.Optional list, for example single_family or condo.
maxResultsPerLocationMaximum unique properties returned from each individual location.100 by default; from 1 to 10,000.
maxTotalResultsHard maximum number of unique properties for the whole run, across every location.1,000 by default; from 1 to 10,000.
outputModeAmount of listing data included in each result.full by default. Choose compact, standard, or full.
fetchDetailsAdds available property-detail data to every returned listing.false by default.
fetchHistoryAdds available listing-event and tax history. It also includes property details.false by default.
requestDelaySecondsOptional pause between pages of a large search.0.2 seconds by default; from 0 to 10.

Example input: homes for sale in Austin

This example searches Austin, Texas for single-family homes and condos priced from $500,000 to $800,000, with at least three bedrooms and two bathrooms. It returns at most 100 properties from Austin and never more than 100 properties for the run.

{
"locations": [
{
"city": "Austin",
"stateCode": "TX"
}
],
"listingStatuses": [
"for_sale"
],
"minPrice": 500000,
"maxPrice": 800000,
"minBeds": 3,
"minBaths": 2,
"propertyTypes": [
"single_family",
"condo"
],
"maxResultsPerLocation": 100,
"maxTotalResults": 100,
"outputMode": "full",
"fetchDetails": true,
"fetchHistory": true
}

Example input: multiple ZIP codes and rental listings

Use several location objects to compare inventory across areas. The maxTotalResults limit applies to all of them combined, not to each ZIP code separately.

{
"locations": [
{ "postalCode": "10026" },
{ "postalCode": "10027" },
{ "postalCode": "10030" }
],
"listingStatuses": [
"for_rent"
],
"minBeds": 1,
"maxResultsPerLocation": 50,
"maxTotalResults": 120,
"outputMode": "standard"
}

Choosing an output mode

ModeBest forIncluded data
compactQuick inventory checks and small exports.Property and listing IDs, status, listing URL, price, date, address, beds, baths, size, type, subtype, and year built.
standardMarket comparison and pricing analysis.Everything in compact, plus price ranges and reductions, last update date, listing source, flags, and tags.
fullDetailed property research and richer exports.Everything in standard, plus complete location and description data, photos, branding, and open-house information when available.

Turn on fetchDetails when you need an additional detail record for each property. Turn on fetchHistory when you also want available listing events and tax history. These fields depend on the information available for each individual property, so they can be absent or incomplete for some listings.

What data does each result contain?

Each Dataset item represents one unique property. Field availability varies by listing, market, and the selected output mode.

Data groupExample fields
Listing identityproperty_id, listing_id, status, permalink
Price and dateslist_price, list_date, last_update_date, price range, price reduction
Address and geographyStreet address, city, state, ZIP code, county, and coordinates when available
Property featuresBeds, baths, square footage, lot size, garage, stories, property type, subtype, year built, and description
Listing contextSource, tags, listing flags, open houses, and branding when available
MediaPhoto URLs in full mode when available
Optional enrichmentdetail, including available primary photo, property history, and tax history when selected
Search contextThe location and listing statuses that produced the record

Example output

This is a simplified full result with property details and history enabled. Actual values and optional fields vary by listing.

{
"property_id": "4995062716",
"listing_id": "2998848624",
"status": "for_sale",
"permalink": "https://www.realtor.com/realestateandhomes-detail/example-property",
"list_price": 659990,
"list_date": "2026-07-20T00:00:00Z",
"location": {
"address": {
"line": "123 Example Street",
"city": "Miller Place",
"state_code": "NY",
"postal_code": "11764",
"coordinate": {
"lat": 40.959,
"lon": -72.997
}
}
},
"description": {
"beds": 3,
"baths": 2,
"sqft": 1810,
"type": "single_family",
"year_built": 1988
},
"photos": [
{
"href": "https://example.com/property-photo.jpg"
}
],
"detail": {
"property_id": "4995062716",
"primary_photo": {
"href": "https://example.com/property-primary-photo.jpg"
},
"property_history": [
{
"date": "2026-07-20",
"event_name": "Listed",
"price": 659990
}
],
"tax_history": [
{
"year": 2025,
"tax": 8420
}
]
},
"search_context": {
"location": {
"city": "Miller Place",
"stateCode": "NY"
},
"statuses": [
"for_sale"
]
}
}

Results, limits, and pricing

The Actor charges $1 per 1,000 saved property results ($0.001 per saved property). You are charged only for unique properties saved to the Dataset. Empty searches, duplicate properties, and properties whose optional enrichment is unavailable do not create additional result charges.

Use maxTotalResults to set the largest number of properties you want from the run. For example, a maxTotalResults value of 1,000 caps the Actor at 1,000 saved properties, which corresponds to a maximum result charge of $1.00. You can also set Apify's maximum charge per run before starting when you want an additional billing cap.

maxResultsPerLocation and maxTotalResults work together:

  • maxResultsPerLocation limits each city, state, or ZIP code.
  • maxTotalResults limits the combined output from all locations.
  • The Actor stops collecting new properties once either applicable limit is reached.

Tips for useful property research

  • Start with a ZIP code when you need a focused neighborhood sample.
  • Use city plus state for a broader local inventory view.
  • Use sold listings for comparable-sales research; availability may differ by market.
  • Keep outputMode on compact or standard for lightweight price and inventory analysis; choose full when you need photos, open houses, or richer property context.
  • Enable property details and history only when those fields are needed for the analysis.
  • For large multi-location research, run a small test first to validate filters and estimate the expected volume.

Data availability and responsible use

Listing data changes frequently and some fields are not available for every property. A property can have no photos, history, open houses, coordinates, or optional detail data. Use the exported data responsibly and make sure your intended use complies with applicable terms, laws, and privacy requirements.