Justia Lawyers Scraper avatar

Justia Lawyers Scraper

Pricing

Pay per usage

Go to Apify Store
Justia Lawyers Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

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

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

ParameterTypeRequiredDefaultDescription
startUrlStringNohttps://www.justia.com/lawyers/criminal-law/californiaFull Justia listing URL.
practiceAreaStringNocriminal-lawPractice area slug used when startUrl is empty.
stateStringNocaliforniaState slug used when startUrl is empty.
cityStringNo""Optional city slug such as los-angeles.
includeSponsoredBooleanNotrueKeep compatibility with previous runs for sponsored-list controls.
results_wantedIntegerNo20Maximum records to save.
max_pagesIntegerNo10Maximum number of listing pages to crawl.
proxyConfigurationObjectNoApify Proxy enabledProxy settings for reliable extraction.

Output Data

Each dataset item can include:

FieldTypeDescription
full_nameStringLawyer full name.
profile_urlStringCanonical Justia profile URL.
profile_idStringNumeric profile identifier from URL.
firm_nameStringFirm or office name.
cityStringCity from profile card.
state_abbrStringState abbreviation from profile card.
phoneStringPublic phone number.
website_urlStringFirm or attorney website URL.
practice_areasArrayPractice areas listed on profile.
law_schoolsArrayLaw school entries for the profile.
badgesArrayBadge labels when available.
badge_classStringBadge tier class.
current_badge_levelNumberNumeric badge level value.
badge_idNumberBadge identifier.
badge_metro_idStringMetro identifier used by source listing.
badge_practice_idStringPractice identifier used by source listing.
reviews_overallNumberOverall review score where provided.
years_licensedNumberLicensed years from listing data.
connect_proBooleanSource flag for connect availability.
has_emailBooleanWhether email contact is available.
profile_image_urlStringPublic profile image URL.
listing_page_numberNumberListing page where profile was found.
listing_page_urlStringListing URL where profile was discovered.
practice_areaStringInput practice area slug used for run.
stateStringInput state slug used for run.
sourceStringSource identifier.
crawled_atStringISO 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: 20 for 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.


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.