Best Lawyers Scraper - Peer-Reviewed Attorney Directory
Pricing
Pay per event
Best Lawyers Scraper - Peer-Reviewed Attorney Directory
Scrape attorney profiles from BestLawyers.com, the oldest peer-reviewed legal ranking. Extract names, firms, practice areas, contact info, education, awards, and recognition years. Filter by US state and city. Covers 150+ practice areas across 75+ countries.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Best Lawyers Scraper — Peer-Reviewed Attorney Directory
Extract verified attorney profiles from BestLawyers.com, the oldest and most trusted peer-reviewed legal ranking in the world. Filter by US state and city, collect contact details, practice areas, education, and recognition history — with optional full-profile enrichment for complete data.
Features
- Peer-reviewed source: Best Lawyers is the premier attorney ranking, recognized since 1983 — high signal for legal lead generation
- Full profile enrichment: Visit each attorney's profile page to capture phone, address, education, awards, and website (in addition to listing-page basics)
- State + city filtering: Narrow results to any US state (all 50 + DC) and any city within that state
- 150+ practice areas: Covers all major legal specialties — family law, corporate, criminal defense, IP, real estate, and more
- Pagination handled automatically: Crawls all result pages per city without manual intervention
- Max items cap: Set a limit to control run cost and dataset size
- Clean structured output: Consistent field names across listing and profile data, including JSON-LD enrichment from profile pages
Input
| Field | Type | Required | Description |
|---|---|---|---|
state | string | Yes | US state slug (e.g. california, new-york, texas) |
city | string | No | City slug to narrow results (e.g. los-angeles, chicago). Leave blank to scrape all cities in the state. |
enrichProfiles | boolean | No | Visit each profile page for phone, address, education, and awards. Default: true. |
maxItems | integer | No | Maximum profiles to return. 0 = unlimited. Default: 50. |
Example input
{"state": "california","city": "los-angeles","enrichProfiles": true,"maxItems": 100}
To scrape an entire state without city filtering:
{"state": "new-york","enrichProfiles": false,"maxItems": 500}
Output
Each record represents one attorney profile.
{"lawyer_name": "Jeff M. Sturman","firm_name": "Greenberg Traurig, LLP","practice_areas": ["Family Law", "Divorce"],"city": "Los Angeles","state_or_region": "CA","country": "US","recognized_since": "2009","awards": ["Lawyer of the Year, Family Law, Los Angeles, 2022"],"phone": "(310) 586-7700","street_address": "1840 Century Park East","postal_code": "90067","education": ["Loyola Law School"],"website": "https://www.gtlaw.com","description": "Jeff Sturman has been recognized by Best Lawyers since 2009...","photo_url": "https://cdn.blrankings.com/...","profile_url": "https://www.bestlawyers.com/lawyers/jeff-m-sturman/66872","firm_profile_url": "https://www.bestlawyers.com/firms/greenberg-traurig/..."}
Output fields
| Field | Description |
|---|---|
lawyer_name | Full attorney name |
firm_name | Law firm name |
practice_areas | List of recognized practice areas |
city | City where the attorney practices |
state_or_region | State abbreviation or region name |
country | Country code (always US for US listings) |
recognized_since | Year first recognized by Best Lawyers |
awards | Lawyer of the Year and other Best Lawyers awards |
phone | Office phone number (requires enrichProfiles: true) |
street_address | Office street address (requires enrichProfiles: true) |
postal_code | ZIP/postal code (requires enrichProfiles: true) |
education | Law schools attended (requires enrichProfiles: true) |
website | Attorney or firm website (requires enrichProfiles: true) |
description | Bio summary from profile page (requires enrichProfiles: true) |
photo_url | Headshot image URL |
profile_url | Full Best Lawyers profile URL |
firm_profile_url | Best Lawyers firm profile URL |
Use Cases
- Legal lead generation: Build targeted lists of vetted attorneys by state, city, and practice area for B2B outreach
- CRM enrichment: Populate Salesforce or HubSpot with peer-reviewed attorney contact data
- Market research: Analyze attorney distribution, firm presence, and specialization across jurisdictions
- Competitive intelligence: Track which firms dominate specific practice areas in target markets
- Legal recruiting: Identify top-ranked attorneys for lateral hire outreach
- Directory aggregation: Combine Best Lawyers data with Martindale, Avvo, and Super Lawyers for comprehensive coverage
Supported States
All 50 US states plus Washington DC. Use the lowercase slug format matching BestLawyers.com URLs:
alabama, alaska, arizona, arkansas, california, colorado, connecticut, delaware, district-of-columbia, florida, georgia, hawaii, idaho, illinois, indiana, iowa, kansas, kentucky, louisiana, maine, maryland, massachusetts, michigan, minnesota, mississippi, missouri, montana, nebraska, nevada, new-hampshire, new-jersey, new-mexico, new-york, north-carolina, north-dakota, ohio, oklahoma, oregon, pennsylvania, rhode-island, south-carolina, south-dakota, tennessee, texas, utah, vermont, virginia, washington, west-virginia, wisconsin, wyoming
Pricing
Pay per result (PPE model):
- $0.10 per actor start (covers platform compute, charged based on memory allocation)
- $0.001 per attorney profile scraped
A run extracting 1,000 profiles costs approximately $1.10. Profile enrichment adds more requests but no additional charge per record.
Notes
enrichProfiles: falseis significantly faster — use it when you only need listing-level data (name, firm, practice areas, location, recognition year)- Leaving
cityblank crawls the entire state, which can return thousands of profiles for large states like California or New York - Best Lawyers serves standard HTML — no JavaScript rendering required, making runs fast and reliable
- The actor respects
maxItemsat the profile level, so total requests may slightly exceed the limit due to in-flight work