# Law Firms Lead Generator (`parse-point/law-firms-lead-generator`) Actor

⚖️ Law Firms Lead Generator returns legal practice leads from Google Maps with phone, website, address, coordinates and reviews. 📧 Firm sites yield emails and socials. 💼 For legal tech vendors & attorney marketing agencies.

- **URL**: https://apify.com/parse-point/law-firms-lead-generator.md
- **Developed by:** [Parse Point](https://apify.com/parse-point) (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 $1.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?

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

### Law Firms Lead Generator 📋

**Law Firms Lead Generator** is an Apify actor for law firm lead generation that helps marketers, data teams, and researchers collect publicly available contact details from law firms at scale. It’s designed to reduce manual prospecting, speed up legal marketing workflows, and make client acquisition for law firms easier by turning public web data into structured results you can export and use right away.

### What is Law Firms Lead Generator? 🔍

**Law Firms Lead Generator** is an automated web scraping tool that searches for law firms and extracts contact information from publicly available sources. It’s built for mid-level users who need qualified legal leads without spending hours on manual research. Instead of checking each listing one by one, this actor helps you gather law firm marketing data, lawyer leads, and attorney lead generation results in a repeatable way.

It supports law firm prospecting across one or more locations and is useful when you need legal customer acquisition data, potential clients for lawyers, or a cleaner workflow for legal prospecting. In practical terms, it helps you scale outreach faster while keeping results organized in Apify datasets.

### What Data Does a Law Firms Lead Generator Collect? 📊

This actor returns structured business contact data for each law firm it finds. The output includes business identity details, contact fields, location data, public emails and phones when available, social media links, and scrape metadata so you can review result quality quickly.

| Data Category | Fields Extracted | Description |
|---|---|---|
| Contact | `website`, `phone`, `scraped_emails`, `scraped_phones` | Public contact details that support outreach and qualification |
| Identity | `name` | Business name of the law firm |
| Context | `full_address`, `city`, `state`, `zip`, `country_code` | Location and address details for segmentation |
| Discovery | `emails_found`, `pages_scraped`, `scrape_status` | Helps you understand result volume and scrape progress |
| Navigation | `website` | Direct website link for the firm |
| Ratings | `avg_rating`, `total_reviews` | Public review signals for lead prioritization |
| Coordinates | `lat`, `long` | Geolocation fields for mapping and analysis |
| Reference | `place_id` | Unique place identifier for the business |

### What Do Results from Law Firms Lead Generator Look Like? 👀

Each result is saved as a structured JSON record in your Apify dataset. Here’s a realistic example of what a law firm lead generation output can look like:

```json
{
  "name": "Morgan & Reed Injury Lawyers",
  "website": "https://www.morganreedlaw.com",
  "phone": "+1 305-555-0147",
  "full_address": "1200 Brickell Ave Miami FL 33131 US",
  "city": "Miami",
  "state": "FL",
  "zip": "33131",
  "country_code": "US",
  "scraped_emails": [
    "info@morganreedlaw.com",
    "contact@morganreedlaw.com"
  ],
  "scraped_phones": [
    "+1 305-555-0147"
  ],
  "scraped_social_media": [
    "https://www.linkedin.com/company/morgan-reed-injury-lawyers"
  ],
  "emails_found": 2,
  "pages_scraped": 6,
  "avg_rating": 4.8,
  "total_reviews": 126,
  "lat": "25.7617",
  "long": "-80.1918",
  "place_id": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
  "scrape_status": "success"
}
```

Export formats: JSON (default) and CSV via Apify Console.

#### Core Features: Law Firms Lead Generator ⚡

| Feature | Benefit |
|---|---|
| ✅ **Search-Term Targeting** | Focus on a specific firm type or niche for better law firm prospecting |
| ✅ **Location-Based Filtering** | Target one or more locations for more relevant qualified legal leads |
| ✅ **Result Cap Control** | Limit the number of businesses collected with `maxBusinesses` |
| ✅ **Per-Location Mode** | Collect up to `maxBusinesses` results per location when enabled |
| ✅ **Proxy Support** | Built-in proxy support for reliable scraping at larger scale |
| ✅ **Live Dataset Saving** | Results are saved during the run to reduce the risk of data loss |
| ✅ **Structured Output** | Clean dataset rows ready for CRM import, analysis, or outreach |
| ✅ **Public Web Data Only** | Collects contact details from publicly available sources |

### Getting Started with Law Firms Lead Generator 🚀

1. **Open Apify Store** — Go to your Apify dashboard and open the actor.
2. **Set the Search Term** — Enter the law firm niche or business type you want to target.
3. **Add Locations** — Provide one or more geographic locations to focus your search.
4. **Choose Your Result Limit** — Set how many businesses with emails you want to collect.
5. **Decide Per-Location Behavior** — Turn on per-location scraping if you want each location handled separately.
6. **Configure Proxy Settings** — Use proxy configuration for more reliable large-scale runs.
7. **Run the Actor** — Start the scrape and monitor progress in the logs.
8. **Export Your Data** — Open the Dataset tab and download the results in JSON or CSV.

No coding required. It’s a practical way to speed up legal leads collection and law firm marketing workflows.

### Ways to Use Law Firms Lead Generator 💡

- 🎯 **B2B Lead Generation** — Build lists for attorney marketing and outreach campaigns
- 📣 **Email Marketing** — Gather public contact details for cold email workflows
- 🤝 **Client Acquisition for Law Firms** — Identify potential clients for lawyers and related service providers
- 🔬 **Market Research** — Analyze law practice growth across cities or niches
- 📊 **CRM Enrichment** — Add business contact data to your internal records
- ⚙️ **Legal Prospecting** — Support qualified legal leads research with structured data

#### Input Parameters — Law Firms Lead Generator

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

| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| `googleMapsSearchTerm` | string | Yes | `Law Firms` | The business type or niche to search for, such as law firms or similar services. |
| `googleMapsLocation` | array | Yes | `["New York"]` | One or more geographic locations to target. |
| `maxBusinesses` | integer | No | `5` | Maximum number of businesses with emails to collect. The actor stops once it reaches this number. |
| `scrapeMaxBusinessesPerLocation` | boolean | No | `false` | If enabled, the actor collects up to `maxBusinesses` results for each location. If disabled, all locations share one total limit. |
| `proxyConfiguration` | object | No | `{ "proxy support": true }` | Proxy settings for scraping. Recommended for larger runs. |

#### Output Parameters — Law Firms Lead Generator

```json
{
  "name": "Morgan & Reed Injury Lawyers",
  "website": "https://www.morganreedlaw.com",
  "phone": "+1 305-555-0147",
  "full_address": "1200 Brickell Ave Miami FL 33131 US",
  "city": "Miami",
  "state": "FL",
  "zip": "33131",
  "country_code": "US",
  "scraped_emails": [
    "info@morganreedlaw.com",
    "contact@morganreedlaw.com"
  ],
  "scraped_phones": [
    "+1 305-555-0147"
  ],
  "scraped_social_media": [
    "https://www.linkedin.com/company/morgan-reed-injury-lawyers"
  ],
  "emails_found": 2,
  "pages_scraped": 6,
  "avg_rating": 4.8,
  "total_reviews": 126,
  "lat": "25.7617",
  "long": "-80.1918",
  "place_id": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
  "scrape_status": "success"
}
```

| Field | Label | Format | Description |
|---|---|---|---|
| `name` | Business Name | text | The business name of the law firm. |
| `website` | Website | link | The firm’s website URL. |
| `phone` | Phone | text | Public phone number listed for the business. |
| `full_address` | Address | text | Combined address string returned for the business. |
| `city` | City | text | City associated with the business. |
| `state` | State | text | State associated with the business. |
| `zip` | zip | text | Postal or ZIP code. |
| `country_code` | country\_code | text | Country code associated with the address. |
| `scraped_emails` | Emails Found | array | List of emails found for the business. |
| `scraped_phones` | Phone Numbers | array | List of phone numbers collected from public sources. |
| `scraped_social_media` | Social Media | array | List of social media links collected from public sources. |
| `emails_found` | # Emails | number | Number of emails found for the business. |
| `pages_scraped` | Pages Scraped | number | Number of pages processed for that business. |
| `avg_rating` | Rating | number | Public average rating for the business. |
| `total_reviews` | Reviews | number | Total number of reviews. |
| `lat` | lat | text | Latitude value associated with the business. |
| `long` | long | text | Longitude value associated with the business. |
| `place_id` | place\_id | text | Unique place identifier for the business. |
| `scrape_status` | Status | text | Scrape result status such as success, failed, error, or no\_website. |

### Why Choose Law Firms Lead Generator? 🏆

If you’re comparing options for legal marketing and attorney lead generation, this actor is built for speed, structure, and practical workflows. It saves results in a clean format, supports proxy-enabled large runs, and helps you work from publicly available data without manual copy-paste research. That makes it useful for teams focused on law firm marketing, legal customer acquisition, and scalable prospecting.

For support or feedback, contact <helloparsepoint@gmail.com>.

### How Many Results Can You Scrape? 📈

You control volume with `maxBusinesses`, which can be set from 1 to 1000. The actual number of results depends on how many relevant law firms exist in your chosen locations and how many of them have public contact details available. For larger law practice growth campaigns, proxy support helps improve reliability during bigger runs. Your dataset can store the results you collect, and you can export them whenever you’re ready.

### Legal Guidelines for Scraping Law Firms ⚖️

This actor collects only publicly available data from public web sources. It does not require logins or access private content. Users are responsible for following applicable laws and regulations, including privacy and spam rules, as well as the terms that apply to the source sites they use. Only use the results for legitimate business purposes. For data removal requests, contact <helloparsepoint@gmail.com>.

### FAQ — Law Firms Lead Generator ❓

#### How does Law Firms Lead Generator find contacts?

It uses your search term and location filters to find relevant businesses, then collects public contact details from publicly available sources.

#### What types of law firms can I target?

You can target the business type or niche you enter in the search term, along with one or more locations.

#### Can I use it for qualified legal leads?

Yes. It’s useful for qualified legal leads, law firm prospecting, and legal customer acquisition workflows because it returns structured business contact data.

#### Does it work for lawyer leads in multiple cities?

Yes. You can provide multiple locations, and the actor will process them according to your chosen settings.

#### What if a firm has no website?

If a business has no website, the actor records it with `scrape_status` set to `no_website`.

#### Can I use the data for legal marketing?

Yes, the output is designed for law firm marketing, research, and outreach workflows, as long as you comply with the relevant laws and terms of use.

#### How do I get support?

You can reach the team at <helloparsepoint@gmail.com>.

### Conclusion 🏁

**Law Firms Lead Generator** is a fast, practical way to build legal leads, improve attorney marketing, and support law practice growth with structured public data. Whether you’re working on client acquisition for law firms, market research, or legal prospecting, it gives you a scalable workflow you can use right away.

### 🆘 Support & Feedback

Have a question, bug report, or feature request for **Law Firms Lead Generator**?

Please contact <helloparsepoint@gmail.com>.

### Complete number formats

| Field | Meaning |
| --- | --- |
| `phoneRaw` | The exact text the number was read from, before any normalisation |
| `phoneE164` | International dialable form, e.g. `+442079460958` |
| `phoneNational` | As someone inside that country would dial it |
| `phoneInternational` | Readable international form, e.g. `+44 20 7946 0958` |
| `phoneRfc3966` | `tel:` URI for VoIP systems (optional) |
| `phoneExtension` | The internal extension, when one was published |
| `phoneNumbers` | Every number on the row, each in all of the above forms |

Numbers are parsed against the business's own country from its Maps listing.
`phoneRaw` is never derived, so it stays trustworthy even when parsing the rest
fails.

### Contact Memory

| Field | Meaning |
| --- | --- |
| `firstSeenAt` | The date this contact was first delivered to you, across all runs |
| `isNewSinceLastRun` | `false` for a contact an earlier run already returned |

These carry real information because repeats are still delivered by default —
a scraper that dropped duplicates before delivery would mark every row new and
tell you nothing. If you would rather not receive repeats at all, **Skip
contacts delivered by a previous run** suppresses them, and **Reset contact
memory** starts the record over.

A contact is identified by its email address where there is one, otherwise by
its phone number.

# Actor input Schema

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

Enter the business type or niche for email scraper (e.g., 'coffee shops', 'dentists').

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

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

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

Target number of businesses 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.

## `includeDialerUri` (type: `boolean`):

Add the tel: URI form some VoIP and telephony systems expect. It duplicates information already in the other number columns - keep it only if your phone system asks for this exact format.

## `skipPreviouslySeenContacts` (type: `boolean`):

Suppress any contact an earlier run already returned, so a scheduled job only pays for what is new. Off by default - leave it off if you want the full list each time and would rather filter on the New column yourself.

## `resetContactMemory` (type: `boolean`):

Clear the remembered contacts before this run, so everything counts as new again. Use after changing your target list.

## Actor input object example

```json
{
  "googleMapsSearchTerm": "Law Firms",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "scrapeMaxBusinessesPerLocation": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "includeDialerUri": true,
  "skipPreviouslySeenContacts": false,
  "resetContactMemory": false
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

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

// Run the Actor and wait for it to finish
const run = await client.actor("parse-point/law-firms-lead-generator").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": "Law Firms",
    "googleMapsLocation": ["New York"],
    "maxBusinesses": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("parse-point/law-firms-lead-generator").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 '{
  "googleMapsSearchTerm": "Law Firms",
  "googleMapsLocation": [
    "New York"
  ],
  "maxBusinesses": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call parse-point/law-firms-lead-generator --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,parse-point/law-firms-lead-generator"
        }
    }
}

```

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/tWuIeWG5knuWtClzq/builds/hUkTvSsHbxRBOv1Yg/openapi.json
