# Realtor.com Agent Scraper 🏠👥 (`easyapi/realtor-com-agent-scraper`) Actor

Scrape real estate agent profiles from Realtor.com, including their contact details, service areas, experience, listings, and performance metrics. Perfect for lead generation and market research.

- **URL**: https://apify.com/easyapi/realtor-com-agent-scraper.md
- **Developed by:** [EasyApi](https://apify.com/easyapi) (community)
- **Categories:** Real estate, Lead generation
- **Features:** Limited permissions
- **Stats:** 264 total users, 2 monthly users, 100.0% runs succeeded, 5 bookmarks
- **User rating**: 1.00 out of 5 stars

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Realtor.com Agent Scraper 🏠👥

Extract detailed information about real estate agents from Realtor.com. This actor helps you gather comprehensive data about real estate professionals, their performance, and market coverage.

### 🎯 Use Cases

- Lead generation for real estate services
- Market research and competitor analysis
- Finding top-performing agents in specific areas
- Building real estate agent databases
- Analyzing agent performance metrics

### ✨ Features

- Scrapes detailed agent profiles including:
  - Contact information (phone, email, office details)
  - Professional experience and credentials
  - Service areas and zip codes covered
  - Current listings and recent sales data
  - Performance metrics (review counts, ratings)
  - Team information and brokerage details
  - Social media links
- Handles pagination automatically
- Respects rate limits and uses smart delays
- Supports proxy configuration
- Provides clean, structured JSON output

### 💎 Output

The actor provides detailed JSON data for each agent, including:

- Personal and professional information
- Contact details and office location
- Areas served and specializations
- Current listings and price ranges
- Sales history and performance metrics
- Professional certifications and designations

### 🔧 Input Parameters

- `searchUrls`: Array of Realtor.com agent search URLs (e.g., "https://www.realtor.com/realestateagents/90001/")
- `maxItems`: Maximum number of agents to scrape (default: 1000)
- `proxyConfiguration`: Optional proxy settings for better success rates

### 🚀 Tips

- Use specific location URLs for targeted results
- Adjust maxItems based on your needs
- Enable proxy configuration for better reliability
- Consider rate limits and be respectful of the website

### 📌 Limitations

- Respects Realtor.com's terms of service
- Some agent information may be limited based on privacy settings
- Rate limiting may affect scraping speed

#### Input Example

A full explanation of an input example in JSON.

```json
{
    "searchUrls": [
        "https://www.realtor.com/realestateagents/90001/"
    ],
    "maxItems": 30
}
```

#### Output sample

The results will be wrapped into a dataset which you can always find in the **Storage** tab. Here's an excerpt from the data you'd get if you apply the input parameters above:

And here is the same data but in JSON. You can choose in which format to download your data: JSON, JSONL, Excel spreadsheet, HTML table, CSV, or XML.

```json
[
    {
        "searchUrl": "https://www.realtor.com/realestateagents/90001/",
        "scrapedAt": "2026-05-25T11:14:18.562Z",
        "agent": {
            "id": "568ff89789a68901006bc981",
            "is_paid": true,
            "is_realtor": true,
            "fulfillment_id": "1265874",
            "display_ratings": false,
            "has_rps": false,
            "avatar": {
                "url": "https://ap.rdcpix.com/b7f92d7e61d13093617a49998eb79e70r-c1441995755rd-w144_h144.jpg",
                "initials": "JC",
                "__typename": "AgentAvatar"
            },
            "broker": {
                "name": "Renaissance Realty Group -  Broker",
                "fulfillment_id": "4550230",
                "__typename": "AgentBrokerage"
            },
            "office": {
                "name": "Renaissance Realty Group",
                "__typename": "AgentOffice"
            },
            "fullname": "Jamial Clark",
            "ratings_reviews": {
                "average_rating": 5,
                "recommendations_count": 1,
                "reviews_count": 4,
                "__typename": "AgentRatingsReviews"
            },
            "listing_stats": {
                "combined_annual": {
                    "min": 113000,
                    "max": 905000,
                    "__typename": "AgentListingStatisticsCombined"
                },
                "for_sale": {
                    "count": 1,
                    "last_listing_date": "2026-05-21T00:17:18Z",
                    "max": 739000,
                    "min": 739000,
                    "__typename": "AgentListingStatisticsForSale"
                },
                "recently_sold_annual": {
                    "count": 7,
                    "__typename": "AgentListingStatisticsSold"
                },
                "recently_sold_listing_details": {
                    "listings": [
                        {
                            "baths": 2,
                            "beds": 3,
                            "city": "Los Angeles",
                            "photo": "https://ap.rdcpix.com/db386b14b2160301b25d67e9a383e6a0l-m2363276392rd-w100_h67.jpg",
                            "state_code": "CA",
                            "__typename": "AgentListingRecentlySoldDetails"
                        },
                        {
                            "baths": 3,
                            "beds": 3,
                            "city": "Inglewood",
                            "photo": "https://ap.rdcpix.com/152216b5dd57880e45d02c539265ac3cl-m3462666862rd-w100_h67.jpg",
                            "state_code": "CA",
                            "__typename": "AgentListingRecentlySoldDetails"
                        },
                        {
                            "baths": 2,
                            "beds": 2,
                            "city": "Inglewood",
                            "photo": "https://ap.rdcpix.com/62ffdea6de872c7f57bdd789ff975ebbl-m231276346rd-w100_h67.jpg",
                            "state_code": "CA",
                            "__typename": "AgentListingRecentlySoldDetails"
                        }
                    ],
                    "show_additional": true,
                    "__typename": "AgentListingsRecentlySold"
                },
                "__typename": "AgentListingStatistics"
            },
            "services": {
                "buyer": [
                    "Access to market insights",
                    "Early access to new listings",
                    "Persuasive offer proposals",
                    "Home inspection support",
                    "Pre-approval assistance",
                    "Lender referrals",
                    "Other professional network referrals"
                ],
                "seller": [
                    "Open houses",
                    "Professional photography",
                    "Your own website",
                    "Postcards and flyers",
                    "Virtual tour",
                    "Comparative market analysis"
                ],
                "__typename": "AgentServices"
            },
            "sorting_weight": 60,
            "__typename": "AgentBranding"
        }
    },
    ...
]
```

### Related Actors

- 🏠 [Realtor.com Scraper](https://apify.com/easyapi/realtor-com-scraper) - Extract detailed property listings from Realtor.com including prices, location details, property features, and more.
- 🏠 [Zillow Property Scraper](https://apify.com/easyapi/zillow-property-scraper) - Scrape real estate listings from Zillow.com with comprehensive property data and market insights.
- 🏠 [Trulia Property Scraper](https://apify.com/easyapi/trulia-property-scraper) - Extract real estate listings from Trulia.com including property details, prices, and agent information.
- 🏠 [VRBO Property Listing Scraper](https://apify.com/easyapi/vrbo-property-listing-scraper) - Scrape vacation rental listings with detailed information including prices, ratings, and amenities.
- 🏠 [99acres.com Scraper](https://apify.com/easyapi/99acres-com-scraper) - Extract property listings from India's leading real estate portal with comprehensive details.
- 🏠 [Housing.com Scraper](https://apify.com/easyapi/housing-com-scraper) - Scrape real estate listings with detailed property information and pricing data.
- 🏠 [Land.com Listing Scraper](https://apify.com/easyapi/land-com-listing-scraper) - Extract land and property listings including detailed property information and broker details.
- 🏠 [PropertyFinder Agent Scraper](https://apify.com/easyapi/propertyfinder-agent-scraper) - Scrape real estate agent profiles from PropertyFinder.ae with comprehensive contact details.
- 🏠 [Houzz Professional Scraper](https://apify.com/easyapi/houzz-professional-scraper) - Extract professional designers' profiles including contact information and business details.
- 🔍 [Email & Contact Extractor From Any Web](https://apify.com/easyapi/email-contact-extractor-from-any-web) - Extract emails, phone numbers, and social media profiles from any website.
- 📧 [Discover & Verify Professional Emails](https://apify.com/easyapi/discover-verify-professional-emails) - Find and verify professional email addresses with comprehensive verification checks.
- 🏠 [Bayut List Search Scraper](https://apify.com/easyapi/bayut-list-search-scraper) - Extract property listings from Bayut.com with detailed information and agent details.
- 🏠 [Rightmove Property Search Scraper](https://apify.com/easyapi/rightmove-property-search-scraper) - Scrape comprehensive property data from UK's leading property website.
- 🏠 [Funda.nl Scraper](https://apify.com/easyapi/funda-nl-scraper) - Extract detailed real estate data from Netherlands' leading property platform.
- 🔍 [BBB Business Directory Scraper](https://apify.com/easyapi/bbb-business-directory-scraper) - Scrape business listings including company details and ratings.

# Actor input Schema

## `searchUrl` (type: `string`):

Realtor.com agent search URL to scrape

## `maxItems` (type: `integer`):

Maximum number of agents to scrape

## `proxyConfiguration` (type: `object`):

Optionally, use Apify Proxy or custom HTTP proxy to avoid IP address-based blocking.

## Actor input object example

```json
{
  "searchUrl": "https://www.realtor.com/realestateagents/90001/",
  "maxItems": 20,
  "proxyConfiguration": {}
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchUrl": "https://www.realtor.com/realestateagents/90001/",
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("easyapi/realtor-com-agent-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchUrl": "https://www.realtor.com/realestateagents/90001/",
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("easyapi/realtor-com-agent-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchUrl": "https://www.realtor.com/realestateagents/90001/",
  "maxItems": 20
}' |
apify call easyapi/realtor-com-agent-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,easyapi/realtor-com-agent-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/kaShTLnlHBQjajemy/builds/ZLvp2kUy0tGGb9PgD/openapi.json
