Realtor.com Agent Scraper [$1๐ฐ / 1k] - Full Details
Pricing
from $1.00 / 1,000 results
Realtor.com Agent Scraper [$1๐ฐ / 1k] - Full Details
Extract US real estate agents from Realtor.com: names, phones, emails, brokerages, offices, ratings, sales counts and service areas. Search by city, state or ZIP using realtor.com's internal GraphQL API โ fast pure-HTTP scraping, no browser.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Ahmed Jasarevic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Realtor.com Agent Scraper
Extract real estate agents from Realtor.com โ names, phone numbers, emails, brokerages, offices, ratings, review counts, active/sold listing stats and service areas โ for any US city, state or ZIP code. Built for lead generation, agent outreach, market research and brokerage intelligence.
What does Realtor.com Agent Scraper do?
This Actor scrapes the Realtor.com agent directory and individual agent profiles. Give it a location like Los Angeles, CA or a ZIP like 90210, and it walks the directory pages, deduplicates agents and enriches each one from their profile page.
Under the hood it talks directly to Realtor.com's internal GraphQL API (frontdoor/graphql) for location resolution and featured-agent lookups, then fetches directory/profile pages over plain HTTP with Cheerio โ no browser, no screenshots, no wasted compute. That makes it dramatically faster and cheaper than browser-based scrapers: one run can pull thousands of agents in minutes.
It runs on the Apify platform, so you get built-in proxy rotation, scheduling, retries, monitoring, and structured datasets exportable as JSON, CSV, Excel or via API.
Why use this Agent Scraper?
- Lead generation โ build prospect lists of active agents by market, complete with direct phones and office details.
- Recruiting โ identify high-performing agents (sold counts, review volume) worth headhunting.
- Market analysis โ map agent density and activity across cities or ZIP codes.
- Fast and cheap โ pure HTTP crawling; no headless Chrome. High concurrency without browser overhead.
- Resilient extraction โ data is mined from the site's embedded JSON payloads rather than fragile CSS selectors, so layout tweaks rarely break it.
- Deduplicated output โ every agent appears once, keyed by their realtor.com ID.
How to use Realtor.com Agent Scraper?
- Add this Actor to your Apify account and click Start.
- On the Input tab, enter one or more Locations (
Austin, TX,Miami,90210). Optionally add direct agent profile URLs. - Set limits: how many agents total, how many directory pages per location, whether to visit each profile for enrichment.
- Keep the default RESIDENTIAL proxy enabled โ Realtor.com blocks datacenter IPs on its web pages.
- Run the Actor and download results from the Storage โ Dataset tab in JSON, CSV, Excel, or via API.
Input
| Field | Type | Default | Description |
|---|---|---|---|
locations | array of strings | ["Los Angeles, CA"] | Cities, states or ZIP codes to scrape. Resolved through Realtor.com's internal location-search API. |
startUrls | array (request list) | โ | Optional direct agent profile URLs or directory URLs. |
maxAgents | integer | 100 | Stop after this many unique agents (hard cap 10,000). |
maxPagesPerLocation | integer | 5 | Pagination cap per location. |
enrichProfiles | boolean | true | Visit each agent's profile to add email, license, languages, specializations and service areas. |
includeFeatured | boolean | false | Also request the paid "featured agent" per location via GraphQL (often empty โ it's an ad slot). |
useApifyProxy | boolean | true | Route page requests through Apify Proxy (GraphQL lookups run unproxied). |
proxyGroups | array | ["RESIDENTIAL"] | Proxy group selection. RESIDENTIAL strongly recommended. |
proxyUrls | array | [] | Custom proxy URLs that replace the Apify Proxy when set. |
maxConcurrency | integer | 5 | Parallel requests (safe to raise โ no browser involved). |
Output
Each dataset item is one agent:
{"type": "agent","agentId": "56ba6c45bb954c01006b5030","fullName": "Jane Doe","profileUrl": "https://www.realtor.com/realestateagents/jane-doe_los-angeles_ca","photoUrl": "https://ap.rdcpix.com/....jpg","phones": [{ "number": "(323) 555-0123", "ext": "101", "type": "Office" }],"primaryPhone": "(323) 555-0123 x101","email": "jane@doerealty.com","brokerName": "Doe Realty","officeName": "Doe Realty - Los Angeles","office": { "name": "Doe Realty - Los Angeles", "phone": "(323) 555-0100", "website": "https://doerealty.com" },"city": "Los Angeles","stateCode": "CA","postalCode": "90026","serviceAreas": ["Silver Lake", "Echo Park"],"specializations": ["Buyer's Agent", "Listing Agent"],"languages": ["English", "Spanish"],"licenseNumber": "01998877","rating": 5,"reviewCount": 47,"forSaleListingsCount": 6,"recentlySoldCount": 21,"source": "directory","sourceLocation": "Los Angeles, CA","scrapedAt": "2026-08-25T14:20:11.402Z"}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Data table
| Field | Description |
|---|---|
fullName / nickName | Agent name as shown on Realtor.com |
agentId / partyId / nrdsId | Realtor.com / NAR identifiers |
phones / primaryPhone | Phone numbers with type and extension |
email | Public email, when listed |
brokerName / officeName / office | Brokerage and office details incl. website & phone |
city / stateCode / postalCode / addressLine | Office address fields |
serviceAreas / serviceZipCodes | Areas and ZIPs the agent serves |
specializations / languages / designations | Profile attributes |
licenseNumber / mlsName | License info when exposed |
rating / reviewCount / recommendationsCount | Reputation metrics |
forSaleListingsCount / recentlySoldCount | Activity stats |
profileUrl / photoUrl | Links back to Realtor.com |
How much does it cost to scrape Realtor.com agents?
The Actor is pure HTTP, so runs are cheap: roughly 2โ3 requests per agent with profile enrichment enabled, and ~1 request per directory page per location (a page typically holds dozens of agents). A run for maxAgents = 1000 usually costs well under $1 in platform usage on residential proxies plus a few minutes of compute. Free Apify plans work too โ monthly free credits comfortably cover test runs of a few hundred agents. Non-paying users are preview-capped at 10 agents per run.
Tips and advanced options
- Start broad, then narrow: run one city first, check the output table, then scale up ZIP lists.
- Speed vs. depth: turn
enrichProfilesoff to roughly triple throughput if you only need names/phones/brokerages from directory cards. - Pagination:
maxPagesPerLocationcaps crawl size; large metros have hundreds of pages. - Proxies: keep RESIDENTIAL on. If you see repeated blocks, slow down (
maxConcurrency: 2โ3) or plug in your ownproxyUrls. - Scheduling: schedule daily runs on your target markets and diff results to spot new agents entering a market.
FAQ, disclaimers and support
Is scraping Realtor.com legal? Scraping publicly available business contact data is generally lawful, but you are responsible for complying with Realtor.com's Terms of Service, applicable privacy laws (e.g. TCPA/CAN-SPAM for outreach), and rate-limit etiquette. Do not spam scraped contacts.
Why do I need residential proxies? Realtor.com serves bot-protection challenges to datacenter IPs on its web pages. Residential exits look like ordinary visitors. Note the internal GraphQL endpoint used for location resolution currently works unproxied.
Some agents miss an email โ why? Emails only appear when agents publish them; enrichment picks them up where available.
A location returned nothing. Check the slug the Actor resolved in the logs, try the ZIP code instead, or increase maxPagesPerLocation.
Found a bug or want a custom solution? Open an issue in the Issues tab โ custom features and bulk-market pipelines are available on request.