Martindale Scraper - Attorney & Law Firm Leads avatar

Martindale Scraper - Attorney & Law Firm Leads

Pricing

$12.00 / 1,000 attorney leads

Go to Apify Store
Martindale Scraper - Attorney & Law Firm Leads

Martindale Scraper - Attorney & Law Firm Leads

Scrape Martindale-Hubbell lawyer profiles: AV Preeminent Peer Review Rating, client reviews, practice areas, bar info, firm name, website & phone. Optional email enrichment & lead score. Search by city, practice area or URL. Export JSON, CSV, Excel. Independent tool, not affiliated with Martindale.

Pricing

$12.00 / 1,000 attorney leads

Rating

0.0

(0)

Developer

Scrape Sage

Scrape Sage

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

2 days ago

Last modified

Share

Martindale Scraper — Attorney & Law Firm Leads (AV Preeminent Ratings, Reviews & Firm Contacts)

Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Martindale or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Martindale" is referenced only to describe the publicly available website this Actor collects data from.

Extract complete Martindale-Hubbell attorney data — including the field every law-firm marketer wants: the proprietary Martindale-Hubbell Peer Review Rating (the famous AV Preeminent seal), client reviews, practice areas, years licensed, full firm contacts and geo. Optionally turn every attorney into a ready-to-contact B2B lead by crawling their firm's own website for emails, phone numbers and social links.

No login, no cookies, no browser — fast server-rendered extraction with a residential US proxy.

Why this Martindale scraper?

Martindale-Hubbell has rated and reviewed US lawyers since 1868, and its AV Preeminent Peer Review Rating is the gold standard of attorney prestige. Most directory scrapers ignore it. This actor ships the richest dataset in the category — the listing card data and the full profile, merged:

DataTypical scrapersThis actor
Martindale-Hubbell Peer Review Rating + AV Preeminent badge
Client review rating + review count
Practice areaspartial
Firm name + firm website + socials
All firm phone numbers + faxpartial
Full address + map geo (lat/lng)
Years licensed / year admitted
Law school
Firm contact emails (from firm website)✅ opt-in
Lead score (0–100) per attorney
Monitor mode — only NEW attorneys

Use cases

  • Legal lead generation — attorneys and law firms are active buyers: legal tech & SaaS, case-management/CRM, e-discovery, malpractice & cyber insurance, lending, marketing, court reporting, expert-witness and staffing vendors all sell to them. Score by authority (isAVPreeminent, peerReviewRating, reviewCount) and reach them directly (phone, website, enrichedEmails).
  • Recruiting & business development — find attorneys by city, practice area and seniority (yearsLicensed); build referral networks and lateral-hire lists.
  • Market & competitive intelligence — map the lawyer landscape of any city/practice, track AV Preeminent density and firm footprints.
  • Co-counsel & referral sourcing — pinpoint highly-rated specialists in a target market with verified firm contact data.
  • CRM enrichment — append Peer Review Ratings, firm sites and practice areas to an existing attorney list via direct profile URLs.

How to use

  1. Sign up for Apify — the free plan is enough to try this actor.
  2. Open the Martindale Scraper, enter locations and (optionally) practice areas, and click Start.
  3. Watch results stream into the dataset table.
  4. Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.

Input

{
"locations": ["Los Angeles, CA", "Houston, TX"],
"practiceAreas": ["Personal Injury", "Family Law"],
"maxResults": 100,
"includeProfileDetails": true,
"enrichEmails": false,
"avPreeminentOnly": false,
"monitorMode": false
}
  • locations — where to search, as City, ST (Los Angeles, CA, Houston, TX, New York, NY) or City, State. Each location is combined with every practice area. Martindale results are city-scoped, so city-level locations give the best coverage.
  • practiceAreas — filter by practice. Use a friendly term (personal injury, family law, criminal defense, bankruptcy, estate planning, business law, real estate, immigration, divorce, DUI, employment, medical malpractice, tax, intellectual property) or the exact Martindale name. Leave empty for all attorneys in each location.
  • startUrls — direct Martindale URLs: attorney profiles (/attorney/...) or a searchlight results page. Used in addition to the locations.
  • maxResults (default 100) — total attorney cap across all searches.
  • includeProfileDetails (default true) — fetch each profile for firm website & socials, all phones + fax, address + geo, practice areas, law school, price range, review aggregate, Peer Review Rating label and bio. Turn off for a faster, listing-only run.
  • enrichEmails (default false) — crawl each firm's own website (home + contact/about, up to 3 pages) for emails, phones and extra socials. Martindale never exposes emails — this is the only way to get them.
  • minPeerRating / avPreeminentOnly / minReviews / withPhoneOnly / withWebsiteOnly — quality filters.
  • monitorMode (default false) — emit only attorneys not seen in previous runs (see below).
  • proxyConfiguration — keep the default RESIDENTIAL US proxy; Martindale blocks datacenter IPs.

Output

One record per attorney:

{
"attorneyId": "2065760",
"name": "Laura J. Portillo",
"headline": "Family Law",
"jobTitle": "Of Counsel",
"profileUrl": "https://www.martindale.com/attorney/laura-j-portillo-2065760/",
"imageUrl": "https://www.martindale.com/LBM_Images/Lawyers/lawyer-laura-portillo-photo-5207906.png",
"peerReviewRating": 5,
"peerReviewRatingLabel": "AV Preeminent",
"isAVPreeminent": true,
"clientReviewRating": 4.9,
"reviewCount": 18,
"yearsLicensed": 17,
"admissionYear": 2009,
"practiceAreas": ["Family Law", "Divorce", "Child Custody"],
"schools": ["Loyola Law School"],
"bio": "Laura Portillo focuses her practice on complex family law matters …",
"firmName": "Law Offices of Michael Jay Berger",
"firmUrl": "https://www.martindale.com/organization/law-offices-of-michael-jay-berger-1612386/",
"website": "https://www.bankruptcypower.com",
"phone": "310-299-1935",
"phones": ["310-299-1935", "424-600-4850"],
"street": "9454 Wilshire Blvd, Suite 600",
"city": "Los Angeles",
"state": "CA",
"postalCode": "90212",
"latitude": 34.0668,
"longitude": -118.3998,
"priceRange": "Fixed Hourly Rates",
"offersVideoCalls": true,
"isSubscriber": true,
"enrichedEmails": ["info@bankruptcypower.com"],
"leadScore": 92,
"searchPracticeArea": "Family Law",
"searchLocation": "Los Angeles, CA",
"scrapedAt": "2026-06-23T12:00:00.000Z"
}

Fields are null only when the data genuinely doesn't exist (e.g. a free profile with no firm website), never because the scraper skipped them.

Monitor mode — a steady feed of NEW attorneys

Turn on monitorMode to make every run remember the attorney IDs it has already returned (in a named key-value store) and emit only new attorneys next time. Combined with Apify Schedules this gives you a clean drip of fresh leads with no duplicates.

It does not conflict with scheduling: the Schedule decides when the actor runs; monitor mode decides which records of that run are new. Use different monitorStoreName values to track independent searches separately.

How much does it cost to scrape Martindale?

This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:

  • Attorney lead - One Martindale-Hubbell attorney record – Peer Review Rating (AV Preeminent), client reviews, practice areas, bar admissions, firm website, phones & lead score.

The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.

Automate & schedule

Run this actor on autopilot and pull results into your own stack:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });
const run = await client.actor('scrapesage/martindale-scraper').call({
locations: ['Los Angeles, CA'],
practiceAreas: ['Personal Injury'],
maxResults: 100,
avPreeminentOnly: true,
enrichEmails: true,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} attorney leads`);

Integrate with any app

Connect the dataset to 5,000+ apps — no code required:

  • Make — multi-step automation scenarios.
  • Zapier — push new attorney leads straight into your CRM.
  • Slack — get notified when a monitored search finds new attorneys.
  • Google Drive / Sheets — auto-export every run to a spreadsheet.
  • Airbyte — pipe results into your data warehouse.
  • GitHub — trigger runs from commits or releases.

Use with AI assistants (MCP)

The output is clean, LLM-ready JSON. You can call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find AV Preeminent personal injury lawyers in Houston and list their firm contacts" and let it run this scraper for you.

Agent-ready: autonomous payments (x402 & Skyfire)

This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:

  • x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
  • Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.

Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.

Pair this with my other directory & lead-gen scrapers:

Tips

  • City-level locations give the best coverage — Martindale results are city-scoped. To exhaust a metro, add several cities and/or split by practice area.
  • AV Preeminent targeting: set avPreeminentOnly: true for the highest-prestige attorneys only.
  • Cost control: turn off includeProfileDetails for a fast listing-only pass (name, firm, city, phone, peer-review stars, AV badge), then re-run with profile details on a filtered shortlist.
  • Rate-limits: keep the default residential proxy and a modest maxConcurrency (5). The actor automatically rotates to a fresh residential IP and retries on any Cloudflare challenge.

FAQ

How do I scrape Martindale lawyers for a specific city? Put the city in locations as City, ST (e.g. Los Angeles, CA). Add practiceAreas to narrow by specialty, or leave it empty for every attorney in that city.

What is the AV Preeminent Rating? It's the top tier of the Martindale-Hubbell Peer Review Rating — lawyers rated by their peers for the highest levels of legal ability and ethical standards. This actor returns the rating label (peerReviewRatingLabel), the star value (peerReviewRating) and an isAVPreeminent flag.

Where do the emails come from? Never from Martindale (it doesn't publish emails). With enrichEmails on, the actor visits the attorney's own firm website and extracts publicly listed contact emails — the same thing a human visitor would see.

Can I export to Google Sheets, CSV, or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.

How do I get only new attorneys over time? Turn on monitorMode and run on a Schedule. Each run emits only attorneys not seen before.

A field is null — why? Some attorneys genuinely don't publish a firm website, price range or reviews. Fields are null only when the data doesn't exist, not because the scraper skipped them.

Is scraping Martindale legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (GDPR/CCPA for personal data) and Martindale's terms.

Data & lawful use

This Actor reads business and professional listings that the professionals themselves published to be found: names, roles, firms, ratings and the contact details shown on the public listing. Because those details belong to identifiable people, treat the output as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for B2B prospecting or market research), keep any outreach relevant to the professional's line of work, honour opt-outs and deletion requests, and do not use the output for spam.

Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.

Disclaimer

This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Martindale or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.

"Martindale" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Martindale product, is not authorised or certified by Martindale, and does not distribute Martindale software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.

Need help?

Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.