Redfin Real Estate Agents Scraper avatar

Redfin Real Estate Agents Scraper

Pricing

Pay per event

Go to Apify Store
Redfin Real Estate Agents Scraper

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

Stas Persiianenko

Maintained by Community

Actor 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?

CategoryFields
IdentityAgent ID, full name, first name, last name
ContactPublic email, phone, profile URL, photo URL
ProfessionalJob title, custom title, brokerage, license number, state
CoverageBusiness market, service area, service regions, languages
ReputationRedfin rating and review count
ProductionPast-year deals, regional deals, lifetime transactions, lifetime volume
StatusPremier, active, serves buyers, serves sellers
Profile detailPublic biography on direct profile inputs
ProvenanceSource 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 tierStartPer 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:

WorkflowAgentsEstimated charge
Test one profile1about $0.00522
Focused recruiting list100about $0.02654
Multi-market refresh1,000about $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

  1. Open Redfin Real Estate Agents Scraper on Apify.
  2. Add one or more Redfin market-directory or agent-profile URLs.
  3. Set a low maximum agent count for your first run.
  4. Optionally choose a minimum rating, minimum reviews, or active-only filter.
  5. Click Start and wait for the dataset preview.
  6. Review the fields and export JSON, CSV, Excel, XML, or RSS.
  7. 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

ParameterTypeDefaultDescription
startUrlsarraySeattle directory prefillRedfin directory and/or direct profile URLs
maxItemsinteger25Maximum unique agents saved across all sources
minimumRatingnumbernot setKeep agents at or above this 0–5 rating
minimumReviewsintegernot setKeep agents with at least this many reviews
onlyActivebooleanfalseKeep 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: 5 to 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 agentId and scrapedAt downstream.
  • πŸ“Š 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 os
from apify_client import ApifyClient
client = 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().items
print(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.

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:

Use source-specific Actors together when you need cross-platform coverage, but keep each source's IDs and provenance fields separate.