# Real Estate Agent Email Scraper: Leads by ZIP Code (`scraped/realtor-agents-by-zip-code-preprocessed-data`) Actor

Generate high-quality real estate leads with our Realtor.com Agent Email Scraper. Instantly extract verified emails, agent names, office details, and sales history by ZIP code. Perfect for scaling real estate outreach, brokerage recruiting, and B2B marketing campaigns.

- **URL**: https://apify.com/scraped/realtor-agents-by-zip-code-preprocessed-data.md
- **Developed by:** [scraped](https://apify.com/scraped) (community)
- **Categories:** Automation, Lead generation, Real estate
- **Stats:** 211 total users, 4 monthly users, 100.0% runs succeeded, 9 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

$10.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

This scraper collects pre-processed data about real estate agents from [Realtor.com](https://www.realtor.com/), specifically for agents who service the zip codes you specify. It scrapes relevant data such as the agent's name, contact information, listing statistics, and the zip codes they service.

### Instructions

Enter `zipcode` and run, it's that simple!

### Sample Output

Here's an example of the data the scraper will output (sensitive data is removed for privacy):

```json

{
Agent Photo: "http://p.rdcpix.com/v02/gbf681200-c0md-r1.jpg",
Areas serviced: "Boston, Dorchester, Los Angeles, Beverly Hills, Pacific Palisades, Santa Monica, Wilmington",
Email: "Mxxxxxxx@xx.com",
First Year in Business: "2001.0",
Full Name: "Michael A.J. Ferretti, Broker",
Languages: "",
Listing Count: "0",
Listing Last Date: "",
Listing Price Max: "0",
Listing Price Min: "0",
Mobile Phones: "(310) 896-xxxx",
Office Address: "1 Washington Mall #1068, Boston, MA, 02108, US",
Office Email: "",
Office Name: "Dupont Street Realty Advisors",
Office Phone: "",
Office Website: "www.DuPontSt.com",
Review Count: "0",
Role: "agent",
Sold Count: "1",
Sold Last Date: "2023-08-24",
Sold Price Max: "109140",
Sold Price Min: "109140",
Title: "Broker",
Web URL: "https://www.realtor.com/realestateagents/Michael-A.J.-Ferretti_Boston_MA_1206463_077084055",
Zip codes serviced: "02110, 02115, 02116, 02117, 02118, 02125, 02215, 90049, 90210, 90211, 90213, 90272, 90401, 90402, 90403, 90404, 90405, 19805, 19809"
},
```

### Data dictionary

**\[Agent name]** The full name of the agent.
**\[Website]** A link to the agent's personal or office website.
**\[Email]** The agent's email address. (Ensure compliance with all relevant laws and regulations regarding email communication. The scraper collects this data for informational purposes only, and we are not responsible for misuse, spamming, or unsolicited contact.)
**\[Listing count]** The number of listings the agent currently has.
**\[Sold count]** The number of properties the agent has sold.
**\[Office Phone]** If available, the office phone number. (May be null.)
**\[Mobile Phones]** The agent's mobile phone number.
**\[Areas serviced]** The areas the agent services.
**\[Zip codes serviced]** A list of zip codes where the agent provides services.
**\[Office / Company name]** The name of the agent's office or company. (May be empty.)
**\[Company website]** The website agent's office or company. (May be empty.)
**\[Review count]** The number of reviews the agent has on Realtor.com
**\[Agent Photo]** Photo of agent (if available)

\##Trial users

Results for trial users are limited to 10 records. Please consider supporting us by renting out this actor.

### Legal Notice

This scraper collects publicly available data from Realtor.com. This data was pre-processed and may not reflect the latest data available on Realtor.com
It is your responsibility to ensure that you comply with all relevant laws and regulations when contacting agents, especially regarding unsolicited communication and privacy policies.
The scraper collects email addresses for informational purposes only. We are not responsible for any misuse or violation of anti-spam laws. Always respect the agent's privacy and adhere to applicable communication regulations.

### Full List Available For Purchase

Email: 434399 records (99.40%) out of 437020
Mobile Phones: 363704 records (83.22%) out of 437020
Office Phone: 165788 records (37.94%) out of 437020
Office Email: 386565 records (88.45%) out of 437020

### Support

Please email scraperhelp@gmail.com if you need any additional support.

# Actor input Schema

## `zip_codes` (type: `array`):

Enter the list of US zip codes to scrape real estate agents from.

## Actor input object example

```json
{
  "zip_codes": [
    "97229",
    "90210"
  ]
}
```

# 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 = {
    "zip_codes": [
        "97229",
        "90210"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("scraped/realtor-agents-by-zip-code-preprocessed-data").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 = { "zip_codes": [
        "97229",
        "90210",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("scraped/realtor-agents-by-zip-code-preprocessed-data").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 '{
  "zip_codes": [
    "97229",
    "90210"
  ]
}' |
apify call scraped/realtor-agents-by-zip-code-preprocessed-data --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,scraped/realtor-agents-by-zip-code-preprocessed-data"
        }
    }
}
```

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/eFGHhIfBmfKfx0BDj/builds/lpV1TeJsmKB3rZV1l/openapi.json
