Realtor Agents Scraper avatar

Realtor Agents Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Realtor Agents Scraper

Realtor Agents Scraper

Extract realtor agent profiles, contact details, and listings at scale. Gather names, emails, phone numbers, and market data for lead generation, competitive analysis, and real estate CRM integration. Perfect for brokers, marketers & investors.

Pricing

from $1.00 / 1,000 results

Rating

5.0

(4)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

24

Total users

3

Monthly active users

18 days ago

Last modified

Share

What does Realtor Agents Scraper do?

Realtor Agents Scraper collects structured real estate agent data from Realtor.com search result pages across U.S. cities, states, and ZIP codes. Give it a public Realtor.com agent search URL, choose how many records and pages to collect, and receive agent profiles with brokerage details, ratings, review counts, listing activity, price ranges, services, and recent sales information.

The dataset is useful for real estate lead generation, brokerage research, market coverage analysis, CRM enrichment, and recurring monitoring. Results can be downloaded from Apify in JSON, CSV, Excel, or XML, or passed to connected tools through the Apify platform.

Why use Realtor Agents Scraper?

  • Build market-specific agent lists - Collect agents for a city, ZIP code, buyer intent, seller intent, or both.
  • Prioritize prospects - Compare ratings, reviews, testimonials, current listings, recent sales, and price ranges.
  • Research brokerages - Identify the broker and office associated with each agent and compare local presence.
  • Enrich sales workflows - Export profile URLs and structured activity signals to a CRM, spreadsheet, or internal database.
  • Monitor changes over time - Schedule repeat runs to track agent rankings, listing activity, and market coverage.
  • Control collection size - Set a result limit and a page limit for quick tests or larger market pulls.

What data can you extract from Realtor.com?

Each dataset item represents one unique agent found in the selected Realtor.com search results.

FieldTypeDescription
agent_idStringUnique Realtor.com agent identifier.
profile_urlStringDirect Realtor.com profile URL.
full_nameStringAgent full name.
broker_nameStringBrokerage name.
broker_fulfillment_idStringBroker fulfillment identifier when available.
office_nameStringOffice or agency name.
avatar_urlStringAgent profile image URL when available.
is_realtorBooleanWhether the profile is marked as REALTOR.
is_paidBooleanWhether the result has paid placement.
display_ratingsBooleanWhether ratings are displayed for the profile.
average_ratingNumberAverage customer rating.
reviews_countIntegerNumber of public reviews.
testimonials_countIntegerNumber of testimonials or recommendations.
fulfillment_idStringAgent fulfillment identifier when available.
sorting_weightIntegerSource ranking weight when available.
annual_min_priceNumberLower end of the agent's annual transaction range.
annual_max_priceNumberUpper end of the agent's annual transaction range.
annual_price_rangeStringFormatted annual transaction price range.
for_sale_countIntegerCurrent for-sale listing count associated with the agent.
for_sale_min_priceNumberLowest current for-sale listing price.
for_sale_max_priceNumberHighest current for-sale listing price.
last_listing_dateStringDate and time of the most recent listing when available.
recent_sales_count_12mIntegerSales count for the previous 12 months.
show_additional_recent_salesBooleanWhether more recent sales are available beyond the preview.
buyer_servicesArrayBuyer-side services listed on the profile.
seller_servicesArraySeller-side services listed on the profile.
recent_sales_previewArrayRecent sale snapshots with city, state, beds, baths, and photo URL.
location_slugStringLocation segment read from the input URL.
intentStringSearch intent, such as buy, sell, or both.
sort_byStringResult sort mode read from the input URL.
rank_overallIntegerAgent position in the collected result stream.
scraped_atStringUTC timestamp for the collection time.

Fields that are not published for a particular agent are omitted from that dataset item.

How to scrape Realtor.com agent data

  1. Open Realtor Agents Scraper in Apify Console.
  2. Paste a public Realtor.com agent search URL into startUrl.
  3. Set results_wanted and max_pages for the size of the run.
  4. Enable Apify Proxy in proxyConfiguration when collecting larger or repeated datasets.
  5. Run the Actor and review the dataset preview.
  6. Download the results or connect the dataset to your CRM, spreadsheet, webhook, or API workflow.

The search URL controls the location and search options. The Actor reads URL segments such as intent-buy, intent-sell, intent-both, sort-relevantagents, sort-recentagents, agenttype-all, and agenttype-realtors when they are present.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoNew York buyer search URLPublic Realtor.com agent search URL. The URL supplies the location, intent, sort mode, agent type, and starting page.
results_wantedIntegerNo20Maximum number of unique agent records to save.
max_pagesIntegerNo3Maximum number of paginated result pages to process.
proxyConfigurationObjectNo{"useApifyProxy": false}Apify Proxy settings for improving reliability during larger or repeated runs.

Output Data

The Actor writes one normalized record per unique agent to the default Apify dataset. The most useful fields for the dataset table include the following:

FieldTypeDescription
full_nameStringAgent name shown in the result.
broker_nameStringAssociated brokerage.
office_nameStringAssociated office or agency.
profile_urlStringDirect profile link for follow-up research.
average_ratingNumberPublic rating when available.
reviews_countIntegerPublic review count.
testimonials_countIntegerRecommendation or testimonial count.
annual_price_rangeStringFormatted annual transaction range.
for_sale_countIntegerCurrent for-sale activity count.
recent_sales_count_12mIntegerRecent sales activity over 12 months.
location_slugStringRequested market identifier.
intentStringBuyer, seller, or combined search intent.
rank_overallIntegerPosition in the collected results.
scraped_atStringUTC collection timestamp.

See the complete field list in What data can you extract from Realtor.com? above.

Usage Examples

Basic City Run

Collect up to 20 buyer-focused agents from New York using three result pages at most:

{
"startUrl": "https://www.realtor.com/realestateagents/new-york_ny/intent-buy/sort-relevantagents/agenttype-all/pg-1",
"results_wanted": 20,
"max_pages": 3
}

Collect up to 50 REALTOR profiles for seller intent in Miami:

{
"startUrl": "https://www.realtor.com/realestateagents/miami_fl/intent-sell/sort-relevantagents/agenttype-realtors/pg-1",
"results_wanted": 50,
"max_pages": 5
}

Larger Market Collection

Collect up to 200 agents from Chicago and allow the run to process ten pages:

{
"startUrl": "https://www.realtor.com/realestateagents/chicago_il/intent-buy/sort-relevantagents/agenttype-all/pg-1",
"results_wanted": 200,
"max_pages": 10,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Sample Output

This example shows one dataset item with profile, performance, activity, service, and recent sale fields:

{
"agent_id": "56bce3477e54f7010021e4a5",
"profile_url": "https://www.realtor.com/realestateagents/56bce3477e54f7010021e4a5",
"full_name": "Vasilis Kokoris",
"broker_name": "Compass - Broker",
"broker_fulfillment_id": "2107942",
"office_name": "Compass",
"avatar_url": "https://ap.rdcpix.com/acfb986efc7860e7ef7b819d4b5372adr-c2867483630rd-w144_h144.jpg",
"is_realtor": true,
"is_paid": true,
"display_ratings": true,
"average_rating": 5,
"reviews_count": 35,
"testimonials_count": 144,
"fulfillment_id": "573038",
"sorting_weight": 80,
"annual_min_price": 180000,
"annual_max_price": 1749000,
"annual_price_range": "$180,000 - $1,749,000",
"for_sale_count": 16,
"for_sale_min_price": 225000,
"for_sale_max_price": 1749000,
"last_listing_date": "2026-06-26T18:01:43Z",
"recent_sales_count_12m": 42,
"show_additional_recent_sales": true,
"buyer_services": [
"Personalized neighborhood guidance",
"Access to market insights",
"Early access to new listings"
],
"seller_services": [
"Open houses",
"Professional photography",
"Home staging"
],
"recent_sales_preview": [
{
"city": "East Elmhurst",
"state_code": "NY",
"beds": 1,
"baths": 1,
"photo": "https://ap.rdcpix.com/ba60d17b2cc0a155338a9849860c8253l-m420876391rd-w100_h67.jpg"
}
],
"location_slug": "new-york_ny",
"intent": "buy",
"sort_by": "relevantagents",
"rank_overall": 1,
"scraped_at": "2026-07-17T12:09:57.371Z"
}

Tips for Best Results

  • Use a complete search URL - Open the Realtor.com agent results page in a browser first and copy its URL, including the location and search options.
  • Start with a small run - Test with results_wanted: 20 and max_pages: 2 before collecting a full market.
  • Use supported URL segments - intent-buy, intent-sell, and intent-both select the client intent; agenttype-realtors narrows results to REALTOR profiles.
  • Allow enough pages - Set max_pages high enough for the requested result count. The run stops when it reaches the limit or no more results are available.
  • Use a proxy for repeat collection - Apify Proxy can improve consistency for larger runs and scheduled monitoring.
  • Expect source-dependent gaps - Ratings, prices, services, and sales metrics may be unavailable for some profiles.
  • Review freshness - Realtor.com results can change, so schedule recurring runs when the dataset supports an ongoing workflow.

Integrations

  • Google Sheets - Review agent lists, compare markets, and share research with a team.
  • Airtable - Build searchable agent directories and outreach pipelines.
  • HubSpot - Add agent profile URLs and market signals to CRM workflows.
  • Make or Zapier - Trigger enrichment, notifications, or follow-up actions after a run.
  • Webhooks - Send completed run data to a custom service.
  • Apify API - Start runs and retrieve dataset records programmatically.

Export Formats

Apify datasets can be downloaded as JSON, CSV, Excel, XML, and other supported formats.

Frequently Asked Questions

How many agents can I collect per run?

The maximum is controlled by results_wanted, while max_pages controls how many result pages the run can process. The final count also depends on the number of unique agents available in the selected search.

Can I scrape multiple cities in one run?

No. This input schema accepts one startUrl per run. Use separate scheduled tasks or separate runs for additional cities and combine the datasets afterward.

Can I target buyer-only or seller-only agents?

Yes. Use a Realtor.com URL containing intent-buy, intent-sell, or intent-both. You can also use agenttype-realtors when you want REALTOR profiles.

Why are some fields missing from certain records?

Fields are missing when Realtor.com does not publish that value for a profile or search result. This is expected for optional ratings, services, price ranges, and sales details.

Do I need a proxy for every run?

No. Small test runs may work without a proxy, while Apify Proxy is recommended for larger, repeated, or scheduled collections.

How does pagination work?

The Actor starts from the page number in startUrl and processes later pages until it reaches max_pages, saves results_wanted unique records, or runs out of results.

Can I export the data to a CRM?

Yes. Download the dataset as CSV or JSON, use an Apify integration, or retrieve the dataset through the Apify API and map the fields into your CRM.

You are responsible for complying with Realtor.com terms of service, applicable privacy and data-protection laws, and any outreach rules that apply to your use case. Collect and use public data for lawful purposes, and avoid using it in ways that violate individual rights or platform rules.

Support

For issues, feature requests, or source changes, use the Issues tab or support channel on the Actor page in Apify Console. Include the input URL, run ID, and a short description of the result when reporting a problem.

This Actor is intended for lawful collection and research using publicly available Realtor.com data. You are responsible for complying with Realtor.com terms of service, applicable laws, privacy requirements, and any restrictions on storing or contacting people represented in the dataset.