Realtor.com Property Listing Scraper
Pricing
$1.00 / 1,000 results
Realtor.com Property Listing Scraper
Search Realtor.com property listings by location and filter by price, size, beds, baths, property type, listing age, and status. Get bounded, structured records with address, pricing, MLS, media, and listing-contact details in an Apify dataset.
Pricing
$1.00 / 1,000 results
Rating
0.0
(0)
Developer
Data Dino
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
a day ago
Last modified
Categories
Share
Realtor.com Property Listing Search
Find structured Realtor.com property listings for a location and turn them into an actionable Apify dataset. Search for homes for sale, rentals, sold properties, pending listings, off-market records, or new communities, then narrow the results by price, size, bedrooms, bathrooms, property type, listing age, and sort order.
This actor is built for real estate researchers, investors, brokers, analysts, rental teams, and data workflows that need consistent property records without manually opening and copying listing pages.
Why use this actor?
- Start with a place, not a complicated URL: search by ZIP code, city, city and state, address, neighborhood, or county.
- Control the search before collecting data: apply price, size, bedroom, bathroom, property-type, and listing-age filters.
- Keep runs bounded and predictable: request from 1 to 1,000 properties per run, with a default of 20.
- Cover more than active listings: choose for-sale, for-rent, sold, pending, off-market, or new-community records.
- Get practical records in one dataset row: combine listing identity, status, price, address, property facts, MLS identifiers, media, and listing-agent or office details where provided.
- Move quickly from collection to analysis: export the Apify dataset as JSON or CSV, or consume it through the Apify API.
What you can do with the data
- Build comparable-property and neighborhood datasets.
- Find homes that match an investment or acquisition screen.
- Monitor a location for new, pending, sold, or recently updated listings.
- Compare asking prices, size, property types, HOA fees, and days on market.
- Find listing-agent and brokerage contact details attached to available property records.
- Support rental discovery, market research, territory analysis, and real estate lead workflows.
Input
Only location is required. All other fields are optional.
| Field | Type | Description | Default |
|---|---|---|---|
location | string | ZIP code, city, city and state, address, neighborhood, or county to search. | San Diego, CA |
listingType | string | Listing group: for_sale, for_rent, sold, pending, off_market, or new_community. | for_sale |
bedsMin | integer | Minimum number of bedrooms. | unset |
bedsMax | integer | Maximum number of bedrooms. | unset |
bathsMin | number | Minimum number of bathrooms. | unset |
bathsMax | number | Maximum number of bathrooms. | unset |
sqftMin | integer | Minimum property size in square feet. | unset |
sqftMax | integer | Maximum property size in square feet. | unset |
priceMin | integer | Minimum listing price in US dollars. | unset |
priceMax | integer | Maximum listing price in US dollars. | unset |
pastDays | integer | Restrict listings to the past number of days. | unset |
pastHours | integer | Restrict listings to the past number of hours. | unset |
limit | integer | Maximum number of properties to request. Valid range: 1–1,000. | 20 |
sortBy | string | Sort by list_price, list_date, sqft, beds, baths, or last_update_date. | unset |
sortDirection | string | Sort direction: asc or desc. | desc |
propertyTypes | array of strings | Optional property types such as single_family, condos, or townhomes. | [] |
Example input
{"location": "San Diego, CA","listingType": "for_sale","bedsMin": 2,"bathsMin": 2,"priceMax": 900000,"sqftMin": 1000,"limit": 50,"sortBy": "list_price","sortDirection": "asc","propertyTypes": ["single_family", "condos"]}
Output
Each property returned by the run is pushed as one item to the Apify dataset. The exact populated fields depend on the listing and its available source data. Fields may be null when a listing does not provide a value.
Returned records include fields in these groups:
- Listing identity:
property_url,property_id,listing_id,permalink,mls, andmls_id. - Status and timing:
status,mls_status,list_date,pending_date,last_status_change_date,last_update_date, anddays_on_mls. - Address and geography: formatted and street-level address fields, city, state, ZIP code, county, FIPS code, latitude, longitude, and neighborhoods.
- Property facts: bedrooms, full and half bathrooms, square feet, year built, stories, lot size, style, garage parking, HOA fee, and new-construction status.
- Pricing and history: list price ranges, sold price fields, price per square foot, assessed or estimated values, tax fields, and source-dependent historical information.
- Listing contacts: agent, broker, builder, and office identifiers, names, emails, MLS references, and phone arrays where provided.
- Media and additional information: primary and alternate photos, listing text, and nearby-school data where available.
Example dataset item
{"property_url": "https://www.realtor.com/realestateandhomes-detail/example","property_id": "1234567890","listing_id": "9876543210","status": "FOR_SALE","mls_status": "Active","formatted_address": "123 Example Street, San Diego, CA, 92101","city": "San Diego","state": "CA","zip_code": "92101","beds": 3,"full_baths": 2,"sqft": 1450,"year_built": 2005,"list_price": 750000,"price_per_sqft": 517,"agent_name": "Example Agent","office_name": "Example Realty"}
After the run, open the dataset to browse the results, export them, or continue processing them in your workflow.
Running the actor
- Enter a location.
- Select a listing type and add only the filters needed for the decision you are making.
- Set
limitto keep the run within the desired sample size. - Run the actor and open the default dataset.
- Export or connect the dataset to the next step in your workflow.
Practical tips
- Start with a small
limitto validate a location and filter combination. - Use
sortBy: "list_price"withsortDirection: "asc"to review lower-priced matches first. - Use
pastDaysorpastHourswhen the workflow depends on recent listing activity. - Keep source identifiers such as
property_id,listing_id,mls, andmls_idwhen joining or deduplicating records. - Treat contact, tax, estimate, school, HOA, and historical fields as source-dependent.
Limitations and responsible use
- Results depend on Realtor.com availability and the source listing data returned for the selected location and filters.
- Listings can change, disappear, or move between statuses between runs.
- Some records will have null or missing optional fields; a field in the output shape is not a guarantee that every listing supplies a value.
- The actor is a property-listing search, not a full Realtor.com agent-directory search. Agent and office fields are included when attached to a property listing.
- The current input supports one location per run and a maximum of 1,000 requested properties.
- Do not treat listing data, prices, estimates, taxes, or contact details as verified financial, legal, appraisal, or professional advice.
- Respect Realtor.com terms, applicable laws, privacy requirements, and reasonable request limits. Use the resulting data only for authorized and lawful purposes.