Redfin Real Estate Agents Scraper
Pricing
Pay per event
Redfin Real Estate Agents Scraper
Extract live Redfin agent leads from market directories or profiles: emails, phones, ratings, reviews, brokerage, service regions, and transaction performance. Export to JSON, CSV, Excel, API, or webhooks.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
Extract Redfin real estate agent leads from public market directories and profiles. Get names, emails, phone numbers, ratings, reviews, service regions, brokerage details, and recent and lifetime transaction performance in one structured dataset.
Use the prefilled Seattle directory to try the scraper in minutes. No Redfin login or private API key is required.
What does Redfin Real Estate Agents Scraper do?
Redfin Real Estate Agents Scraper converts public Redfin agent pages into clean agent records. It supports two practical source types:
- ποΈ Market directories for city, neighborhood, ZIP code, or county coverage
- π€ Direct agent profiles for one-agent research and CRM enrichment
The Actor uses a lightweight HTTP workflow instead of launching a browser. It extracts live source data, deduplicates agents by Redfin agent ID, applies optional quality filters, and exports the result through Apify.
Who is Redfin Real Estate Agents Scraper for?
Brokerage recruiters
- Build city-specific recruiting lists with direct contact details.
- Prioritize established agents by ratings, reviews, and deal volume.
- Refresh lists on a schedule instead of buying an aging spreadsheet.
Real estate software and marketing vendors
- Find agents in markets served by your CRM, advertising, or transaction product.
- Segment outreach by service region, brokerage, and production history.
- Send new records into a lead-routing or enrichment workflow.
Lenders, title companies, and service providers
- Identify active agents in a target lending territory.
- Compare agents by market, recent deals, and lifetime production.
- Monitor new or newly active professionals in recurring runs.
Data and market intelligence teams
- Build repeatable market coverage datasets.
- Compare agent presence across overlapping Redfin directories.
- Analyze publicly reported reputation and production signals.
Why use this Redfin agent scraper?
- β Live public data from the market or profile URL you provide
- π§ Contact fields including public email and phone when available
- π Performance metrics for recent deals and lifetime transactions
- β Quality filters for minimum rating and review count
- π§Ή Deterministic deduplication across overlapping sources
- β‘ HTTP-only runtime with low memory and no browser overhead
- π¦ Ready exports in JSON, CSV, Excel, XML, and RSS
- π API and webhook access for automated lead pipelines
- ποΈ Schedules for weekly or monthly market refreshes
What Redfin agent data can you extract?
| Category | Fields |
|---|---|
| Identity | Agent ID, full name, first name, last name |
| Contact | Public email, phone, profile URL, photo URL |
| Professional | Job title, custom title, brokerage, license number, state |
| Coverage | Business market, service area, service regions, languages |
| Reputation | Redfin rating and review count |
| Production | Past-year deals, regional deals, lifetime transactions, lifetime volume |
| Status | Premier, active, serves buyers, serves sellers |
| Profile detail | Public biography on direct profile inputs |
| Provenance | Source URL, input type, scrape timestamp |
Some fields differ by source type. Market directories are ideal for broad contact lists. Direct profiles can add biography, license, and detailed region information. Fields not published by Redfin are omitted rather than guessed.
How much does it cost to scrape Redfin agents?
This Actor uses pay-per-event pricing. You pay one small run-start fee and one event for each unique agent saved. Apify compute, proxy, storage, and export access are included.
| Plan tier | Start | Per agent |
|---|---|---|
| Free | $0.005 | $0.0002477 |
| Starter / Bronze | $0.005 | $0.00021539 |
| Scale / Silver | $0.005 | $0.000168 |
| Business / Gold | $0.005 | $0.00012923 |
Example Bronze costs:
| Workflow | Agents | Estimated charge |
|---|---|---|
| Test one profile | 1 | about $0.00522 |
| Focused recruiting list | 100 | about $0.02654 |
| Multi-market refresh | 1,000 | about $0.22039 |
The Apify Free plan includes monthly platform credits, so a small evaluation run can normally be completed with no separate subscription. Final charges appear before and after each run in the Apify Console.
How to scrape Redfin real estate agents
- Open Redfin Real Estate Agents Scraper on Apify.
- Add one or more Redfin market-directory or agent-profile URLs.
- Set a low maximum agent count for your first run.
- Optionally choose a minimum rating, minimum reviews, or active-only filter.
- Click Start and wait for the dataset preview.
- Review the fields and export JSON, CSV, Excel, XML, or RSS.
- Save the configuration as a task if you want scheduled refreshes.
A basic city-directory input looks like this:
{"startUrls": [{"url": "https://www.redfin.com/city/16163/WA/Seattle/real-estate/agents"}],"maxItems": 25}
A direct profile lookup looks like this:
{"startUrls": [{"url": "https://www.redfin.com/real-estate-agents/aaron-freeman"}],"maxItems": 1}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
startUrls | array | Seattle directory prefill | Redfin directory and/or direct profile URLs |
maxItems | integer | 25 | Maximum unique agents saved across all sources |
minimumRating | number | not set | Keep agents at or above this 0β5 rating |
minimumReviews | integer | not set | Keep agents with at least this many reviews |
onlyActive | boolean | false | Keep agents currently marked active or taking calls |
Only redfin.com agent-directory and agent-profile URLs are accepted.
Property listing URLs are intentionally rejected so every output row follows one agent schema.
Filter top-rated or active Redfin agents
Use filters to reduce manual lead qualification:
{"startUrls": [{"url": "https://www.redfin.com/city/16163/WA/Seattle/real-estate/agents"}],"maxItems": 100,"minimumRating": 4.8,"minimumReviews": 25,"onlyActive": true}
Filters fail closed. For example, when a minimum rating is set and Redfin does not publish a parseable rating, that record is excluded instead of being assumed to qualify.
Output example
Each dataset item represents one unique agent:
{"agentId": 52400,"name": "Aaron Freeman","firstName": "Aaron","lastName": "Freeman","email": "aaron.freeman@redfin.com","phone": "(360) 587-0510","profileUrl": "https://www.redfin.com/real-estate-agents/aaron-freeman","jobTitle": "Redfin Principal Agent","officeState": "WA","businessMarket": "Seattle","serviceRegions": ["Seattle", "West Seattle", "Bellevue"],"licenseNumber": "119619","rating": 4.9,"reviews": 24,"pastYearDeals": 13,"lifetimeTransactions": 174,"lifetimeVolume": 132046750,"isPremier": true,"isActive": true,"sourceUrl": "https://www.redfin.com/real-estate-agents/aaron-freeman","inputType": "agent-profile","scrapedAt": "2026-07-18T04:00:00.000Z"}
Numbers are returned as numbers, booleans as booleans, and list fields such as service regions and languages as arrays.
Market directory and profile behavior
Market-directory mode reads the live structured directory for a Redfin region. It is the fastest way to collect many agents and normally provides contact, market, brokerage, reputation, and production fields.
Profile mode reads public profile state in one page request. It can add license number, biography, detailed selected regions, review counts, and profile-level transaction statistics.
If both inputs contain the same agent,
only the first record is saved because the Actor deduplicates on agentId.
Put profile URLs first when profile-level fields are more important than broad coverage.
Tips for best results
- π§ͺ Start with
maxItems: 5to inspect your target market cheaply. - π― Use one quality filter at a time before combining strict thresholds.
- π€ Put direct profiles before market URLs when overlapping sources are used.
- ποΈ Use Redfin's canonical directory URL copied from your browser.
- π Schedule repeat runs into a named dataset or downstream database.
- π§Ή Deduplicate historical snapshots by
agentIdandscrapedAtdownstream. - π Treat performance figures as Redfin's public snapshot, not audited production.
Export Redfin agent leads
The default dataset can be downloaded from the Apify Console as:
- JSON for APIs and data engineering
- CSV for spreadsheets and CRM imports
- Excel for recruiting operations
- XML or RSS for legacy integrations
You can select fields, rename columns downstream, or read pages of dataset items through the Apify Dataset API.
Integrations and automation workflows
Redfin agents β Google Sheets
Run a city task weekly and append new agent IDs to a recruiting sheet. Use a lookup step to update ratings and recent production for existing rows.
Redfin agents β HubSpot or Salesforce
Map name, email, phone, brokerageName, and businessMarket
to lead or contact properties through Make, Zapier, or your own webhook.
Redfin agents β Slack or Microsoft Teams
Send an alert when a scheduled run finds agents meeting a high review threshold or entering a watched market directory.
Redfin agents β data warehouse
Use a webhook after each run to ingest the dataset into BigQuery, Snowflake, PostgreSQL, or an object-storage lake.
Using the Apify API with Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/redfin-real-estate-agents-scraper').call({startUrls: [{ url: 'https://www.redfin.com/city/16163/WA/Seattle/real-estate/agents' }],maxItems: 25});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Using the Apify API with Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('automation-lab/redfin-real-estate-agents-scraper').call(run_input={'startUrls': [{'url': 'https://www.redfin.com/real-estate-agents/aaron-freeman'}],'maxItems': 1,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
Using the Apify API with cURL
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~redfin-real-estate-agents-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"startUrls": [{"url": "https://www.redfin.com/city/16163/WA/Seattle/real-estate/agents"}],"maxItems": 25}'
Use the returned run object to read its defaultDatasetId,
then fetch items from /v2/datasets/{datasetId}/items.
Use Redfin agent data with AI agents via MCP
This Actor can be used by AI assistants through the Apify Model Context Protocol integration.
For Claude Code:
$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/redfin-real-estate-agents-scraper"
For Claude Desktop, Cursor, or VS Code, add:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/redfin-real-estate-agents-scraper"}}}
Example prompts:
- "Use automation-lab/redfin-real-estate-agents-scraper to find 25 Seattle Redfin agents."
- "Extract this Redfin agent profile and summarize production and service regions."
- "Build a list of active Redfin agents rated at least 4.8 with 25 reviews."
Your AI client authenticates to Apify and receives the structured dataset, not an unstructured copy of the web page.
Schedule recurring Redfin market monitoring
Save a tested input as an Apify Task. Add a weekly or monthly schedule based on how often your workflow needs updates. Use a webhook to notify the destination system after a successful run.
For historical analysis, keep agentId as the stable key
and scrapedAt as the observation timestamp.
This supports changes in rating, review count, contact details, and production metrics.
Data quality and limitations
The Actor returns data that Redfin publishes on the supplied public pages. Contact, brokerage, license, active status, and performance fields may not appear for every agent. Missing optional values are omitted and never invented.
Redfin can change its page structure or anti-bot controls. The Actor uses a US residential HTTP route, conservative sequential requests, and bounded retries to reduce failures and unnecessary traffic.
A strict filter can legitimately produce zero saved agents. That is different from a source extraction failure, which causes a failed run when no supplied source can be read.
Is it legal to scrape Redfin agent data?
Scraping publicly available information is generally permitted in many jurisdictions, but how you collect and use personal or professional data can be regulated. Use this Actor responsibly, respect applicable laws and Redfin's terms, and do not use results for spam, harassment, discrimination, or unlawful profiling.
If you process personal data under GDPR, CCPA, or similar rules, identify a lawful basis, minimize retention, secure the dataset, and honor applicable access or deletion rights. This documentation is not legal advice.
FAQ
How fast is the Redfin agents scraper?
A focused directory run usually needs one HTTP source request plus dataset writes. Direct profiles also use one page request each. Runtime depends on source count, retries, and the selected item limit.
How much does one Redfin agent record cost?
The current Bronze price is $0.00021539 per saved agent plus a $0.005 run-start fee. Higher Apify plan tiers receive volume discounts.
Does it use a Redfin API key or login?
No. It extracts data from public Redfin agent surfaces through Apify infrastructure. You only need an Apify account to run the Actor.
Why are some email, phone, or brokerage fields missing?
Redfin does not publish every field for every agent or page type. Try a direct profile URL for deeper profile fields, but the Actor will not guess missing contact data.
Why did my filtered run return no rows?
Your thresholds may be stricter than the records in that market.
Remove onlyActive, lower minimumReviews, or remove minimumRating,
then inspect a small unfiltered sample.
Why was my URL rejected?
Only canonical Redfin agent-directory and direct agent-profile paths are supported. Property listing, home search, and non-Redfin URLs are rejected by design.
Can I combine several market directories?
Yes. Add several URLs to startUrls.
The global maxItems limit and agent-ID deduplication apply across all of them.
How does this compare with a static agent database?
This Actor reads the supplied live public Redfin market or profile surface. A static database may be faster for nationwide bulk access, but it can age between collection cycles and may not represent your chosen page today.
Other real estate scrapers and tools
Build a broader real estate data workflow with these automation-lab Actors:
- Realtor Agents Scraper
- HouseSigma Agents Scraper
- Redfin Scraper
- Zillow Scraper
- Crexi Commercial Real Estate Scraper
- New York eAccessNY Real Estate License Scraper
- Georgia Real Estate License Lookup Scraper
Use source-specific Actors together when you need cross-platform coverage, but keep each source's IDs and provenance fields separate.