# Car Dealer Email Scraper (`solid-scraper/car-dealer-email-scraper`) Actor

📧 Car Dealer Email Scraper finds verified car dealership contacts fast—by location, keywords, and niche. Perfect for lead gen, sales teams, and agencies to boost outreach and conversions instantly.

- **URL**: https://apify.com/solid-scraper/car-dealer-email-scraper.md
- **Developed by:** [SolidScraper](https://apify.com/solid-scraper) (community)
- **Categories:** Lead generation, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### Car Dealer Email Scraper 📬

**Car Dealer Email Scraper** automatically searches for car dealerships and extracts contact information from publicly available sources—so you can build a dealer email list faster without manual copy-paste.

Whether you’re a marketer, sales lead, or data analyst, this **car dealer email scraper** (and **automotive dealer email scraper**) helps you find **dealer website email extractor** results by city, and then turn them into outreach-ready data at scale—saving you hours of manual work.

***

### Why choose Car Dealer Email Scraper?

| Feature | Benefit |
|---|---|
| ✅ **Email + contact extraction from business websites** | Extracts emails and other contact fields in one run per dealership |
| ✅ **Targeted by location** | Lets you focus results on the geographic areas you care about |
| ✅ **Structured dataset output** | Saves consistent fields (address, phone, email, rating/reviews, and more) for easier analysis |
| ✅ **Built-in resilience for scraping** | Includes fallbacks and resilience during website scraping for better completion rates |
| ✅ **Scale-focused stopping logic** | Stops when it reaches your target number of businesses with emails |
| ✅ **Proxy support for reliable scraping** | Helps keep scraping stable for larger batches |

***

### Key features

- 🔍 **Automotive dealer email discovery:** Searches using your business type query and location inputs, then scrapes website contact info
- 🌐 **Dealer website email extraction:** Prioritizes extracting emails from dealership websites and records what was found
- 💌 **Email-first output:** Outputs **one dataset row per email** when emails are found (ideal for outreach workflows)
- 📞 **Phone and social media capture:** Collects `scraped_phones` and `scraped_social_media` for each dealership record
- 📊 **Rich dealership context fields:** Includes fields like `avg_rating`, `total_reviews`, and `full_address` alongside contact data
- 💾 **Real-time dataset saving:** Each scraped result is pushed to the Apify dataset as soon as it’s ready
- 🛡️ **Reliability controls:** Includes runtime controls for completion and resilience (including stopping when quotas are reached)
- 🚀 **Email-only mode support:** Can run in a mode intended to only save businesses with emails (when enabled)

***

### Input

Provide input via an `input.json` file. Example structure:

```json
{
  "googleMapsSearchTerm": "Car Dealer",
  "googleMapsLocation": ["New York"],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

#### Input Fields

| Field | Required | Description |
|---|---:|---|
| `googleMapsSearchTerm` | ✅ | The business type or niche to search for (for example: `car dealer` or `auto dealership`). |
| `googleMapsLocation` | ✅ | A list of geographic locations to target (example format: `New York`). |
| `maxBusinesses` | ❌ | Target number of businesses with emails to find (allowed range: `1-1000`). The actor stops when this target is reached. |
| `scrapeMaxBusinessesPerLocation` | ❌ | If enabled, collects up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single overall total limit. |
| `proxyConfiguration` | ❌ | Proxy settings for scraping. Recommended for larger-scale runs. |
| `proxyConfiguration.proxy support` | ❌ | When set to `true`, enables Apify Proxy. (Recommended for large batches.) |

***

### Output

The actor saves each scraped dealership’s data into the Apify dataset, using a **flattened output** format (one row per email when emails are found).

Example dataset record:

```json
{
  "street_address": "123 Main St",
  "city": "New York",
  "zip": "10001",
  "state": "NY",
  "country_code": "US",
  "full_address": "123 Main St New York NY 10001 US",
  "website": "https://example.com",
  "avg_rating": 4.6,
  "total_reviews": 132,
  "name": "Example Auto Dealership",
  "place_id": "ChIJxxxxxxxxxxxx",
  "phone": "+1 212-555-0123",
  "lat": 40.7128,
  "long": -74.006,
  "scraped_phones": ["+1 212-555-0123"],
  "scraped_social_media": ["https://www.linkedin.com/company/example/"],
  "emails_found": 3,
  "pages_scraped": 7,
  "scrape_status": "success",
  "email_found": "sales@example.com"
}
```

#### Output Fields

| Field | Type | Description |
|---|---|---|
| `name` | string | Business (dealership) name. |
| `website` | string | Dealership website URL (cleaned). |
| `phone` | string | Primary phone value captured for the dealership. |
| `full_address` | string | Combined formatted address (`street_address city state zip country_code`). |
| `city` | string | City extracted for the dealership. |
| `state` | string | State extracted for the dealership. |
| `zip` | string | ZIP/postal code extracted for the dealership. |
| `country_code` | string | Country code extracted for the dealership. |
| `email_found` | string | The specific email address for this row (one row per email when emails are found). |
| `scraped_phones` | array | Array of phone numbers scraped from the dealership website. |
| `scraped_social_media` | array | Array of social media links scraped from the dealership website. |
| `emails_found` | number | Count of scraped emails found for the dealership. |
| `pages_scraped` | number | Number of processed URLs/pages during website scraping (from the job progress). |
| `avg_rating` | number | Average rating value captured for the dealership. |
| `total_reviews` | number | Total review count captured for the dealership. |
| `lat` | number | Latitude coordinate associated with the dealership. |
| `long` | number | Longitude coordinate associated with the dealership. |
| `place_id` | string | Place identifier for the dealership. |
| `scrape_status` | string | Scraping status (for example: `success`, `failed`, `no_website`, `error`). |

**Export tip:** After the run finishes, you can export the dataset from Apify as JSON or CSV for downstream workflows (CRMs, outreach lists, and analysis).

***

### How to use Car Dealer Email Scraper (via Apify Console)

1. **Open Apify Console**
   Log in at [console.apify.com](https://console.apify.com) and open the actor page for **Car Dealer Email Scraper**.

2. **Add your search term**
   In **INPUT**, set `googleMapsSearchTerm` to your niche, such as `car dealer` or `auto dealership`.

3. **Add one or more target locations**
   Enter your cities/regions in `googleMapsLocation` (it supports an array, e.g. `["New York"]`).

4. **Set your target volume**
   Use `maxBusinesses` to control how many businesses with emails you want to collect (range `1-1000`).

5. **Choose per-location limits (optional)**
   Toggle `scrapeMaxBusinessesPerLocation`:
   if enabled, each location can produce up to `maxBusinesses`; if disabled, all locations share one overall total limit.

6. **(Recommended) Configure proxy settings**
   In `proxyConfiguration`, use `proxy support` for more reliable scraping on larger batches.

7. **Run the actor and monitor logs**
   Start the run. You’ll see progress logs while it scrapes businesses and then scrapes websites for contact info.

8. **Open the dataset and export**
   When finished, open the **dataset** results view (you’ll see one row per email in most cases) and export to JSON/CSV.

No coding required—get accurate results in minutes with **Car Dealer Email Scraper**.

***

### Advanced features & SEO optimization

- 🧭 **Location-driven dealer email harvesting:** Tailor a **car dealership prospecting email scraper** workflow by city so your **B2B car dealer email leads** stay relevant.
- 💾 **Structured output for analysis:** Fields like `avg_rating`, `total_reviews`, and `full_address` make this **vehicle dealer email list** easier to analyze and segment.
- 🔐 **Proxy support for scale:** Use `proxyConfiguration.proxy support` to keep scraping stable for larger **dealer email list scraper** runs.
- 📧 **Email-first dataset rows:** When emails are found, the dataset flattens results so each row contains `email_found`—a big win for import into outreach tools.

***

### Best use cases

- 📈 **Sales teams building a car dealership email list:** Generate outreach-ready contacts for multiple dealers in a chosen city.
- 🤝 **B2B prospecting for automotive services:** Find dealer contact emails to pitch lead-gen, CRM, advertising, or compliance services.
- 🧪 **Market research & competitor mapping:** Combine dealership identity fields (address, rating, reviews) with contact emails for analysis and scoring.
- 🗂️ **Data enrichment pipelines:** Feed a **car dealership email harvesting tool** output into your database, dedupe by `place_id`, and keep records current.
- 🧾 **Lead list generation for agencies:** Create segmented lists (by city/state) for multi-client campaigns with consistent structured fields.
- 🧑‍💻 **Analysts creating prospect datasets:** Use `pages_scraped`, `emails_found`, and scraped social/phone arrays to evaluate data completeness.

***

### Technical specifications

- **Supported Input Formats**
  - ✅ `googleMapsSearchTerm` as a string (search niche like `Car Dealer`)
  - ✅ `googleMapsLocation` as an array of locations (e.g. `["New York"]`)
  - ✅ `proxyConfiguration` object with `proxy support`
- **Proxy Support**
  - ✅ `proxyConfiguration.proxy support` enabled by default in the provided input schema
- **Retry Mechanism**
  - ✅ Includes retries and fallbacks for resilience during website scraping (high-level resilience)
- **Dataset Structure**
  - ✅ Dataset fields follow the **Dealerships with Contact Information** schema
  - ✅ Typically **one dataset row per email** when emails are found (`email_found` is set per row)
- **Rate Limits & Performance**
  - ✅ Performance is optimized for concurrent website scraping while respecting runtime limits
- **Limitations**
  - ❌ If a business has no website, the actor cannot scrape emails and records status accordingly
  - ❌ Results are limited by your `maxBusinesses` target (the actor stops when reached)

***

### FAQ

#### Does Car Dealer Email Scraper require login to run?

✅ No special login beyond Apify Console access is required. You provide inputs in the **INPUT** panel and the actor runs, saving results to its dataset.

#### What data does Car Dealer Email Scraper extract?

✅ It extracts dealership contact information including `email_found` (email address per dataset row), `phone`, `scraped_phones`, and `scraped_social_media`, plus dealership context fields like `full_address`, `avg_rating`, and `total_reviews`.

#### Can I control how many results I get?

✅ Yes. Use `maxBusinesses` to set the target number of businesses with emails. You can also control whether the limit is applied per location using `scrapeMaxBusinessesPerLocation`.

#### Is there a way to prioritize only dealerships that have emails?

✅ Yes. The actor includes an **email-only mode** concept during website scraping, intended to save businesses with emails when enabled.

#### What happens if a dealership has no website?

❌ If no website is available, the actor records a non-success `scrape_status` (such as `no_website`), and emails/phones/social links are left empty for that record.

#### How does proxy configuration work?

✅ You can set `proxyConfiguration.proxy support` to `true` to enable Apify Proxy as part of the scraping configuration, which is recommended for larger-scale runs.

#### Where can I export the results?

✅ Open the actor’s dataset after execution in Apify Console and export as JSON or CSV for use in your outreach, CRM, or analysis workflow.

#### Is this tool legal and privacy-compliant to use?

✅ The actor works with **publicly accessible sources**. It’s your responsibility to comply with applicable laws and platform policies (for example GDPR/CCPA and anti-spam regulations) and use the results appropriately.

***

### Support & feature requests

If you’re using **Car Dealer Email Scraper** for a car dealer email scraper workflow and want improvements, we’d love to hear from you.

- 💡 **Feature Requests:** Ideas like CSV export formatting tweaks, additional fields for CRM imports, or custom output structuring are welcome.
- 📧 **Contact:** Email us at <dataforleads@gmail.com>.

Your feedback helps shape the roadmap for this car dealership prospecting email scraper.

***

### Car Dealer Email Scraper 📬 — Final thoughts

*If you need the most comprehensive and SEO-optimized Car Dealer Email Scraper for dealer email lead generation, this is built to help you move from targets to outreach-ready datasets quickly.*

# Actor input Schema

## `googleMapsSearchTerm` (type: `string`):

Enter the business type or niche for email scraper (e.g., 'car dealer', 'auto dealership').

## `googleMapsLocation` (type: `array`):

Target geographic location for the email scraper (e.g., 'Miami, Florida').

## `maxBusinesses` (type: `integer`):

Target number of emails to find (1-1000). The scraper will stop when this target is reached.

## `scrapeMaxBusinessesPerLocation` (type: `boolean`):

If enabled, the scraper will collect up to `maxBusinesses` results per location. If disabled, it combines all locations up to a single total limit.

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

Proxy settings for scraping. Recommended for large-scale scraping.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Car Dealer",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# 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 = {
    "googleMapsSearchTerm": "Car Dealer",
    "googleMapsLocation": [
        "New York"
    ],
    "maxBusinesses": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("solid-scraper/car-dealer-email-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 = {
    "googleMapsSearchTerm": "Car Dealer",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("solid-scraper/car-dealer-email-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "googleMapsSearchTerm": "Car Dealer",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call solid-scraper/car-dealer-email-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=solid-scraper/car-dealer-email-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

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