FindLaw Lawyers & Law Firm Directory Scraper
Pricing
from $17.00 / 1,000 results
FindLaw Lawyers & Law Firm Directory Scraper
Scrape US attorney and law-firm leads by practice area and city: name, practice area, firm, phone, full address, website, years of experience, ratings and profile URL. Export to JSON, CSV or Excel.
Pricing
from $17.00 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
FindLaw Lawyers & Law Firm Directory Scraper
Here is one real result, with every field the actor returns:
{"imageUrl": "https://lawyers.findlaw.com/static/c/images/env_prod/type_topspot/firmwld_1520169/pid_1/sub_4183460/eric_hershler.jpg.jpg","name": "Eric Hershler","type": "firm","practiceArea": "Personal Injury Lawyers","firmName": "Eric Hershler","jobTitle": null,"description": "Our team aggressively advocates on behalf of those who have been injured through no fault of their own.","phone": "+14244374165","emailContactUrl": "https://lawyers.findlaw.com/california/los-angeles/law-offices-of-eric-hershler-MTUyMDE2OV8x/contact/?sub=4183460&et=T","website": "https://www.lawofficesoferichershler.com/?adSubId=4183460","addressStreet": null,"city": null,"state": null,"postalCode": null,"country": null,"latitude": null,"longitude": null,"yearsExperience": 43,"superLawyersCount": null,"superLawyersSelectee": false,"freeConsultation": true,"rating": 5,"reviewCount": 86,"featuredReview": "\"Working with the Law Offices of Eric Hershler, Evelyn and Laura was an incredible experience during a very stressful time. They truly care about their clients and treat you like a person, not just a case number. The entire team was compassionate, patient, and always ready to answer my questions. They took all the pressure off my shoulders so I could focus on recovering. I am so grateful for their support and highly recommend them.\"","servingArea": "Serving Los Angeles","searchQuery": "personal-injury-plaintiff","searchLocation": "california/los-angeles","profileUrl": "https://lawyers.findlaw.com/california/los-angeles/law-offices-of-eric-hershler-MTUyMDE2OV8x/","source": "lawyers.findlaw.com","observedAt": "2026-08-14T07:41:24.920Z","error": null,"aiLeadScore": 95,"aiLeadTemperature": "hot","aiProfileSummary": "Eric Hershler is a personal injury law firm with 43 years of experience, rated 5 stars based on 86 reviews. They offer free consultations and are dedicated to advocating for clients injured through no fault of their own."}
The most complete FindLaw attorney and law-firm scraper available. It returns every field the FindLaw directory exposes for each listing (name, practice area, firm, phone, full postal address, geo, website, experience, ratings, and a featured client review), plus optional AI lead scoring, an AI profile summary, and contact-email enrichment, and gives you a practice-area by location search grid to target exactly the attorneys you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the public FindLaw attorney directory (lawyers.findlaw.com) for every practice area you list across every location you list, paginates through the result cards, and writes one normalized record per attorney or law firm to the run's dataset. It reads both the visible cards and the embedded JSON-LD so each record carries a reliable name, phone, full postal address, geo coordinates, website, years of experience, ratings, review count, and a featured client review where present. Missing source values are returned as null, never invented.
Three optional paid add-ons run on top of the base scrape: enrichContacts looks for a public business contact email and name when a listing has none, withLeadScore adds an AI lead score (0 to 100 with a hot/warm/cold tier), and withProfileSummary adds a short factual AI profile summary. All three are off by default.
Quickstart
Open the actor, paste this into the input, and press Run. It returns the top 3 personal-injury attorneys and firms in Los Angeles with AI lead scoring and profile summaries.
{"searchQueries": ["personal-injury-plaintiff"],"cities": ["california/los-angeles"],"maxLawyers": 3,"withLeadScore": true,"withProfileSummary": true}
Every practice area is searched in every location, so ["criminal-law","divorce"] across ["california/los-angeles","texas/houston"] runs four searches. Leave the AI add-ons off to run the base scrape only.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | string[] | yes | ["criminal-law"] | One or more practice areas as directory slugs, for example criminal-law, personal-injury-plaintiff, divorce, family-law, dui-dwi, estate-planning, bankruptcy, immigration, employment-law, real-estate. Each is searched in every location. |
cities | string[] | yes | ["california/los-angeles"] | One or more locations as state/city slugs, lowercase and hyphenated, for example california/los-angeles, texas/houston, new-york/new-york, florida/miami. |
maxLawyers | integer | no | 10 | Maximum attorney and firm records to collect across the whole run. Range 1 to 100000. Free Apify plans are capped at 10. |
enrichContacts | boolean | no | false | Paid add-on. For each result without an email, attempt to find a public business contact email and a contact name. Billed per attempt, plus an extra charge only when an email is found. |
enrichContactsMax | integer | no | 50 | Cap how many results the contact add-on tries to enrich. Free Apify accounts are capped at 3. |
withLeadScore | boolean | no | false | Paid add-on. Score each attorney or firm as a B2B sales lead (0 to 100 plus hot/warm/cold) via AI. Requires a paid Apify plan. |
withProfileSummary | boolean | no | false | Paid add-on. Add a concise factual English profile summary of each attorney or firm via AI. Requires a paid Apify plan. |
Both searchQueries and cities must be non-empty; with either missing the actor writes a single item with a populated error field explaining what to pass.
Output reference
One dataset item per attorney or law firm. Types: string, integer, number, boolean, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
imageUrl | string | Profile image URL, or null. |
name | string | Attorney or law firm name. |
type | string | Record type: lawyer or firm. |
practiceArea | string | Primary practice area label shown on the card. |
firmName | string | Law firm name (for firms, the firm itself; for attorneys, their firm when linked). |
jobTitle | string | Job title for attorneys, or null. |
description | string | Profile tagline or summary, or null. |
phone | string | Contact phone number in +1XXXXXXXXXX form, or null. |
emailContactUrl | string | Contact form URL, or null. |
website | string | Firm or attorney website, or null. |
addressStreet | string | Street address, or null. |
city | string | City, or null. |
state | string | Two-letter state code, or null. |
postalCode | string | ZIP or postal code, or null. |
country | string | Country code, or null. |
latitude | number | Latitude, or null. |
longitude | number | Longitude, or null. |
yearsExperience | integer | Average years of experience, or null. |
superLawyersCount | integer | Number of Super Lawyers selectees, or null. |
superLawyersSelectee | boolean | Whether the attorney is a Super Lawyers selectee. |
freeConsultation | boolean | Whether a free consultation is offered. |
rating | number | Average rating, or null. |
reviewCount | integer | Number of reviews or ratings, or null. |
featuredReview | string | Featured client review quote (trimmed to 600 chars), or null. |
servingArea | string | Area served text, or null. |
searchQuery | string | Practice area slug that produced this record. |
searchLocation | string | state/city location that produced this record. |
profileUrl | string | Directory profile URL (unique per listing). |
source | string | Data source host, always lawyers.findlaw.com. |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
enrichedEmail | string | Contact add-on: found business email, or null. Present only when enrichContacts is on. |
enrichedContactName | string | Contact add-on: found contact person name, or null. |
enrichedJobTitle | string | Contact add-on: found contact job title, or null. |
enrichedEmailStatus | string | Contact add-on: email verification status, or null. |
enrichedSource | string | Contact add-on: source URL for the found contact, or null. |
enrichedConfidence | number | Contact add-on: confidence score for the found email, or null. |
aiLeadScore | integer | AI add-on: lead score 0 to 100, or null. |
aiLeadTemperature | string | AI add-on: hot, warm, or cold, or null. |
aiProfileSummary | string | AI add-on: short factual profile summary, or null. |
Enriched and AI fields are populated only when the matching add-on is enabled and produces usable output; otherwise they stay null.
Example output record
Real record from a live run (input {"searchQueries":["criminal-law"],"cities":["california/los-angeles"],"maxLawyers":10}), showing a firm with a full postal address and geo:
{"imageUrl": "https://lawyers.findlaw.com/static/c/images/env_prod/type_thumbnail/h_100/w_100/firmwld_3908145/pid_1/the_law_offices_of_paul_s_geller_pc","name": "The Law Offices of Paul S. Geller, P.C.","type": "firm","practiceArea": "Criminal Defense Lawyers","firmName": "The Law Offices of Paul S. Geller, P.C.","jobTitle": null,"description": null,"phone": "+16265668902","emailContactUrl": null,"website": "https://www.criminallawdefender.com/","addressStreet": "215 N. Marengo Ave., 3rd Floor","city": "Pasadena","state": "CA","postalCode": "91101","country": "US","latitude": 34.1500015,"longitude": -118.1463242,"yearsExperience": 27,"superLawyersCount": null,"superLawyersSelectee": false,"freeConsultation": true,"rating": null,"reviewCount": 2,"featuredReview": null,"servingArea": "Serving Los Angeles, CA (Pasadena)","searchQuery": "criminal-law","searchLocation": "california/los-angeles","profileUrl": "https://lawyers.findlaw.com/california/pasadena/the-law-offices-of-paul-s-geller-pc-MzkwODE0NV8x/","source": "lawyers.findlaw.com","observedAt": "2026-08-10T14:31:04.703Z","error": null}
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~findlaw-lawyers-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["personal-injury-plaintiff"],"cities":["california/los-angeles"],"maxLawyers":25}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~findlaw-lawyers-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"searchQueries":["divorce","family-law"],"cities":["texas/houston"],"maxLawyers":100}'
Apify CLI:
apify call scrapers_lat/findlaw-lawyers-scraper \--input '{"searchQueries":["criminal-law"],"cities":["florida/miami"],"maxLawyers":40}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per attorney or firm record returned (
resultevent). See the pricing tab for the current per-result price. - Add-ons billed separately. Contact enrichment charges per attempt plus an extra charge only when an email is found; AI lead score and AI profile summary each charge per enriched record, and only on usable AI output.
- No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 records per run, and contact enrichment at 3 attempts. The AI add-ons require a paid Apify plan. Upgrade for higher
maxLawyers.
FAQ and troubleshooting
What practice area values can I use?
Directory slugs such as criminal-law, personal-injury-plaintiff, divorce, family-law, dui-dwi, estate-planning, bankruptcy, immigration, employment-law, or real-estate. Each practice area is searched in every location you list.
How do I write the location?
Use state/city in lowercase with hyphens, for example california/los-angeles, new-york/new-york, or florida/miami.
Does every record include an address and phone?
Most listings include a phone and, for firms, a full postal address and geo. Some promoted listings omit street-level fields, which are returned as null rather than guessed.
How do the AI add-ons work?
Turn on withLeadScore and/or withProfileSummary. Each record is scored and summarized by an AI model, and you are charged only when the model returns usable output. Both require a paid Apify plan.
A run returned 0 records. Why?
The practice area slug or location did not match anything in the directory. Confirm the slug (for example criminal-law) and location format (state/city). Zero-result runs are not charged.
Am I charged for empty runs? No. You are charged only per real attorney or firm record returned.
Is this an official FindLaw tool? No. This actor is independent and has no affiliation with FindLaw or Thomson Reuters. It reads only publicly available directory data. Use the results in accordance with the source's terms and applicable law.
Related scrapers
- Avvo Lawyers Scraper: US attorney profiles, ratings, and reviews from Avvo.
- Florida Bar Lawyers Scraper: licensed Florida attorneys from the state bar directory.
- Illinois ARDC Attorneys Scraper: registered Illinois attorneys and discipline status.
- California State Bar Scraper: licensed California attorneys and status.
- Google Maps Business Leads Scraper: local business leads with contacts from Google Maps.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with FindLaw or Thomson Reuters. Accesses only publicly available directory data. Use in accordance with the source's terms and applicable law.
