Realtor.com Agents Scraper
Pricing
Pay per event
Realtor.com Agents Scraper
Scrape real estate agent profiles from Realtor.com by city, state, or ZIP. Extract agent names, phones, brokerages, licenses, ratings, review counts, sales history, and more for B2B lead generation.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
1
Bookmarked
3
Total users
2
Monthly active users
6 days ago
Last modified
Categories
Share
Scrape real estate agent contact data from Realtor.com without an API key or login. Extract agent names, direct phone numbers, email addresses, brokerages, and office addresses — by any US city, state, or ZIP code. Identifies agents actively working listings in your target market.
What does Realtor.com Agents Scraper do?
🏡 Realtor.com Agents Scraper extracts agent contact data from one of the most active real estate marketplaces in the US. By scanning the listing activity for a location, it identifies all agents who currently have or recently had active listings — the most productive agents in any market.
Enter a city and state (e.g. Austin, TX), ZIP code (e.g. 90210), or a city name. Choose to search across active for-sale listings, recently sold transactions, or both. The scraper handles pagination automatically and deduplicates by agent ID so every result is a unique agent.
Each output record includes the agent's name, primary phone, email, brokerage, office address, a constructed Realtor.com profile link, and a listing-count field showing how many deals they appeared in — a direct signal of market activity.
Who is it for?
📋 CRM vendors and marketing automation platforms
- Prospect real estate agents as potential customers for Follow Up Boss, kvCORE, LionDesk, and similar platforms
- Build targeted agent lists segmented by market, brokerage, or activity level
- Enrich existing agent contact databases with fresh phones and emails
🏦 Mortgage lenders and title companies
- Identify top-producing agents in your target market for referral partnership outreach
- Agents with high listing counts are the highest-priority referral targets
- Build purchase loan pipeline by reaching listing agents with active inventory
🔄 Brokerage recruiters
- Source agent candidates across competing brokerages in your market
- Identify active agents by listing count for recruiting campaigns
- Target sellers agents or buyer agents specifically via the
listingStatusfilter
💼 Real estate technology companies
- Prospect agents for showing platforms, e-signature tools, transaction management software
- Build outbound sales lists segmented by market size and agent activity
- Research market coverage and agent density before launching in a new city
📸 Real estate service vendors
- Find agents who have active listings and need photography, virtual staging, or video services
- Target listing agents in specific price tiers or ZIP codes
- Build local outreach lists for marketing services
📊 Researchers and data teams
- Analyze agent market concentration and brokerage dominance by city
- Track active agent counts and brokerage splits across markets
- Build datasets for real estate industry research and competitive intelligence
Why use Realtor.com Agents Scraper?
Collecting agent contact information manually takes hours per market. This actor automates the entire process:
- No login or API key required — works from public Realtor.com listing data
- Bulk collection — gather hundreds of unique agents per location in a single run
- Structured output — clean JSON with 15+ fields per agent, ready for import into any CRM or database
- Active agents only — by scanning listing activity, you get agents who are currently doing deals, not stale directory entries
- Listing-count signal — know how many deals each agent has been involved in at a glance
- Reliable at scale — uses US residential proxy rotation, the same infrastructure powering our
realtor-scraper(active listings scraper) at 99%+ success rate
What data can you extract?
Each agent record includes:
| Field | Description |
|---|---|
agentId | NRDS ID or MLS identifier for the agent |
name | Full name |
profileUrl | Constructed Realtor.com profile link |
websiteUrl | Agent's personal or brokerage website (when available) |
photoUrl | Profile photo URL (when available) |
brokerage | Name of the brokerage |
brokerageEmail | Brokerage email address (when available) |
phones | All phone numbers with type labels (Mobile, Office, etc.) |
primaryPhone | Best direct phone number (prefers mobile) |
email | Direct email address |
city | Agent's city |
state | State code (e.g. TX) |
postalCode | ZIP code |
officeAddress | Full office address |
listingCount | Number of listings the agent appeared in — activity signal |
agentRole | Role in found listings: seller (listing agent) or buyer (buyer's agent) |
location | Search location used to find this agent |
scrapedAt | ISO 8601 timestamp of extraction |
How much does it cost to scrape Realtor.com agents?
Pricing uses Apify's pay-per-event model — you only pay for what you extract.
Run start fee: $0.005 (one-time per run, all plans)
Per-agent price by Apify plan:
| Plan | Price per agent |
|---|---|
| FREE | $0.00575 |
| BRONZE | $0.005 |
| SILVER | $0.0039 |
| GOLD | $0.003 |
| PLATINUM | $0.002 |
| DIAMOND | $0.0014 |
Higher-tier plans deliver significant per-agent savings for large-scale scraping.
Example costs (BRONZE plan):
- 100 agents ≈ $0.51 (start + 100 × $0.005)
- 500 agents ≈ $2.51
- 1,000 agents ≈ $5.01
Example costs (DIAMOND plan):
- 100 agents ≈ $0.145
- 500 agents ≈ $0.705
- 1,000 agents ≈ $1.405
Compared to purchasing agent contact lists at $0.50–$5 per record from data brokers, this delivers equivalent contact data at a fraction of the cost.
Tip: Set
maxResultsto match exactly what you need. Unused capacity is not charged.
How to scrape Realtor.com agents
- Go to the actor's page on Apify Store and click Try for free.
- Enter a Location — city and state (e.g.
Austin, TX) or ZIP code (e.g.78701). - Choose a Listing type —
both(default) searches the widest set of active agents. - Set Max results (default 100).
- Click Save & Run.
- Download results as JSON, CSV, or Excel from the Dataset tab.
For recurring data collection, use Scheduled runs to automate daily or weekly agent list updates.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
location | string | (required) | City + state (New York, NY), city alone (Austin), or 5-digit ZIP (10001) |
listingStatus | string | both | Which listing types to scan: both, for_sale, sold, for_rent |
maxResults | integer | 100 | Max unique agents to extract (1–5,000) |
maxRequestRetries | integer | 3 | HTTP retry attempts per request |
Location format examples:
New York, NY— New York City agentsLos Angeles, CA— LA agents90210— Beverly Hills by ZIPAustin— Austin agents (no state required for major cities)
Listing type guide:
both— searches for-sale AND recently sold listings, maximizing unique agent coveragefor_sale— only agents with active for-sale listings (currently inventory-holding agents)sold— only agents who recently closed a salefor_rent— rental market agents
Output examples
{"agentId": "785038427","name": "Clark Gray","profileUrl": "https://www.realtor.com/realestateagents/Clark-Gray_785038427","websiteUrl": null,"photoUrl": "https://ap.rdcpix.com/abc123photo.jpg","brokerage": "Mercer Street Group, LLC","brokerageEmail": "amy@mercerstreetgroup.com","phones": [{ "number": "5125549618", "type": "Mobile" }],"primaryPhone": "5125549618","email": "clark@clarkgray.com","city": "Austin","state": "TX","postalCode": "78749","officeAddress": "4301 W. William Cannon Drive, #K-200, Austin, TX, 78749","listingCount": 3,"agentRole": "seller","location": "Austin, TX","scrapedAt": "2025-08-15T14:22:10.000Z"}
Tips for best results
Use listingStatus: "both" for maximum coverage
Searching both for-sale and sold listings surfaces the most unique agents for a market. A listing-only search shows who has active inventory; a sold-only search captures agents who recently closed deals. both gives you the union.
listingCount signals productivity
Agents with listingCount >= 3 appeared in three or more listings during your search — a strong signal of market activity. Filter by this field after export to prioritize your outreach.
Match location to market size
- Large metros (New York, LA, Houston): set
maxResultsto 200–1000 to capture top agents - Mid-size cities (Austin, Denver, Miami): 100–300 agents covers most of the market
- ZIP code searches: 20–100 agents is typically all that's available for a single ZIP
Schedule for freshness Agent data changes over time — phone numbers, brokerages, and email addresses update. Schedule a weekly run on your target markets to keep your CRM data current.
Combine with realtor-scraper for full market intelligence
Pair this actor with our realtor-scraper (property listings) to build a complete picture: who's selling what at what price in any market.
Supported locations
Any US market with listings on Realtor.com. This includes all 50 states and US territories. Best coverage in major metro areas; rural areas may return fewer agents.
Top markets with extensive agent data: New York, NY · Los Angeles, CA · Chicago, IL · Houston, TX · Phoenix, AZ · Dallas, TX · Miami, FL · Atlanta, GA · Seattle, WA · Denver, CO
Integrations
Export results directly to your preferred tools:
- Google Sheets — Use the Apify integration to push dataset items into a spreadsheet on each run
- Zapier / Make — Trigger downstream CRM workflows whenever new agents are scraped
- HubSpot / Salesforce — Pipe agent contact data into your CRM via Apify's native integrations
- Webhooks — POST results to your own endpoint in real time via Actor run webhooks
- CSV / Excel — Download from the Dataset tab in any format for manual import
API usage
Run this actor programmatically and retrieve results using the Apify API.
Node.js (ApifyClient)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('automation-lab/realtor-agents-scraper').call({location: 'Austin, TX',maxResults: 50,listingStatus: 'both',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python (ApifyClient)
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("automation-lab/realtor-agents-scraper").call(run_input={"location": "Austin, TX","maxResults": 50,"listingStatus": "both",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~realtor-agents-scraper/runs" \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"location":"Austin, TX","maxResults":50}'
Then fetch results:
curl "https://api.apify.com/v2/acts/automation-lab~realtor-agents-scraper/runs/last/dataset/items" \-H "Authorization: Bearer YOUR_API_TOKEN"
Full API documentation: Apify API Reference
Use with AI agents via MCP
Use this actor with Claude, Cursor, or any AI agent platform that supports the Model Context Protocol (MCP).
Claude Code CLI setup:
$claude mcp add --transport http "https://mcp.apify.com?tools=automation-lab/realtor-agents-scraper"
Claude Desktop / Cursor / VS Code (JSON config):
{"mcpServers": {"apify": {"transport": "http","url": "https://mcp.apify.com?tools=automation-lab/realtor-agents-scraper","headers": { "Authorization": "Bearer YOUR_APIFY_TOKEN" }}}}
Example prompts:
- "Find all real estate agents in Austin, TX with phone numbers and email addresses."
- "Get the top 200 most active listing agents in Los Angeles, CA and export as CSV."
- "Scrape real estate agents in ZIP code 10001 and show me which brokerage has the most agents."
This lets AI assistants pull live agent contact data from Realtor.com on demand during conversations or automated workflows.
Legality of scraping Realtor.com
Web scraping publicly available data is generally legal under US law when:
- The data is publicly accessible (no login required) — ✅ agent contact data on listings is public
- You are not circumventing authentication systems — ✅ this actor accesses public listing data only
- You comply with the site's Terms of Service for your use case
Realtor.com's Terms of Service restrict automated access for commercial data redistribution. Users of this actor are responsible for ensuring their use case complies with Realtor.com's ToS and applicable laws, including the CCPA for California residents' data and the CAN-SPAM Act for commercial email use.
This actor is intended for legitimate B2B lead generation, research, and data enrichment purposes. Always review the Terms of Service of the target website and the laws applicable to your jurisdiction before scraping.
FAQ
Why do some agents have null for email or phone?
Not all agents publish their contact information on every listing. The actor extracts whatever is available in the listing data. Agents with more listings generally have more complete contact data.
Why does the actor return fewer results than my maxResults setting?
Some markets have fewer active agents than the requested maxResults. Small ZIP codes and rural areas typically have 20–100 unique agents. The actor returns all available unique agents.
Can I scrape multiple locations at once? Currently, one run covers one location. Use the Apify scheduler to run the actor for multiple locations in sequence, or call the Apify API in parallel from your own script.
What is the listingCount field?
listingCount counts how many times an agent appeared across the listings searched during your run. A higher count means the agent is more active in that market. This is the most reliable activity signal available from public listing data.
How fresh is the data? The actor fetches live listing data from Realtor.com on each run. Data is as current as Realtor.com's active listing database.
The actor returned the same agent multiple times — is that a bug?
No — the actor deduplicates by agent NRDS ID. Each result is a unique agent. If you see what looks like duplicates, check the agentId field — they are different agents with similar names.
Related real estate scrapers
- Realtor.com Scraper — Scrape property listings (for sale, for rent, sold) with full details, pricing, and photos
- Zillow Scraper — Property listings and Zestimate values from Zillow