Justia Lawyers Scraper
Pricing
Pay per usage
Justia Lawyers Scraper
Scrape comprehensive lawyer profiles, contact info & reviews from Justia. Extract detailed attorney data for lead generation, market research & competitive analysis. Residential proxy required. Handles pagination, filtering & large-scale extraction efficiently.
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Shahid Irfan
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Extract lawyer profile data from Justia directory pages at scale. Collect profile links, contact points, practice metadata, and enriched profile details for legal market research and outreach workflows. This actor is designed for stable, repeatable dataset generation across state and city directory pages.
Features
- Directory and city coverage — Crawl state-level and city-level Justia lawyer listings.
- Detailed profile extraction — Capture profile details including firm, schools, ratings, and badge metadata.
- Pagination handling — Automatically traverses listing pages up to your configured limits.
- Backward-compatible inputs — Keeps existing input parameters for smooth upgrades.
- Clean dataset output — Removes empty values so records only contain meaningful fields.
Use Cases
Legal Market Mapping
Build structured datasets of criminal defense lawyers by location to analyze competitive density and profile positioning.
Lead Research
Generate contact-ready profile lists with website and phone data for business development and outreach planning.
Practice Area Intelligence
Track practice area descriptions, badges, and profile attributes for legal niche benchmarking.
Regional Comparison
Compare lawyer distributions across cities and states for strategic expansion analysis.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | No | https://www.justia.com/lawyers/criminal-law/california | Full Justia listing URL. |
practiceArea | String | No | criminal-law | Practice area slug used when startUrl is empty. |
state | String | No | california | State slug used when startUrl is empty. |
city | String | No | "" | Optional city slug such as los-angeles. |
includeSponsored | Boolean | No | true | Keep compatibility with previous runs for sponsored-list controls. |
results_wanted | Integer | No | 20 | Maximum records to save. |
max_pages | Integer | No | 10 | Maximum number of listing pages to crawl. |
proxyConfiguration | Object | No | Apify Proxy enabled | Proxy settings for reliable extraction. |
Output Data
Each dataset item can include:
| Field | Type | Description |
|---|---|---|
full_name | String | Lawyer full name. |
profile_url | String | Canonical Justia profile URL. |
profile_id | String | Numeric profile identifier from URL. |
firm_name | String | Firm or office name. |
city | String | City from profile card. |
state_abbr | String | State abbreviation from profile card. |
phone | String | Public phone number. |
website_url | String | Firm or attorney website URL. |
practice_areas | Array | Practice areas listed on profile. |
law_schools | Array | Law school entries for the profile. |
badges | Array | Badge labels when available. |
badge_class | String | Badge tier class. |
current_badge_level | Number | Numeric badge level value. |
badge_id | Number | Badge identifier. |
badge_metro_id | String | Metro identifier used by source listing. |
badge_practice_id | String | Practice identifier used by source listing. |
reviews_overall | Number | Overall review score where provided. |
years_licensed | Number | Licensed years from listing data. |
connect_pro | Boolean | Source flag for connect availability. |
has_email | Boolean | Whether email contact is available. |
profile_image_url | String | Public profile image URL. |
listing_page_number | Number | Listing page where profile was found. |
listing_page_url | String | Listing URL where profile was discovered. |
practice_area | String | Input practice area slug used for run. |
state | String | Input state slug used for run. |
source | String | Source identifier. |
crawled_at | String | ISO extraction timestamp. |
Usage Examples
Basic State-Level Run
{"startUrl": "https://www.justia.com/lawyers/criminal-law/california","results_wanted": 20,"max_pages": 5}
Build URL from Slugs
{"practiceArea": "criminal-law","state": "california","city": "los-angeles","results_wanted": 50,"max_pages": 10}
Skip Sponsored Profiles
{"startUrl": "https://www.justia.com/lawyers/criminal-law/california","includeSponsored": false,"results_wanted": 40,"max_pages": 8}
Sample Output
{"full_name": "Ryan Rodriguez","profile_url": "https://lawyers.justia.com/lawyer/ryan-rodriguez-1486958","profile_id": "1486958","firm_name": "Law Offices of Ryan Rodriguez","city": "Newport Beach","state_abbr": "CA","phone": "(949) 335-5433","website_url": "https://www.ryrolaw.com/","practice_areas": ["Criminal Law", "DUI & DWI"],"law_schools": ["Loyola Law School, Los Angeles"],"reviews_overall": 10,"years_licensed": 0,"badge_class": "platinum","current_badge_level": 900,"badge_id": 1116299,"badge_metro_id": "2058","badge_practice_id": "218","connect_pro": false,"has_email": true,"profile_image_url": "https://justatic.com/profile-images/1486958-1769794501-sl.jpeg","listing_page_number": 1,"listing_page_url": "https://www.justia.com/lawyers/criminal-law/california","practice_area": "criminal-law","state": "california","source": "justia-lawyers","crawled_at": "2026-03-12T10:30:15.120Z"}
Tips for Best Results
Use Reliable Listing URLs
- Start from valid Justia directory pages.
- For city-level targeting, provide a known city slug.
Keep Runs Efficient
- Start with
results_wanted: 20for validation. - Increase gradually as needed for production.
Use Proxy Configuration
- Enable Apify Proxy for improved reliability on protected pages.
- Residential proxies are recommended for high-consistency runs.
Integrations
- Google Sheets — Share lawyer datasets with teams.
- Airtable — Build searchable legal contact bases.
- Make — Automate downstream enrichment workflows.
- Zapier — Trigger alerts and CRM updates.
- Webhooks — Send output to custom pipelines.
Export Formats
- JSON — Best for APIs and automation.
- CSV — Spreadsheet-friendly tabular export.
- Excel — Reporting and review workflows.
Frequently Asked Questions
How many profiles can I collect?
You can collect as many as available within your configured page and result limits.
Can I target a specific city?
Yes. Provide city with a slug such as san-diego, or use a city-specific startUrl.
Why are some records missing fields?
Profiles vary by attorney and plan type, so some fields may not exist on every profile.
Does the output include empty fields?
No. Empty values are automatically removed before saving each item.
Can I exclude premium listings?
You can still pass includeSponsored, and the actor will keep compatibility with older input setups.
Support
For issues or feature requests, use the Apify Actor issue tracker or contact support in the Apify Console.
Legal Notice
This actor is intended for legitimate data collection and research. You are responsible for ensuring your use complies with applicable laws and the target website terms.