Justia Lawyer Scraper — Attorney Leads
Pricing
from $20.00 / 1,000 lawyer records
Justia Lawyer Scraper — Attorney Leads
Scrape Justia lawyer and law firm profiles with practice areas, locations, contact details, ratings, and structured attorney lead data.
Pricing
from $20.00 / 1,000 lawyer records
Rating
0.0
(0)
Developer
Muhammad Afzal
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 days ago
Last modified
Categories
Share
Justia Lawyer Directory Scraper — Attorney Leads
Free plan limit: Free-plan users can receive up to 5 result records per run. Paid-plan and local/unknown runs retain the Actor's existing limits.
Extract attorney profiles from the Justia Lawyer Directory with practice areas, contact details, bar admissions, education, ratings, and reviews. Filter by practice area and geographic location, or supply direct Justia listing/profile URLs.
Use Cases
- Legal lead generation — build lists of licensed attorneys by practice area and city/county for sales outreach
- Attorney prospecting — find lawyers with verified phone, email, and website for CRM enrichment
- Legal-tech data enrichment — feed attorney directories, comparison tools, and matching platforms
- Market research — analyze attorney distribution by practice area, geography, rating, and law school
- Recruitment — source attorneys by specialization for law firm hiring or expert-network platforms
Input
The actor supports three input modes (combine as needed):
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | [] | Direct Justia lawyer listing or profile URLs (must contain justia.com/lawyers) |
practiceArea | enum | family-law | Practice-area slug (e.g., criminal-law, personal-injury, bankruptcy) |
location | string | california/los-angeles | Geographic slug in state/city or state/county format |
maxResults | integer | 50 | Maximum lawyer records to extract (1–10,000) |
scrapeProfileDetails | boolean | true | Visit each lawyer's profile page to enrich with bar admissions, law school, and additional contact info |
customProxyUrl | string | "" | Optional custom HTTP proxy URL override; when blank, the Actor uses its configured US DataImpulse residential proxy |
URL formats accepted in startUrls
- Practice area:
https://www.justia.com/lawyers/family-law - Location:
https://www.justia.com/lawyers/california/los-angeles - Combined:
https://www.justia.com/lawyers/family-law/california/los-angeles - County:
https://www.justia.com/lawyers/california/los-angeles-county - Individual profile: any URL matching
justia.com/lawyers/<lawyer-slug>
Example inputs
{"practiceArea": "family-law","location": "california/los-angeles","maxResults": 100,"scrapeProfileDetails": true}
{"startUrls": [{ "url": "https://www.justia.com/lawyers/criminal-law/illinois/chicago" }],"maxResults": 200}
{"practiceArea": "personal-injury","location": "texas/houston","maxResults": 50,"scrapeProfileDetails": false,"customProxyUrl": "http://user:pass@proxy.decodo.com:8000"}
Output
Each dataset item is a lawyer record with the following fields:
| Field | Type | Example |
|---|---|---|
lawyer_name | string | null | "Jane A. Roe" |
firm_name | string | null | "Roe & Partners LLP" |
practice_areas | string[] | null | ["Family Law","Divorce"] |
city | string | null | "Los Angeles" |
state | string | null | "CA" |
phone | string | null | "(213) 555-0100" |
email | string | null | "jane@roelaw.com" |
website | string | null | "https://roelaw.com" |
address | string | null | "500 Market St, Los Angeles, CA 90013" |
rating | number | null | 4.8 |
reviews_count | number | null | 23 |
bar_admissions | string[] | null | ["State Bar of California"] |
law_school | string | null | "UCLA School of Law" |
profile_url | string | null | "https://www.justia.com/lawyers/jane-roe-12345" |
scraped_at | string (ISO 8601) | "2026-07-05T12:00:00.000Z" |
source_url | string | "https://www.justia.com/lawyers/family-law/california/los-angeles" |
Pricing
This Actor uses pay-per-event pricing. These are the current Apify Store event prices:
| Event | Price (USD) | When it is charged |
|---|---|---|
lawyer-found | $0.025 | Lawyer Record — Charged for each attorney profile successfully extracted and pushed to the dataset. |
apify-actor-start | $0.00005 | Actor Start — Charged when the Actor starts running. Number of events charged depends on Actor memory (one event per GB, minimum one event). — Charged once per run. |
Apify platform usage for this Actor run is included alongside the event prices above; no separate per-run platform-usage fee is passed to users.
This covers Apify platform usage for this Actor run. Other Apify products or usage outside this Actor run may still follow your account plan.
API & Integration
Run the actor via API:
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~justia-lawyer-directory-scraper/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"practiceArea":"family-law","location":"california/los-angeles","maxResults":50}'
Export results:
$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
Integrate with Zapier, Make, n8n, Airbyte, LangChain, or any tool that consumes Apify datasets.
Reliability & Anti-Blocking
- Playwright browser with anti-detection launch args (real TLS/UA fingerprint)
- Session pool (20 sessions, max 8 uses each) for IP rotation
- Consent cookie pre-injection to bypass GDPR popups
- Randomized delays (1–3s) and viewport sizes per request
- 3-layer extraction: JSON-LD structured data → DOM parsing with multi-selector fallback → profile-page enrichment
- US DataImpulse residential proxy by default, using a per-run sticky session;
customProxyUrlremains an optional override - Transfer estimate:
netRxBytes / 1,000,000,000 × $1per cloud run. This estimates DataImpulse traffic from Apify's container receive bytes; use the provider meter for invoiced usage. - Pagination auto-follow (
a[rel="next"],?page=N)
Notes
- Justia's directory contains hundreds of thousands of attorney profiles across all US states. Large extraction jobs (10,000+ records) should set
scrapeProfileDetails: falsefor speed, then re-enrich a subset. - Practice-area slugs follow Justia's URL convention (kebab-case). Common slugs are pre-listed in the input schema dropdown; custom slugs can be typed manually.
- The actor is MCP-ready: AI agents (Claude, GPT, Cursor) can call it with a single
practiceArea+locationpair and receive structured JSON.
Legal & Compliance
This actor scrapes publicly available attorney profile data from the Justia Lawyer Directory. Ensure your use complies with Justia's Terms of Service and applicable data-protection laws (GDPR, CCPA) when handling contact information. Output is intended for B2B lead generation and research purposes.