FindLaw Law Firm Scraper - Attorney & Law Firm Data Extraction avatar

FindLaw Law Firm Scraper - Attorney & Law Firm Data Extraction

Pricing

from $1.10 / 1,000 results

Go to Apify Store
FindLaw Law Firm Scraper - Attorney & Law Firm Data Extraction

FindLaw Law Firm Scraper - Attorney & Law Firm Data Extraction

FindLaw.com law firm profiles with attorney and firm details: contact information, ratings, practice areas, and optional client reviews. Structured JSON per firm.

Pricing

from $1.10 / 1,000 results

Rating

0.0

(0)

Developer

Data Scrapers

Data Scrapers

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

17 days ago

Last modified

Categories

Share

FindLaw Law Firm Scraper creates a structured dataset of law firm and attorney profiles collected from lawyers.findlaw.com. Each dataset item represents one law firm and includes its profile details — name, contact information, address, rating, practice areas, and service area — plus, when enabled, its client reviews. Query the source with FindLaw search-result (SRP) pages or individual firm profile URLs, control the result limit with maxFirms and maxPages, and retrieve records through the Apify Dataset API or export them as JSON, CSV, Excel, XML, or another supported format.

Dataset at a glance

PropertyValue
SourceFindLaw.com — lawyers.findlaw.com
Record unitOne law firm profile
Input methodsstartUrls (SRP pages or profile URLs)
Main identifierswldId, url
DeliveryApify Dataset and API
Export formatsJSON, CSV, Excel, HTML, XML
Update modelFresh records per Actor run
PricingPay-per-event: $1.00 / 1,000 law firm records

Coverage and available records

The Actor accepts FindLaw search-result (SRP) pages and individual law firm profile URLs via startUrls. From an SRP page it follows result pages up to maxPages per starting URL (default 10, 0 = unlimited) and extracts each firm's profile. maxFirms caps the total number of firms collected (0 = unlimited).

Two conditional enrichments are controlled by toggles:

  • extractProfileDetails (default true) — collects the firm's name, address, telephone, aggregate rating, price range, service area, and practice areas from the profile page.
  • extractReviews (default false) — collects client reviews, each with rating, reviewer details, review text, helpful count, verification status, and publication date.

The Actor extracts the public profile fields that FindLaw renders on the profile page; it does not require login and returns only publicly listed data.

Data dictionary

FieldTypeNullableDescriptionExample
urlstringNoLaw firm profile URL"https://lawyers.findlaw.com/lawyer/firm/..."
wldIdstringYesFindLaw WLD ID (firm id + profile id)"123456"
titlestringYesProfile page SEO title"Smith & Associates Law Firm - Manitowoc, WI Personal Injury Attorneys"
profile.namestringNoFirm or attorney business name"Smith & Associates Law Firm"
profile.descriptionstringYesFirm description"Experienced personal injury attorneys..."
profile.telephonestringYesPrimary contact phone"(555) 123-4567"
profile.addressobjectYesPostal address (street, locality, region, postal code, country){"streetAddress": "123 Main St", ...}
profile.imagestringYesProfile image URL"https://lawyers.findlaw.com/images/..."
profile.aggregateRatingobjectYesRating value and review count{"ratingValue": 4.5, "reviewCount": 28}
profile.legalNamestringYesLegal business name"Smith & Associates LLC"
profile.priceRangestringYesPrice range indicator"$$"
profile.areaServedobject/stringYesGeographic service area"Manitowoc County, WI"
profile.knowsAboutstringYesPractice areas"Personal Injury Law, Motor Vehicle Accidents"
profile.sameAsarrayYesSocial / profile links["https://linkedin.com/company/smithlaw"]
reviewsarrayYesClient reviews; present only when extractReviews is onsee below
totalReviewsintegerYesNumber of reviews collected for the firm1

Each item in reviews carries id, rating, reviewer (first/last name), reviewText, helpful, featuredReview, publishedDate, and verifyStatus. The sample records also expose flattened convenience fields (firmName, phone, imageUrl, address, aggregateRating) that mirror the corresponding profile values. The best stable field for deduplication is wldId, with url as a fallback.

Example dataset record

The following record was produced from an SRP URL with both extractProfileDetails and extractReviews enabled.

{
"url": "https://lawyers.findlaw.com/lawyer/firm/example-law-firm",
"wldId": "123456",
"firmName": "Smith & Associates Law Firm",
"phone": "(555) 123-4567",
"imageUrl": "https://lawyers.findlaw.com/images/profiles/example.jpg",
"title": "Smith & Associates Law Firm - Manitowoc, WI Personal Injury Attorneys",
"address": {
"@type": "PostalAddress",
"streetAddress": "123 Main St",
"addressLocality": "Manitowoc",
"addressRegion": "WI",
"postalCode": "54220",
"addressCountry": "US"
},
"aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.5, "reviewCount": 28, "bestRating": 5 },
"profile": {
"name": "Smith & Associates Law Firm",
"description": "Dedicated personal injury attorneys serving Manitowoc County with over 20 years of combined experience.",
"telephone": "(555) 123-4567",
"priceRange": "$$",
"areaServed": "Manitowoc County, WI",
"knowsAbout": "Personal Injury Law, Motor Vehicle Accidents, Workers Compensation",
"openingHours": "Mo-Fr 09:00-17:00",
"sameAs": ["https://facebook.com/smithlaw", "https://linkedin.com/company/smithlaw"]
},
"reviews": [
{
"id": 1001,
"rating": 5,
"reviewer": { "firstName": "John", "lastName": "Doe" },
"reviewText": "Excellent legal representation. They handled my case with professionalism and care.",
"helpful": 12,
"featuredReview": true,
"publishedDate": "2025-11-15T10:30:00Z",
"verifyStatus": { "verified": true, "source": "FindLaw" }
}
]
}

Query and input reference

InputTypeRequiredDefaultAccepted valuesDescription
startUrlsarrayYesSRP prefillSRP or profile URLsURLs to start from.
extractProfileDetailsbooleanNotruetrue / falseCollect profile details (name, address, phone, ratings).
extractReviewsbooleanNofalsetrue / falseCollect client reviews per firm.
maxFirmsintegerNo00 = unlimitedMaximum firms to collect.
maxPagesintegerNo100 = unlimitedMaximum SRP pages per starting URL.
proxyConfigurationobjectNoApify RESIDENTIALproxy configProxy settings; residential recommended.

A minimal request:

{
"startUrls": [{ "url": "https://lawyers.findlaw.com/motor-vehicle-accidents-plaintiff/wisconsin/manitowoc/" }],
"maxFirms": 20
}

An advanced request with reviews:

{
"startUrls": [{ "url": "https://lawyers.findlaw.com/motor-vehicle-accidents-plaintiff/wisconsin/manitowoc/" }],
"extractProfileDetails": true,
"extractReviews": true,
"maxFirms": 20,
"maxPages": 10,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}

Retrieve the data through the API

  1. Start the Actor with a JSON input.
  2. Wait for the run to finish, or use the synchronous ?waitForFinish= endpoint when appropriate.
  3. Read items from the run's default dataset.
  4. Paginate or export the dataset.

A Python example using the Apify client:

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("datascrapers/findlaw-scraper").call(
run_input={
"startUrls": [{"url": "https://lawyers.findlaw.com/motor-vehicle-accidents-plaintiff/wisconsin/manitowoc/"}],
"extractProfileDetails": True,
"extractReviews": True,
"maxFirms": 20,
}
)
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(len(items), "firms")

For other languages, use the generated API tab on the Actor page. Never place a real token in a URL or example.

Data quality and record handling

  • Conditional fields — reviews and totalReviews are present only when extractReviews is on; profile sub-fields depend on extractProfileDetails.
  • Completeness — firms may omit optional fields such as priceRange, sameAs, or legalName when the source does not list them.
  • Deduplication — deduplicate on wldId (or url). Re-runs can repeat the same firm.
  • Retries — requests are retried with backoff; a residential proxy is recommended for reliable access.
  • Normalization — address is preserved as a structured PostalAddress object; ratings are numeric with bestRating where present.
  • Raw versus derived — all fields are source values; the Actor does not derive additional metrics.

Export and pipeline examples

DestinationRecommended methodTypical use
PostgreSQL / SupabaseDataset API or webhook consumerCRM / lead storage
Google SheetsApify integrationProspect lists for outreach
S3 / cloud storageScheduled export or integrationMarket snapshots by region
CRM (HubSpot/Salesforce)Webhook or integrationFirm and contact enrichment

Pricing and cost examples

Billing is pay-per-event. Each law firm record written to the dataset is one billable result at $0.001, equivalent to $1.00 per 1,000 law firm records.

RecordsEstimated base cost
1,000 firms$1.00
10,000 firms$10.00

Estimates assume the standard tier. Enabling extractReviews does not add a separate per-review charge for this Actor; the billable unit is the firm record.

Limitations and responsible data use

  • The Actor collects publicly accessible FindLaw directory data only.
  • Profile fields depend on what each firm lists; some fields may be empty.
  • No historical snapshots are guaranteed unless you store the exported datasets yourself.
  • The Actor does not access non-public or login-gated information.
  • You are responsible for complying with applicable privacy, contractual, and legal requirements when using the data.

Dataset questions

What does one dataset item represent?

One law firm (or attorney) profile, optionally with its client reviews attached.

Which field should I use as a unique identifier?

Use wldId when present; fall back to url.

Are fields nullable or conditional?

Yes. reviews, totalReviews, and several profile sub-fields are conditional on the toggles and on what the source lists for a firm.

Can I retrieve the records as CSV or JSON?

Yes. Export from the run's dataset in JSON, CSV, Excel, HTML, or XML, or read the dataset through the API.

What counts as a billable result?

Each law firm record written to the dataset. Reviews do not add a separate per-item charge.

Does the Actor return historical data?

No. Each run returns the records available at crawl time. Schedule recurring runs to build your own history.

  • Yelp Scraper — business listings with reviews; comparable for local business and contact data.
  • Clutch.co Company Scraper — company profiles and reviews for B2B service providers.
  • LinkedIn Company Scraper — company details and employee data for firm research.
  • Trustpilot Scraper — review and reputation data for businesses.
  • Glassdoor Jobs Scraper — job and employer data for market analysis.

Data Scrapers support

Need an additional field, record type, or export workflow? Contact Data Scrapers at stardustspotlight@gmail.com. Include a sample source URL, the required fields, the expected record volume, and your preferred delivery format.