Realtor.com Scraper - Properties, Prices & Agent Leads avatar

Realtor.com Scraper - Properties, Prices & Agent Leads

Pricing

from $4.00 / 1,000 property listings

Go to Apify Store
Realtor.com Scraper - Properties, Prices & Agent Leads

Realtor.com Scraper - Properties, Prices & Agent Leads

Scrape Realtor.com for-sale, for-rent & sold listings — prices, beds/baths, sqft, photos, MLS, geo, schools, price & tax history — plus deduped real-estate agent & office leads with email, phone & website. Keyless, no browser. Filter by location, price & type; monitor new listings & price drops.

Pricing

from $4.00 / 1,000 property listings

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Realtor.com Scraper — Properties, Prices & Agent Leads

Extract complete Realtor.com property data — for-sale, for-rent and recently-sold listings with real prices, beds/baths, square footage, lot size, MLS number, full address with geo, photos, schools, and complete price & tax history. Then turn every listing agent and office into a ready-to-contact B2B lead with direct email, phone, personal website and brokerage — deduped and lead-scored.

No login, no cookies, no browser — fast JSON extraction straight from Realtor.com's own property API, with 98%+ reliability.

Why this Realtor.com scraper?

Most Realtor.com scrapers either return thin card data or charge a per-run start fee. This actor pulls from Realtor.com's internal GraphQL API and ships the richest dataset in the category — with no start fee:

DataTypical scrapersThis actor
List price, beds, baths, sqft, lot size
For-sale and for-rent and sold (comps)partial✅ all three
MLS number, listing ID, source
Full address + lat/long + county + neighborhoodpartial
Listing agent email + phone + website
Deduped agent / office leads with lead score
Assigned schools with ratings✅ opt-in
Full listing & price history✅ opt-in
Multi-year tax & assessment history✅ opt-in
Complete feature list (interior/exterior/utilities)✅ opt-in
Only-new / price-drop monitor mode
Per-run start fee💸 often✅ none

Use cases

  • Real-estate agent lead generation — every active listing carries its listing agent's name, email, phone, website and brokerage. Deduped and scored, that's a fresh, targeted agent database for CRMs, recruiting brokerages, title/escrow, mortgage, transaction-coordination, photography, staging and proptech vendors.
  • Investor deal-flow & comps — pull for-sale inventory and recently-sold comparables (with sold dates and full price history) for any city, ZIP or state; filter by price, beds, type and size.
  • Market & pricing intelligence — track list prices, price reductions, days-on-market signals (isNewListing, isPriceReduced, isPending) and inventory by area.
  • Rental market research — search for-rent inventory with monthly rents, beds/baths and amenities by neighborhood.
  • Price-drop & new-listing alerts — schedule the actor with monitor mode to emit only new listings, price drops/rises and status changes.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Realtor.com Scraper, choose a listing type (for sale / for rent / sold), enter one or more locations (or paste Realtor.com search URLs), and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the Apify API.

Input

{
"outputType": "search",
"searchType": "for_sale",
"location": ["Austin, TX", "78704"],
"propertyTypes": ["house", "condo"],
"priceMin": 300000,
"priceMax": 900000,
"bedsMin": 3,
"sortBy": "newest",
"includeAgentLeads": true,
"maxResults": 200
}
  • outputTypesearch (property listings), agentLeads (deduped agent/office contacts), or propertyDetail (full records by property_id).
  • searchTypefor_sale, for_rent, or sold (recently sold comps).
  • location — one or more of City, ST (Austin, TX), a 5-digit ZIP (78704), a county, or a full state name (Vermont). Each is searched independently.
  • searchUrls — paste Realtor.com search pages directly: realestateandhomes-search/... (for sale), apartments/... (rent), soldhomeprices/... (sold). The listing type is taken from the URL.
  • propertyTypeshouse / single_family, condo, townhome, multi_family, duplex, mobile, land, farm, coop.
  • priceMin / priceMax / bedsMin / bedsMax / bathsMin / sqftMin / sqftMax — filters (price is monthly rent for rentals).
  • sortByrelevant, newest, price_low, price_high, sqft, lot_size, sold_date.
  • includePropertyDetails (default false) — also fetch each property's full record: complete feature list, assigned schools with ratings, full listing & price history, multi-year tax history and the photo gallery (billed as a property detail).
  • includeAgentLeads (default false) — also emit one deduped agent/office lead per listing agent.
  • propertyIds — numeric property_id values for propertyDetail mode.
  • monitorMode / monitorKey — only-new / changed output (see below).

Output

One record per property (type: "property"), plus optional propertyDetail and agentLead records:

{
"type": "property",
"propertyId": "7291872309",
"listingId": "2997460536",
"status": "for_sale",
"listingType": "for_sale",
"url": "https://www.realtor.com/realestateandhomes-detail/11910-Sunhillow-Bnd_Austin_TX_78758_M72918-72309",
"price": 599900,
"priceText": "$599,900",
"beds": 6,
"baths": 4,
"sqft": 1936,
"lotSqft": 7187,
"propertyType": "multi_family",
"yearBuilt": 1983,
"line": "11910 Sunhillow Bnd",
"city": "Austin",
"state": "TX",
"postalCode": "78758",
"county": "Travis",
"latitude": 30.398839,
"longitude": -97.711,
"listDate": "2026-06-12T03:35:54.000Z",
"isNewListing": true,
"mlsName": "AUTX",
"mlsNumber": "4342289",
"agentName": "Deep Parikh",
"agentPhone": "(512) 659-4726",
"officeName": "RealTech Realty, LLC",
"photos": ["https://ap.rdcpix.com/...jpg"],
"scrapedAt": "2026-06-23T17:12:35.503Z"
}

Agent lead record (type: "agentLead"):

{
"type": "agentLead",
"agentId": "3147563",
"name": "Deep Parikh",
"email": "deep@real-tech.com",
"phone": "(512) 659-4726",
"website": "https://real-tech.com",
"officeName": "RealTech Realty, LLC",
"brokerName": "Real Broker, LLC",
"sourceCity": "Austin",
"sourceState": "TX",
"listingsInRun": 3,
"sampleListingUrl": "https://www.realtor.com/realestateandhomes-detail/...",
"sampleListingPrice": 599900,
"leadScore": 78,
"scrapedAt": "2026-06-23T17:12:35.503Z"
}

propertyDetail records add features (complete interior/exterior/utility list), schools (name, rating, distance), priceHistory (listed/sold/price-change events) and taxHistory (per-year tax + assessed value).

Monitor mode — only new & changed

Turn on monitorMode and the actor remembers what it emitted in previous runs (in a named key-value store) and outputs only:

  • new listings (or new agent leads),
  • price_drop / price_rise,
  • status_change (e.g. for-sale → pending).

Each record carries a monitorReason. This is built into the actor and works independently of Apify Schedules — schedule the run as often as you like and only get the deltas. Use a distinct monitorKey per saved search so separate watch lists don't share state.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/realtor-com-scraper').call({
outputType: 'search',
searchType: 'for_sale',
location: ['Austin, TX'],
sortBy: 'newest',
includeAgentLeads: true,
maxResults: 200,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} properties & agent leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new agent leads straight into your CRM.
  • Slack — get notified when a monitored search finds new listings or price drops.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find new 3-bed homes under $700k in Austin and list the agents" and let it run this scraper for you.

More scrapers from scrapesage

Build a complete real-estate + agent lead-gen stack:

Tips

  • Big states / cities: Realtor.com paginates up to ~9,800 results per search. To exhaust a large area, split runs by ZIP, price band or property type.
  • Cheapest rich run: leave includePropertyDetails off — the listing record already carries price, beds/baths, sqft, geo, MLS, photos and the listing agent. Turn details on only when you need schools, full feature lists or price/tax history.
  • Agent leads: use the dedicated agentLeads mode to get one deduped, lead-scored record per agent across all matching listings (most-active agents first).
  • Recurring monitoring: combine Schedules with monitorMode and sortBy: "newest" to capture only fresh inventory and price changes.

FAQ

How do I scrape Realtor.com for a specific city? Put the city in location as City, ST (e.g. Austin, TX), a ZIP, or a full state name. Combine with searchType, propertyTypes and the price/beds filters to narrow results.

Does it work without the Realtor.com API key? Yes — there is no public Realtor.com API. This actor reads the same data Realtor.com's own website uses, no key or login needed.

Can I get sold-home comps? Yes — set searchType: "sold" and sortBy: "sold_date". Turn on includePropertyDetails for the full price history of each comp.

Where do the agent emails come from? From the listing's own publicly displayed agent/office contact card on Realtor.com — the same details a visitor sees. Some agents publish only a phone or office email; fields are null only when the data doesn't exist.

Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I monitor new listings or price drops automatically? Turn on monitorMode, then create a Schedule. Each run emits only new/changed records, with a monitorReason. Add a webhook or Zapier zap to push them into your CRM.

Is scraping Realtor.com legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for personal data) and Realtor.com's terms.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.