Lawyer Leads Scraper — Verified Emails
Pricing
from $25.00 / 1,000 enriched attorney leads
Lawyer Leads Scraper — Verified Emails
Find lawyer and law firm leads with verified emails, phones, websites, practice areas, locations, and structured attorney data for outreach.
Pricing
from $25.00 / 1,000 enriched attorney leads
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Scrape lawyer and attorney contacts from Google Maps with verified emails, phone numbers, social media links, and attorney names. Built for legal SaaS sales, legal marketing agencies, and recruiting teams who need CRM-ready attorney lead lists.
The actor searches Google Maps by practice area and location, then crawls each law firm's website to extract contact emails, attorney names and titles, social profiles, and practice areas. Emails are verified via DNS MX record lookup to flag deliverable inboxes. Export to HubSpot, Salesforce, or CSV in a single run.
Export scraped data, run the scraper via API, schedule and monitor runs, or integrate with other tools.
Use Cases
- Legal SaaS sales — Build targeted prospect lists of personal injury, family, or corporate law firms for case management, billing, and e-signature tools
- Legal marketing agencies — Generate attorney lead lists by city and practice area for SEO, PPC, and web design outreach
- Legal recruiting — Find attorneys by specialty and geography for placement and headhunting
- Court reporting & litigation support — Prospect personal injury, criminal defense, and family law firms
- Bar associations — Membership outreach and continuing legal education campaigns
Features
- Google Maps search — Find law firms by practice area (11+ preset categories) or custom search query
- Verified emails — Crawls firm websites and verifies email deliverability via DNS MX record lookup
- Attorney names & titles — Extracts individual attorney names and professional titles from About/Team pages
- Social media links — Finds Facebook, Instagram, LinkedIn, Twitter/X, YouTube, and TikTok profiles
- Multi-location batch mode — Search multiple cities in a single run and combine results
- Deduplication — Removes duplicate firms by phone or website across multi-location runs
- CRM export formats — Output in Full, HubSpot CSV import, or Salesforce import format
- No login required — No Google account or cookies needed
- Residential proxies — Uses Apify's residential proxy pool by default for reliable access
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
businessType | string | Personal Injury Lawyer | Select from 11 practice area presets, or Custom |
location | string | Chicago, IL | City, state, or region to search (e.g., Los Angeles, CA) |
locations | array | — | Multiple locations for batch mode (e.g., ["Chicago, IL", "Houston, TX"]) |
searchQuery | string | — | Custom Google Maps query (used when businessType = Custom) |
startUrls | array | — | Direct Google Maps place URLs to scrape |
maxResults | integer | 50 | Maximum number of leads to collect (1–2000) |
enrichEmails | boolean | true | Crawl firm websites to find email addresses |
verifyEmails | boolean | true | Verify email deliverability via DNS MX lookup |
enrichSocials | boolean | true | Extract social media profile links |
extractAttorneyNames | boolean | true | Extract attorney names and titles from firm websites |
outputFormat | string | full | full, hubspot, or salesforce |
deduplicateResults | boolean | true | Remove duplicate firms across multi-location runs |
maxWebsitePages | integer | 5 | Max pages to crawl per firm website (1–20) |
proxyUrl | string | — | Custom HTTP proxy URL (format: http://user:pass@host:port) |
Quick Start Example
{"businessType": "Personal Injury Lawyer","location": "Los Angeles, CA","maxResults": 50,"enrichEmails": true,"verifyEmails": true,"outputFormat": "hubspot"}
Multi-City Batch Example
{"businessType": "Family Lawyer","locations": ["New York, NY", "Chicago, IL", "Houston, TX", "Miami, FL"],"maxResults": 200,"outputFormat": "salesforce"}
Output Data
Each lead record contains:
| Field | Type | Description |
|---|---|---|
name | string | Law firm name |
attorney_name | string|null | Individual attorney name (if found on website) |
attorney_title | string|null | Professional title (e.g., Managing Partner) |
category | string | Practice category from Google Maps |
practice_areas | array | Specific practice areas from firm website |
address | string|null | Full postal address |
phone | string|null | Primary phone number |
website | string|null | Firm website URL |
email | string|null | Primary contact email |
all_emails | array | All emails found with verification status |
email_verified | boolean|null | Whether email passed DNS verification |
email_verification_status | string | deliverable, undeliverable, risky, unknown, not_verified |
social_links | object | Facebook, Instagram, LinkedIn, Twitter, YouTube, TikTok URLs |
rating | number|null | Google Maps rating (1–5) |
review_count | integer|null | Number of Google Maps reviews |
maps_url | string|null | Direct Google Maps listing URL |
scraped_at | string | ISO 8601 timestamp |
source_url | string | Source Google Maps URL |
Sample Output
{"name": "Smith & Associates Law Firm","attorney_name": "John Smith, Esq.","attorney_title": "Managing Partner","category": "Personal injury lawyer","practice_areas": ["Personal Injury", "Medical Malpractice", "Wrongful Death"],"address": "123 Main St, Chicago, IL 60601","phone": "+1-312-555-0100","website": "https://smithlaw.com","email": "contact@smithlaw.com","all_emails": [{"address": "contact@smithlaw.com","verified": true,"status": "deliverable","verificationNote": "MX record found: mail.smithlaw.com"}],"email_verified": true,"email_verification_status": "deliverable","social_links": {"facebook": "https://facebook.com/smithlaw","linkedin": "https://linkedin.com/company/smithlaw"},"rating": 4.8,"review_count": 127,"maps_url": "https://www.google.com/maps/place/Smith+%26+Associates","scraped_at": "2026-06-24T12:00:00.000Z","source_url": "https://www.google.com/maps/place/Smith+%26+Associates"}
Pricing
This actor uses pay-per-event pricing: $0.025 per enriched attorney lead.
| Leads | Cost |
|---|---|
| 10 leads | $0.25 |
| 50 leads | $1.25 |
| 100 leads | $2.50 |
| 500 leads | $12.50 |
| 1,000 leads | $25.00 |
You only pay for successfully enriched leads with contact data — no charge for empty results.
Code Examples
Run via Apify SDK (JavaScript)
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('muhammadafzal/lawyer-lead-scraper').call({businessType: 'Personal Injury Lawyer',location: 'Los Angeles, CA',maxResults: 50,enrichEmails: true,verifyEmails: true,outputFormat: 'hubspot'});const dataset = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${dataset.items.length} attorney leads`);
Run via REST API
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~lawyer-lead-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"businessType":"Family Lawyer","location":"Miami, FL","maxResults":20}'
Schedule a Daily Run
apify schedule create --actor muhammadafzal/lawyer-lead-scraper \--cron "0 9 * * 1" \--input '{"businessType":"Criminal Defense Attorney","location":"Houston, TX","maxResults":100}'
FAQ
Why are some emails null?
Not all law firm websites list email addresses publicly. The actor crawls contact, about, team, and attorneys pages. If no email is found, the field is null and you still get the phone, address, and social links.
How does email verification work?
The actor performs DNS MX record lookup on each email's domain to confirm a mail server exists. Emails from domains with valid MX records are marked deliverable. This reduces bounce rates compared to unverified email lists.
What if Google Maps blocks the request?
The actor uses Apify's residential proxy pool by default. If you experience blocks, you can provide a custom proxy URL via the proxyUrl parameter using services like IPRoyal, Smartproxy, or Bright Data.
Can I search multiple cities at once?
Yes. Use the locations array parameter with multiple cities. The actor searches each location and combines results with deduplication enabled by default.
What CRM formats are supported?
full returns all fields. hubspot formats output for HubSpot CSV import. salesforce formats for Salesforce data import. All formats are exportable as CSV, JSON, or Excel from Apify's dataset.
Integration Ideas
- HubSpot: Set
outputFormat: "hubspot", export dataset as CSV, import directly into HubSpot Contacts - Salesforce: Set
outputFormat: "salesforce", export as CSV and use Data Import Wizard - Mailchimp: Filter leads where
email_verified === true, export emails for email outreach campaigns - Apollo/Outreach: Use the
attorney_nameandemailfields for personalized cold email sequences
Changelog
- v1.0 — Initial release with Google Maps search, email enrichment, DNS verification, social link extraction, attorney name extraction, multi-location batch mode, and HubSpot/Salesforce export formats
What is Lawyer Leads Scraper?
Lawyer Leads Scraper turns the target data into structured, reusable results on Apify. Use it when you need repeatable collection for sales teams, agencies, recruiters, market researchers, and data-enrichment workflows without maintaining a custom scraper or one-off integration. Run it manually, schedule recurring jobs, call it through the Apify API, or connect it to an AI agent through the Apify MCP server.
The Actor stores results in an Apify dataset, where they can be previewed and exported as JSON, CSV, Excel, XML, or RSS. Availability and completeness depend on the source, supplied inputs, public visibility, authentication requirements, and upstream rate limits.
Use cases for Lawyer Leads Scraper
- Build structured datasets for research, reporting, enrichment, or monitoring.
- Automate repetitive collection with schedules, webhooks, and API calls.
- Feed clean records into spreadsheets, databases, CRMs, BI tools, AI agents, or RAG pipelines.
- Track changes over time by running the same validated input on a schedule.
- Replace fragile manual copy-and-paste work with a reproducible Apify workflow.
How to use Lawyer Leads Scraper
- Open the Actor input page and choose a focused, valid target.
- Set a conservative result limit for the first run.
- Start the Actor and inspect the dataset for coverage and field availability.
- Export the results or connect the dataset to your downstream system.
- Scale gradually and use scheduling, pagination, or proxies when supported.
Important input options
businessType— Use this field to select the type of legal professional to find on Google Maps. The actor automatically constructs the search query — for example, selecting 'Personal Injury Lawyer' with loclocation— Use this field to specify the city, state, or region to search for law firms in. Use 'City, ST' format for US locations — for example, 'Los Angeles, CA' for personal injury attorneys or 'Houlocations— Use this field when you want to search multiple cities or regions in a single run. Each location is searched separately and results are combined. Example: ['Chicago, IL', 'Houston, TX', 'MiasearchQuery— A raw Google Maps search query, used ONLY when Business Type is set to 'Custom'. For all other types, the search is built automatically from Business Type + Location. Write queries the samestartUrls— Use this field when the user provides specific Google Maps place URLs to scrape directly. Format: [{"url": "https://www.google.com/maps/place/..."}]. Do NOT use this when the user describesmaxResults— The maximum number of law firm leads to collect and return. Set to a small number (3-5) first to verify data quality before scaling up. Google Maps typically returns up to 120 results per seenrichEmails— When enabled, the actor visits each law firm website and scans contact pages, footers, and about pages to extract email addresses. Disable this option if you only need phone numbers and addrverifyEmails— When enabled, each extracted email address is checked using DNS (MX record lookup) and an SMTP handshake to confirm the mailbox exists and can receive mail. This adds roughly 1 extra minute
API and automation example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('muhammadafzal/lawyer-lead-scraper').call({// Add the same input fields you use in the Apify Console.});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Related Apify Actors
Use these dedicated tools when a neighboring data source or workflow is a better match:
- Facebook Ads Library Scraper — Meta Ad Intelligence Tool
- Instagram Followers & Following Scraper — With Cookies
- Leads Finder Pro - B2B Leads with Emails [Apollo Alternative]
- Yellow Pages US Scraper — Business Leads & Reviews
- Justia Lawyer Directory Scraper — Attorney Leads
- Yellow Pages Australia Scraper — Business Leads & Reviews
- OpenTable Restaurants, Ratings & Reviews Scraper
- Etsy Scraper Pro — Products, Prices, Reviews & Shop Data
- Email Validator — Syntax, MX & Risk Checks
- Shopify Store Scraper - Products, Reviews & Emails
Frequently asked questions
How many results can I scrape with Lawyer Leads Scraper?
The practical total depends on the source, input limits, pagination, available records, run timeout, and upstream restrictions. Start with a small run, verify the output, and increase the limit gradually.
Can I integrate Lawyer Leads Scraper with other apps?
Yes. Use Apify integrations, webhooks, schedules, dataset exports, Make, Zapier, Google Sheets, cloud storage, or your own application.
Can I use Lawyer Leads Scraper with the Apify API?
Yes. Start runs with the Apify REST API or an official Apify client, then retrieve records from the run's default dataset. Keep your API token in a secret or environment variable.
Can I use Lawyer Leads Scraper through an MCP Server?
Yes. The Apify MCP server can expose the Actor to compatible AI clients and agents. Review the input and expected cost before allowing an autonomous workflow to run it at scale.
Do I need proxies?
It depends on the source and volume. Use the default configuration first. For larger or geographically sensitive jobs, select an appropriate proxy configuration only when the Actor supports it.
Is it legal to scrape this data?
Scraping rules vary by source, jurisdiction, data type, and intended use. Collect only data you are authorized to access, respect applicable terms and privacy laws, and avoid restricted or personal data misuse. This documentation is not legal advice.
Your feedback
If a field is missing, a source layout has changed, or you need a supported use case documented, open an issue on the Actor page with a reproducible input and run ID.