Justia Lawyer Directory Scraper

Extract attorney profiles from Justia.com including contact details, practice areas, education, bar admissions, ratings, and reviews. Filter by state and practice area.

Scrape attorney profiles from Justia.com, one of the largest free US legal directories. Returns 20+ fields per profile — contact information, practice areas, education, bar admissions, peer endorsement ratings, client reviews, professional associations, and biography text across all 50 states and 40+ practice areas.

Justia Scraper Features

Extracts 20+ fields per attorney profile including Justia's peer endorsement rating

Filter by any combination of US states, practice areas, and city

Scrape specific Justia profile URLs directly, bypassing the directory crawl

Collects professional associations, social media links, and detailed education history — fields most scrapers skip

Returns bar admissions, awards, languages spoken, and biography text

Handles pagination, deduplication, and retries. You configure it once and walk away.

Who Uses Justia Attorney Data?

Legal marketing agencies — Build targeted outreach lists by state, city, and practice area

Legal tech platforms — Feed attorney profiles into directories, comparison tools, or lawyer-matching services

Recruiting firms — Identify attorneys by specialization, education, bar admissions, and years of experience

Market researchers — Analyze attorney density, practice area distribution, and firm composition across jurisdictions

Compliance teams — Verify bar admissions and professional associations, or at least build the dataset that makes verification possible

How the Justia Scraper Works

1. Configure filters — Pick states, practice areas, a city, or paste specific attorney profile URLs.

2. Directory crawl — The scraper paginates through Justia's listing pages, collecting profile links and deduplicating by attorney ID as it goes.

3. Profile extraction — Each attorney page is parsed for JSON-LD structured data and HTML fields. Education details, associations, awards, and biography text are pulled from the full profile.

4. Export — Results land in your Apify dataset as clean JSON. Set maxItems to control how many profiles you need.

Input

Scrape by state and practice area

{

"states": ["CA", "NY"],

"practiceAreas": ["personal-injury", "criminal-law"],

"maxItems": 200

}

Scrape a specific city

{

"states": ["TX"],

"practiceAreas": ["family-law"],

"city": "Houston",

"maxItems": 100

}

Scrape specific attorney profiles

{

"profileUrls": [

"https://lawyers.justia.com/lawyer/john-w-lee-164695",

"https://lawyers.justia.com/lawyer/james-w-ellison-166006"

],

"maxItems": 2

}

Field

Type

Default

Description

states

array

all states

One or more US state codes (e.g., CA, NY, TX). Leave empty to scrape all 50 states + DC.

practiceAreas

array

10 common areas

Filter by practice area slug (e.g., criminal-law, family-law, bankruptcy). Leave empty for all areas.

city

string

Filter by city name. Works best combined with a state filter.

profileUrls

array

Specific Justia attorney profile URLs to scrape directly. Bypasses the directory crawl when provided.

maxItems

integer

100

Maximum attorney profiles to return. Set to 0 for unlimited.

Justia Scraper Output Fields

{

"name": "John W. Lee",

"first_name": "John",

"last_name": "Lee",

"practice_areas": ["Tax Law", "Business Law", "Estate Planning"],

"firm_name": "Law Office of John W. Lee",

"address": "3775 Airport Blvd Suite 1",

"city": "Mobile",

"state": "AL",

"zip": "36608",

"phone": "(251) 344-5995",

"email": "jlee@jwleelaw.com",

"website": "https://www.jwleelaw.com",

"justia_rating": 9.7,

"client_review_count": 12,

"client_review_rating": 4.85,

"education": ["University of Virginia School of Law | J.D. | 1980"],

"bar_admissions": ["Alabama State Bar", "Virginia State Bar"],

"years_of_experience": 44,

"languages": ["English"],

"awards": ["AV Preeminent Rated", "Best Lawyers in America"],

"social_links": "linkedin | https://www.linkedin.com/in/johnwlee",

"associations": ["American Bar Association", "Alabama State Bar", "Tax Section of the ABA"],

"biography": "John W. Lee has practiced tax and business law in Mobile, Alabama for over four decades...",

"profile_url": "https://lawyers.justia.com/lawyer/john-w-lee-164695"

}

Field

Type

Description

name

string

Full attorney name

first_name

string

Attorney first name

last_name

string

Attorney last name

practice_areas

array

List of legal practice areas

firm_name

string

Law firm or practice name

address

string

Office street address

city

string

Office city

state

string

Office state abbreviation

zip

string

Office ZIP code

phone

string

Office phone number, formatted as (XXX) XXX-XXXX

email

string

Contact email, when publicly listed

website

string

Attorney or firm website URL

justia_rating

number

Justia peer endorsement rating (0-10 scale)

client_review_count

number

Number of client reviews on Justia

client_review_rating

number

Average client review rating (0-5 scale)

education

array

Law school education, formatted as school | degree | year

bar_admissions

array

Bar admissions with state and year

years_of_experience

number

Years since earliest bar admission

languages

array

Languages spoken

awards

array

Awards, honors, and recognitions

social_links

string

Social media links as pipe-separated string (platform | url)

associations

array

Professional associations and memberships

biography

string

Attorney biography or about text (up to 5,000 characters)

profile_url

string

Full Justia profile URL

FAQ

How do I scrape attorney profiles from Justia?

Justia Scraper handles it. Set your state and practice area filters, configure maxItems, and run. The scraper paginates through Justia's directory, follows profile links, and returns structured data. You can also paste specific Justia profile URLs if you already know which attorneys you need.

How much does Justia Scraper cost to run?

Justia Scraper uses pay-per-event pricing. A typical run scraping 200 profiles costs a few cents in platform fees. The scraper uses US residential proxies by default, which are included in the proxy cost tier.

What data can I get from Justia?

Justia Scraper returns 20+ fields per attorney profile. The basics — name, phone, email, address — plus the fields that make Justia worth scraping: peer endorsement ratings, professional associations, detailed education history, bar admissions, awards, social links, and full biography text. Justia profiles tend to be more detailed than most legal directories, and the scraper takes advantage of that.

Can I filter by state, city, or practice area?

Justia Scraper supports all 50 US states plus DC, 40+ practice areas, and optional city filtering. Combine them however you want in a single run. Leave all filters empty to scrape the entire directory, which is a commitment but the scraper will follow through.

Does Justia Scraper need proxies?

Justia Scraper comes preconfigured with US residential proxies. Justia uses Cloudflare protection, and residential proxies are what keep everything running. The proxy configuration is set by default — no action needed on your end.

Need More Features?

Need custom fields, different filters, or bulk export formats? Open an issue or get in touch.

Why Use Justia Scraper?

20+ fields per profile — Goes beyond name and phone. Returns peer ratings, education details, bar admissions, professional associations, awards, social links, and biography text in one structured record.

Clean output — Consistent field types and formats across every record. Arrays are arrays, numbers are numbers, and phone numbers come pre-formatted. No cleanup required.

Flexible targeting — Scrape by state, city, practice area, or paste specific profile URLs. The scraper adapts to the scope you give it, from a single attorney to the entire US directory.

Ready to get started?

Try Justia Lawyer Directory Scraper free on the Apify platform.