FindLaw Directory Scraper ⚖️
Pricing
Pay per usage
FindLaw Directory Scraper ⚖️
Extract data on lawyers and law firms directly from the FindLaw directory. This actor is designed for flexibility. For the fastest data collection, simply disable the "Detail Page" option in your input settings to scrape listing summaries rapidly.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
6
Total users
4
Monthly active users
15 days ago
Last modified
Categories
Share
FindLaw Lawyer Directory Scraper
Extract lawyer and law firm profiles from FindLaw directory pages for research, lead generation, and market analysis. Collect structured profile data such as names, contact details, locations, practice focus, and profile links in a clean dataset. Built for reliable high-volume collection with automatic pagination and deduplication.
Features
- URL-Based Collection - Start from one or multiple FindLaw directory URLs.
- Automatic Pagination - Continues collecting across result pages until limits are reached.
- Profile Deduplication - Prevents duplicate records across pages and queries.
- Clean Output - Removes empty values so exported data does not contain
nullfields. - Scalable Runs - Handles larger collection jobs with configurable limits.
Use Cases
Legal Market Research
Track how lawyers and firms are distributed by location and legal niche. Use the data to understand local competition and service coverage.
Lead Generation
Build contact-ready prospect lists for legal marketing and outreach workflows. Export into CRM pipelines or spreadsheet-based sales operations.
Directory Intelligence
Monitor profile-level changes over time, including firm descriptions, contact details, and practice focus.
Data Enrichment
Combine directory data with internal datasets to enrich firm records for analytics and business reporting.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrls | Array | Yes | — | One or more FindLaw directory URLs to collect from. |
results_wanted | Integer | No | 20 | Maximum number of records to save. |
max_pages | Integer | No | 20 | Maximum number of result pages to process per input URL. |
proxyConfiguration | Object | No | Disabled | Optional proxy settings for request routing and stability. If direct requests are blocked, the actor can fall back to Apify residential proxy. |
Output Data
Each dataset item may contain:
| Field | Type | Description |
|---|---|---|
name | String | Lawyer or firm name. |
image | String | Profile image URL. |
address | Object | Structured address object when available. |
addressFormatted | String | Combined human-readable address. |
phone | String | Primary contact phone number when available. |
website | String | External website URL when available. |
rating | String | Rating value when present in source data. |
reviews | Number | Review count when available. |
profileUrl | String | FindLaw profile URL. |
practiceAreas | String | Extracted practice focus text when available. |
title | String | Listing title. |
description | String | Listing description text. |
Notes:
- Empty fields are omitted to keep output clean.
- Total collected records may be lower than
results_wantedif fewer matching profiles are available.
Usage Examples
Basic Collection
Collect up to 50 records from a county-level directory page:
{"startUrls": [{"url": "https://lawyers.findlaw.com/divorce/new-york/albany-county/"}],"results_wanted": 50}
Multi-URL Collection
Collect from multiple legal niches in one run:
{"startUrls": [{"url": "https://lawyers.findlaw.com/personal-injury-plaintiff/florida/boca-raton/"},{"url": "https://lawyers.findlaw.com/criminal-law/new-york/albany/"}],"results_wanted": 200,"max_pages": 10}
Higher-Volume Collection
Run a larger collection job with extended page limits:
{"startUrls": [{"url": "https://lawyers.findlaw.com/new-york/albany/"}],"results_wanted": 1000,"max_pages": 30,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Sample Output
{"name": "Example Law Firm","address": {"street": "123 Main Street","city": "Albany","state": "NY","zip": "12207"},"addressFormatted": "123 Main Street, Albany, NY, 12207","phone": "(518) 555-0100","website": "https://www.examplelawfirm.com","image": "https://lawyers.findlaw.com/static/c/images/env_prod/type_thumbnail/h_100/w_100/firmwld_123/pid_1/example.jpg","profileUrl": "https://lawyers.findlaw.com/new-york/albany/example-law-firm-1234567_1/","practiceAreas": "Divorce, Family Law, Child Custody"}
Tips for Best Results
Use Specific Start URLs
- Choose pages that already represent your target niche and location.
- More specific URLs usually produce higher relevance.
Tune Collection Limits
- Start with smaller runs (
50-100) to validate scope. - Increase
results_wantedandmax_pagesfor production jobs.
Run in Batches
- For very large campaigns, split runs by location or practice area.
- Smaller segmented runs are easier to monitor and maintain.
Keep Proxy Settings Stable
- Use consistent proxy settings across scheduled runs.
- Residential routing is recommended for larger recurring jobs.
Integrations
Connect output data with:
- Google Sheets - Analyze and share results quickly.
- Airtable - Build searchable legal contact databases.
- Make - Automate enrichment and notifications.
- Zapier - Trigger workflows in CRM and sales tools.
- Webhooks - Send fresh records directly to custom systems.
Export Formats
- JSON - Best for APIs and engineering workflows.
- CSV - Best for spreadsheet operations.
- Excel - Best for business reporting and sharing.
- XML - Best for legacy system integrations.
Frequently Asked Questions
Why did I get fewer records than results_wanted?
The actor stops when it reaches your limits or when no more matching profiles can be found for your input scope.
Does the actor handle pagination automatically?
Yes. It processes additional result pages until max_pages or results_wanted is reached.
Are duplicate profiles removed?
Yes. The actor deduplicates profile records before saving to the dataset.
Will output contain null values?
No. Empty fields are removed before records are stored.
Can I run multiple directory URLs in one job?
Yes. Add multiple entries to startUrls and collect them in a single run.
Which locations can I target?
Any location available via FindLaw directory URLs, including state-, city-, and county-level pages.
Support
For issues or feature requests, open the Actor in Apify Console and use the support channels there.
Resources
Legal Notice
This actor is intended for lawful data collection and analysis purposes. You are responsible for complying with website terms, local regulations, and applicable data-use laws in your jurisdiction.


