Realtor.com Property Listings Scraper avatar

Realtor.com Property Listings Scraper

Pricing

from $1.25 / 1,000 property listings

Go to Apify Store
Realtor.com Property Listings Scraper

Realtor.com Property Listings Scraper

Extract Realtor.com property listings, full property details, photos, prices, agents, locations, similar homes, surroundings, and mortgage estimates from search results or known property IDs. Built for real estate leads, market research, and property data collection.

Pricing

from $1.25 / 1,000 property listings

Rating

0.0

(0)

Developer

Crawlio

Crawlio

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

1

Monthly active users

4 days ago

Last modified

Share

What does Realtor.com Property Listings Scraper do?

Realtor.com Property Listings Scraper lets you search Realtor.com listings, fetch one property's full details, or calculate a mortgage estimate.

The Actor supports three operations:

  • search -> fetch listing search results
  • details -> fetch the full property details payload for one property
  • mortgage -> calculate a mortgage estimate

Search is the default mode for new runs.

How to use it

  1. Click Try for free.
  2. Choose search, details, or mortgage.
  3. Fill in the matching input section.
  4. Click Run.
  5. Open the Dataset tab to preview the output items.

Use search mode when you want multiple listings for one or more locations.

Example input:

{
"mode": "search",
"search": {
"locations": ["Austin, TX", "78701"],
"status": "for_sale",
"maxResults": 20,
"resultsPerPage": 20,
"includePropertyDetails": false,
"minPrice": 300000,
"maxPrice": 900000
}
}

Example output:

{
"resultType": "property_listing",
"searchLocation": "Austin, TX",
"status": "for_sale",
"propertyId": "9469949757",
"listingId": "2995430223",
"url": "https://www.realtor.com/realestateandhomes-detail/7102-Summer-Tanager-Dr-16_Austin_TX_78744_M94699-49757",
"price": 470000,
"listDate": "2026-05-15T06:21:42.000000Z",
"beds": 3,
"baths": 4,
"sqft": 2528,
"propertyType": "condos",
"address": "7102 Summer Tanager Dr Unit 16",
"city": "Austin",
"state": "TX",
"postalCode": "78744",
"country": "USA",
"latitude": 30.158052,
"longitude": -97.727937,
"county": "Travis",
"photoCount": 40,
"photoUrls": ["https://..."],
"advertisers": [
{
"name": "Example Agent",
"type": "seller",
"fulfillmentId": "12345",
"officeName": "Example Realty",
"builderName": null
}
],
"sourceName": "UnlockMLS",
"sourceType": "mls"
}

If includePropertyDetails is true, each search result gets an extra propertyDetails object:

{
"resultType": "property_listing",
"propertyId": "9469949757",
"listingId": "2995430223",
"price": 470000,
"address": "7102 Summer Tanager Dr Unit 16",
"propertyDetails": {
"lastUpdateDate": "2026-04-27T10:00:21Z",
"price": 470000,
"listDate": "2026-05-15T06:21:42.000000Z",
"beds": 3,
"baths": 4,
"sqft": 2528,
"pricing": {
"price": 470000,
"pricePerSqft": 186
},
"location": {
"address": "7102 Summer Tanager Dr Unit 16",
"city": "Austin",
"state": "TX"
},
"features": {
"propertyType": "condos"
},
"agent": {
"advertisers": []
}
}
}

Details

Use details mode when you already know the Realtor propertyId and want the full structured property details output.

Example input:

{
"mode": "details",
"details": {
"propertyId": "4405180267",
"listingId": "2994521726",
"enrichSurroundings": true,
"enrichSimilarHomes": true,
"similarHomesLimit": 12
}
}

Example output:

{
"resultType": "property_details",
"propertyId": "4405180267",
"listingId": "2994521726",
"status": "for_sale",
"url": "https://www.realtor.com/realestateandhomes-detail/393-E-49th-St_Brooklyn_NY_11203_M44051-80267",
"lastUpdateDate": "2026-04-27T10:00:21Z",
"price": 1250000,
"listDate": "2026-04-25T18:27:24Z",
"beds": 5,
"baths": 4,
"sqft": 868,
"address": "393 E 49th St",
"city": "Brooklyn",
"state": "NY",
"postalCode": "11203",
"photoCount": 2,
"pricing": {
"price": 1250000,
"pricePerSqft": 1440
},
"photos": {
"photoCount": 2,
"photoUrls": ["https://..."]
},
"agent": {
"advertisers": [],
"branding": [],
"consumerAdvertisers": [],
"source": {
"name": "Brooklyn",
"type": "mls",
"agents": []
}
},
"location": {
"address": "393 E 49th St",
"city": "Brooklyn",
"state": "NY"
},
"features": {
"propertyType": "single_family"
},
"priceHistory": {
"taxHistory": []
},
"surroundings": {
"noise": {
"score": 2
}
},
"similarHomes": {
"count": 12,
"results": []
}
}

Details mode always returns the main property details fields by default. Only enrichSurroundings and enrichSimilarHomes trigger extra upstream requests.

Mortgage

Use mortgage mode when you want an estimated mortgage payment for a price or a known property.

Example input:

{
"mode": "mortgage",
"mortgage": {
"mortgagePrice": 500000,
"mortgageDownPayment": 100000,
"mortgageTaxRate": 0.006,
"mortgageInterestRate": 0.065
}
}

Example output:

{
"resultType": "mortgage_calculation",
"propertyId": "",
"listingId": "",
"price": 500000,
"downPayment": 100000,
"taxRate": 0.006,
"interestRate": 0.065,
"calculation": {
"loan_amount": 400000,
"monthly_payment": 2500
}
}

Runtime notes

  • Results are saved to the default dataset.
  • The Actor also stores a compact run summary in the default key-value store under OUTPUT.
  • Search mode logs how many listings Realtor reported as available and how many the Actor actually fetched for each location.
  • includePropertyDetails in search mode is slower and charged per enriched listing because it makes one extra details request per listing.

Note that personal data is protected by 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.

We also recommend that you read our blog post: is web scraping legal?