OrbTop

Martindale Scraper

LEAD GENERATIONJOBSAUTOMATION

Martindale Attorney Scraper

Extract attorney and law firm data from Martindale.com, one of the most comprehensive legal directories in the United States. This scraper collects structured contact information and professional details from attorney listings, making it ideal for lead generation, market research, and legal industry analytics.

What Data Does It Extract?

Each scraped attorney record includes:

Field Description
attorney_id Unique Martindale identifier
name Attorney's full name
title Professional title (Partner, Associate, etc.)
firm_name Law firm name
city City
state Two-letter state code
location Full location string
phone Phone number
website Firm or attorney website URL
practice_area Legal practice area (if filtered)
bio_snippet Short biography excerpt
is_premium Whether this is a premium/subscriber listing
profile_url Direct link to the Martindale profile
source_page Listing page where the record was found

How to Use

Configure the scraper with these input parameters:

{
    "maxItems": 500,
    "states": ["TX", "CA"],
    "practiceAreas": ["personal-injury", "criminal-law"],
    "maxPagesPerCity": 5
}

Input Fields

  • maxItems (required): Maximum number of attorney records to scrape.
  • states: Array of US state codes (e.g., ["TX", "CA", "NY"]). Leave empty to scrape all states.
  • practiceAreas: Array of practice area slugs to filter by. Leave empty for all areas. Common values include:
    • personal-injury, criminal-law, family-law, divorce, bankruptcy
    • real-estate, business-law, civil-litigation, immigration
    • medical-malpractice, workers-compensation, estate-planning
    • dui-dwi, intellectual-property, corporate-law
  • maxPagesPerCity: How many listing pages to crawl per city (25 results per page). Default: 5.

How It Works

The scraper uses a two-stage discovery approach:

  1. State/Area Discovery: First, it visits state-level directory pages to discover city links.
  2. City Listings: Then it crawls city-level listing pages (25 attorneys per page) with pagination support.

Data is extracted directly from listing page cards, providing fast results without needing to visit each individual profile page.

Output Example

{
    "attorney_id": "600368",
    "name": "James P. Nader",
    "title": "Senior Partner",
    "firm_name": "Lobman, Carnahan, Batt, Angelle & Nader A Professional Corporation",
    "city": "Houston",
    "state": "TX",
    "location": "Houston, TX",
    "phone": "504-474-9668",
    "website": "http://www.lcba-law.com/",
    "practice_area": null,
    "bio_snippet": "Mr. Nader is a nationally recognized practitioner with over 25 years of litigation and trial...",
    "is_premium": true,
    "profile_url": "https://www.martindale.com/attorney/james-p-nader-600368/",
    "source_page": "https://www.martindale.com/all-lawyers/houston/texas/"
}

Important Notes

  • Cloudflare Protection: Martindale.com is protected by Cloudflare. The scraper works best with Apify Proxy (residential) enabled. Without proxies, results may be limited.
  • Rate Limiting: The scraper uses conservative concurrency (3-8 concurrent requests) and fuzzy delays to avoid triggering anti-bot measures.
  • Coverage: Martindale.com lists attorneys across all 50 US states plus DC. The directory contains hundreds of thousands of attorney profiles.

Ideal Use Cases

  • Lead Generation: Find attorneys in specific cities and practice areas for targeted outreach.
  • Market Research: Analyze the legal services market across different regions and specialties.
  • Competitor Analysis: Map the competitive landscape for law firms in specific geographies.
  • Directory Building: Aggregate attorney data for legal directories or referral services.