Realtor Leads Scraper — Verified Emails avatar

Realtor Leads Scraper — Verified Emails

Pricing

from $40.00 / 1,000 enriched real estate leads

Go to Apify Store
Realtor Leads Scraper — Verified Emails

Realtor Leads Scraper — Verified Emails

Find real estate agent and brokerage leads with verified emails, phones, websites, locations, specialties, and structured contact data.

Pricing

from $40.00 / 1,000 enriched real estate leads

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Realtor & Real Estate Agent Lead Scraper — Verified Emails

Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.

A Google Maps-focused lead generation Actor that scrapes live business listings for real estate professionals — agents, brokers, property managers, mortgage lenders, home inspectors, and title companies — then crawls each business website to extract contact emails, phone numbers, office addresses, and social media profiles. It performs DNS MX lookups and SMTP handshakes to verify email deliverability, enriches and deduplicates records by business identity and location, and produces CRM-ready leads you can export to HubSpot, Salesforce, or CSV.

Use cases

  • Mortgage lenders building referral partner outreach lists of agents and brokers
  • Home inspection companies sourcing nearby brokers and agents for referrals
  • Real estate SaaS vendors generating segmented prospect lists by city or brokerage size
  • Title companies compiling broker contact lists across service counties for email campaigns
  • Property management software vendors identifying property managers in metro areas
  • Home staging companies targeting agents and brokers who list vacant properties
  • PropTech firms prospecting specific metro markets with fresh, verified contacts
  • Real estate CRM vendors and marketing agencies building pipelines for product demos and outreach

Features

  • 6 real estate professional types — Real Estate Agents, Brokers, Property Managers, Mortgage Lenders, Home Inspectors, Title Companies, plus a Custom mode for niche queries
  • Multi-location search — run a single search across multiple cities, ZIP codes, or regions in one run
  • Email enrichment — crawls each business website (homepage, contact, about, team pages) and extracts email addresses from HTML, mailto links, and encoded entities
  • Email verification — DNS MX record lookup + SMTP RCPT TO handshake confirms the mailbox exists before it reaches your list. Detects catch-all domains and role-based addresses (info@, contact@, sales@)
  • Social media extraction — finds Facebook, Instagram, LinkedIn, Twitter/X, YouTube, and TikTok profile links from business websites
  • CRM export formats — Full (all fields), HubSpot Import (matching HubSpot CSV column names), or Salesforce Import (matching Salesforce lead fields)
  • Automatic deduplication — within a single run, duplicate Google Maps place IDs are filtered out
  • Run resumption — saves checkpoint state so interrupted runs continue from the last processed position
  • Pay-per-result pricing — $0.04 per enriched lead, with no charge for the actor start event beyond memory

Input parameters

FieldTypeRequiredDefaultDescription
businessTypeenumYesReal Estate AgentType of real estate professional to target. Options: Real Estate Agent, Real Estate Broker, Property Manager, Mortgage Lender, Home Inspector, Title Company, Custom
locationsarrayYes["Miami, FL"]One or more cities, states, ZIP codes, or regions. Use "City, ST" format (e.g., "Austin, TX")
searchQuerystringNoRaw Google Maps query, only used when businessType is "Custom"
maxResultsintegerNo50Maximum number of leads to collect across all locations
maxResultsPerLocationintegerNo0Per-location cap (0 = use global max only)
enrichEmailsbooleanNotrueVisit each business website and extract email addresses
verifyEmailsbooleanNotrueValidate emails via DNS MX + SMTP handshake (requires enrichEmails)
enrichSocialsbooleanNotrueExtract social media profile links from business websites
outputFormatenumNofullOutput structure: full, hubspot, or salesforce
countryCodestringNousTwo-letter country code for Google Maps localization
languageCodestringNoenTwo-letter language code for results
proxyConfigurationobjectNoApify proxyProxy settings (defaults to Apify residential proxy)

Output data

Each record contains the following fields:

FieldTypeDescription
namestringBusiness name from Google Maps
categorystringGoogle Maps business category
businessTypestringThe input business type used for the search
addressstringFull street address
phonestring|nullPhone number from Google Maps
websitestring|nullBusiness website URL
mapsUrlstring|nullDirect Google Maps listing link
ratingnumber|nullGoogle star rating (0–5)
reviewCountnumber|nullNumber of Google reviews
latitudenumber|nullGPS latitude
longitudenumber|nullGPS longitude
emailstring|nullBest email found on the business website
allEmailsarrayAll emails found, each with address, verified, status, verificationNote
emailVerifiedbooleanWhether the primary email passed verification
emailVerificationStatusstringvalid, invalid, catch_all, role_based, unknown, or not_verified
emailVerificationNotestringHuman-readable verification detail (MX host, SMTP response)
socialLinksobjectFacebook, Instagram, LinkedIn, Twitter/X, YouTube, TikTok URLs
locationstringThe search location that produced this lead
placeIdstring|nullGoogle Maps Place ID
sourceUrlstringGoogle Maps search URL
scrapedAtstringISO 8601 timestamp

Sample output

{
"name": "Premier Realty Group",
"category": "Real estate agency",
"businessType": "Real Estate Agent",
"address": "123 Ocean Dr, Miami, FL 33139, USA",
"phone": "+1 305-555-0100",
"website": "https://premierrealty.com",
"mapsUrl": "https://www.google.com/maps/place/?q=place_id:ChIJabc123",
"rating": 4.8,
"reviewCount": 127,
"latitude": 25.7617,
"longitude": -80.1918,
"email": "info@premierrealty.com",
"allEmails": [
{
"address": "info@premierrealty.com",
"verified": true,
"status": "role_based",
"verificationNote": "MX: aspmx.l.google.com, SMTP 250 OK (role-based address)"
}
],
"emailVerified": true,
"emailVerificationStatus": "role_based",
"emailVerificationNote": "MX: aspmx.l.google.com, SMTP 250 OK (role-based address)",
"socialLinks": {
"facebook": "https://facebook.com/premierrealty",
"instagram": "https://instagram.com/premierrealty",
"linkedin": "https://linkedin.com/company/premierrealty",
"twitter": null,
"youtube": null,
"tiktok": null
},
"location": "Miami, FL",
"placeId": "ChIJabc123",
"sourceUrl": "https://www.google.com/maps/search/Real%20Estate%20Agents%20in%20Miami%2C%20FL",
"scrapedAt": "2026-06-24T22:00:00.000Z"
}

Pricing

This Actor uses pay-per-event pricing. These are the current Apify Store event prices:

EventPrice (USD)When it is charged
result-item$0.04Enriched Real Estate Lead — Single enriched lead record with Google Maps data, website emails, social links, and email verification status.
actor-start$0.00005Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run.

Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.

This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.

Code examples

Run via Apify SDK (JavaScript)

const { ApifyClient } = require('apify-client');
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('USERNAME/realtor-lead-scraper').call({
businessType: 'Real Estate Agent',
locations: ['Miami, FL', 'Austin, TX'],
maxResults: 100,
enrichEmails: true,
verifyEmails: true,
enrichSocials: true,
outputFormat: 'full'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} verified real estate leads`);

Run via REST API (cURL)

curl -X POST "https://api.apify.com/v2/acts/USERNAME~realtor-lead-scraper/runs?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"businessType": "Real Estate Broker",
"locations": ["Denver, CO"],
"maxResults": 50,
"verifyEmails": true,
"outputFormat": "hubspot"
}'

Export to HubSpot CSV

Set outputFormat to hubspot in the input. The output records will use HubSpot's column names (firstname, lastname, company, email, phone, etc.) so you can export the dataset as CSV and import it directly into HubSpot.

How email verification works

  1. DNS MX lookup — the actor resolves the domain's MX (Mail Exchange) records. If no MX records exist, the email is marked invalid
  2. SMTP handshake — the actor connects to the mail server on port 25 and performs HELOMAIL FROMRCPT TO. If the server responds with a 250 OK code, the email is marked valid
  3. Catch-all detection — if a domain has DNS records but no MX, it may be a catch-all domain (accepts all email addresses). These are marked catch_all
  4. Role-based detection — addresses like info@, contact@, sales@ are flagged as role_based even when the SMTP check passes, so you can filter them for personalized outreach

FAQ

Why do some leads have no email?

Not every real estate business lists an email on their website. The actor scans the homepage, contact page, about page, and team page, but some sites use contact forms instead of email addresses. These leads will still have phone numbers, addresses, and ratings.

What's the difference between "valid" and "role_based" status?

valid means the SMTP server confirmed the mailbox exists. role_based means the same, but the address is a generic inbox (like info@ or sales@) rather than a person's name. Both are deliverable, but role-based addresses may have lower engagement for cold outreach.

Can I search multiple cities in one run?

Yes. Add multiple entries to the locations array. The actor processes each location sequentially and deduplicates results across locations.

Google Maps typically returns up to ~120 results per search query. Use maxResultsPerLocation to balance results across multiple locations.

Does the actor work outside the US?

Yes. Set countryCode to the appropriate two-letter code (e.g., ca for Canada, gb for United Kingdom) and languageCode as needed.

Troubleshooting

IssueSolution
Zero resultsCheck that your location string is recognized by Google Maps. Use "City, ST" format.
No emails foundThe business may not list an email publicly. Try disabling verifyEmails to get unverified emails faster.
All emails show "unknown" statusThe target mail server may be blocking SMTP probes. This is common with large providers like Google. The emails are likely still valid.
Run takes too longEmail verification adds ~1-2 seconds per email. Disable verifyEmails for faster runs, or reduce maxResults.
Serper API error 401/403The Serper API key is missing or invalid. Check the SERPER_API_KEY environment variable in actor settings.