Justia Lawyer Scraper [Only $0.9/1K💰] | Leads | Legal Data avatar

Justia Lawyer Scraper [Only $0.9/1K💰] | Leads | Legal Data

Pricing

from $0.88 / 1,000 lawyer rows

Go to Apify Store
Justia Lawyer Scraper [Only $0.9/1K💰] | Leads | Legal Data

Justia Lawyer Scraper [Only $0.9/1K💰] | Leads | Legal Data

Scrape lawyer profiles and attorney leads from the Justia Lawyer Directory: name, firm, phone, practice areas, Justia rating, peer reviews and credentials. For legal lead generation and law firm databases. From $0.0009 per lawyer.

Pricing

from $0.88 / 1,000 lawyer rows

Rating

0.0

(0)

Developer

Ahmed Jasarevic

Ahmed Jasarevic

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

0

Monthly active users

11 days ago

Last modified

Categories

Share

Justia Lawyer Directory Scraper — Attorney Contact Lists & Legal Lead Generation

Extract attorney leads and lawyer profiles from the Justia Lawyer Directory (lawyers.justia.com) — the largest free US lawyer directory — for legal lead generation, building attorney contact lists, and law firm databases. Returns lawyer name, firm, phone, address, practice areas, Justia rating, peer reviews, claimed-profile flag, education, awards and profile URL for every attorney in a state, city or practice area you choose. $0.0009 per lawyer row (cheapest verified Justia actor on Apify).

Main Use Cases

  • Legal lead generation — build targeted attorney contact lists by state, city and practice area, with built-in lead-quality signals.
  • Building a law firm database — structured lawyer records (contact, education, awards, bar info) for legaltech products, CRMs and research.
  • Legal marketing data — find personal-injury, family-law, criminal-law and other attorneys for law-firm marketing agencies.
  • Competitive and market research — map who practices what in any US market, by Justia rating and peer-review volume.
  • Legal recruiting — identify attorneys by specialty and location with full credential profiles.

How It Works

Pick states, practice areas and a city (e.g. all personal-injury lawyers in Los Angeles), or paste specific Justia profile/listing URLs. The actor is a plain-HTTP Cheerio crawler (no headless browser) that paginates Justia's directory listing pages, collects profile links, and extracts each profile from structured JSON-LD embedded in the served HTML. Justia sits behind a Cloudflare challenge, so the Apify Unblocker proxy is enabled by default — it bypasses the challenge server-side, keeping every request fast and light.

Build Attorney Contact Lists Without an Official API

Justia exposes no public API for its directory data — profiles are claimed by attorneys themselves and published publicly. This actor turns that public directory into a structured list: name, phone, firm, address, practice areas, Justia rating (1–10), peer reviews, claimed-profile status, education, awards, jurisdictions, associations, languages, websites and bio — one row per attorney.

Input is flexible:

FieldTypeRequiredDefaultNotes
startUrlsarrayNo*["https://www.justia.com/lawyers/california/los-angeles"]Specific Justia profile or listing URLs. Overrides filters.
statesarrayNo["CA"]US state codes (e.g. CA, NY, TX). Empty = all states.
practiceAreasarrayNo[]Practice-area slugs (e.g. personal-injury, family-law). Empty = all.
citystringNo""City name, used together with a state.
maxItemsintegerNo100Max lawyer profiles to save.
maxRequestsPerCrawlintegerNo200Max pages (listing + profile) the crawler may load.
maxConcurrencyintegerNo10Pages fetched in parallel. Measured ceiling on Justia is 8–14 pages/min through the Unblocker, so 10 is the sweet spot.
scrapeDetailsbooleanNotruetrue = visit every profile page for complete data. false = listing-only: one request per ~50 lawyers (practice areas, bio, years of experience included) — ~50× faster and cheaper per row.
proxyobjectNo{"useApifyProxy": true, "apifyProxyGroups": ["UNBLOCKER"]}Enabled by default — required to pass Justia's Cloudflare challenge over plain HTTP.

* Either startUrls or the states/practiceAreas/city filters must be used.

Example input

{
"states": ["CA"],
"city": "Los Angeles",
"practiceAreas": ["personal-injury"],
"maxItems": 50
}

Understand the Output: Lawyer Contact Data, Ratings & Credentials

Each dataset item is one lawyer profile:

{
"name": "Michael Cohen",
"firm": "Cohen IP Law Group, PC - Main Office",
"phone": "(310) 288-4500",
"address": "9025 Wilshire Blvd., Suite 301",
"city": "Beverly Hills",
"state": "CA",
"zip": "90211",
"practiceAreas": [
"Business Law: Business Contracts, Business Dissolution, Business Finance, Business Formation, Business Litigation, Franchising, Mergers & Acquisitions, Partnership & Shareholder Disputes",
"Intellectual Property",
"Patents: Patent Appeals, Patent Litigation, Patent Prosecution"
],
"justiaRating": 10,
"peerReviewCount": 1,
"peerReviews": [
{
"reviewer": "Howard Leslie Hoffenberg",
"date": "November 3, 2022",
"rating": 10,
"text": "He cares about the clients he represents. He surely puts his heart into his representation of clients."
}
],
"claimedProfile": true,
"yearsOfExperience": 21,
"education": [
"Southwestern University School of Law | J.D. (2002) | Law | Honors: Paul W. Wildman Scholar",
"Arizona State University | B.A. (1996) | Biological and Chemical Sciences"
],
"awards": [
"Super Lawyer in Intellectual Property & Intellectual Property Litigation | Super Lawyers | 2023",
"AV Preeminent Peer Rating | Martindale-Hubbell | 2023"
],
"jurisdictions": ["California", "Federal Patent Bar, United States Patent & Trademark Office"],
"associations": ["American Bar Association - Intellectual Property Division | Member | Current"],
"languages": [],
"websites": ["https://www.patentlawip.com/"],
"bio": "Mr. Cohen is the founder and principal of the Cohen IP Law Group...",
"imageUrl": "https://justatic.com/profile-images/1483054-1467415635-s.jpg",
"profileUrl": "https://lawyers.justia.com/lawyer/michael-cohen-1483054"
}

Data fields

FieldDescription
nameLawyer's full name
firmLaw firm / office name
phonePrimary phone number
faxFax number (if listed)
address / city / state / zipLocation
practiceAreasPractice areas with sub-specialties
justiaRatingJustia peer rating (1–10)
peerReviewCount / peerReviewsPeer reviews: count + review text, reviewer, date, rating
claimedProfileWhether the lawyer claimed their profile (strong lead-quality signal)
yearsOfExperienceYears of legal experience
educationLaw school, degrees, years
awardsAwards and honors
jurisdictionsBar admissions / jurisdictions
associations / languages / websitesProfessional associations, spoken languages, personal/firm sites
bioFull biography text
imageUrl / profileUrlProfile photo and Justia profile URL

Download the dataset as JSON, CSV, HTML, or Excel, or pull it via the Apify API.

The actor runs on the Apify platform with API access, scheduling, webhooks, Zapier/Make/n8n integrations, and monitoring. For ongoing lead generation, schedule a monthly or quarterly run per practice area × state combo and feed the dataset into your CRM or outreach tool. Filter claimedProfile = true and justiaRating >= 8 downstream to prioritize the most responsive, highest-rated prospects.

FAQ

Why use this actor instead of an official API?

Justia has no public API for its directory. The actor reads public profile pages directly at $0.0009 per lawyer row (+$0.0013 for full-profile enrichment) — no subscription, pay per record.

What are alternatives to this actor / lawyer directory data?

Avvo, Martindale-Hubbell and FindLaw are the other major US lawyer directories, each with their own Apify actors (linked above). This actor is specific to Justia — the largest free directory — with its unique peer-rating and claimed-profile signals. Note: Justia does not publish attorney emails like some competitor actors claim; this actor returns phone, website and profile URL.

Justia is a public directory of lawyer information. This actor only collects publicly available professional data (names, firm info, contact details, ratings) published by lawyers on their own profiles — no login bypass. Respect Justia's Terms of Service and applicable laws; be mindful of telemarketing/outreach rules (e.g. TCPA) when using phone numbers.

How do I prioritize the best leads?

Filter by claimedProfile = true (lawyer actively manages their presence — more likely to respond) and justiaRating >= 8, or sort by peerReviewCount. That combination surfaces responsive, well-reviewed prospects.

Why should I keep the Unblocker proxy on?

Justia's Cloudflare challenge blocks plain HTTP from datacenter and residential IPs alike; the UNBLOCKER group bypasses it server-side cheaply. It's on by default — only useApifyProxy: false turns it off (most requests will then 403).

Known limitations

  • Profiles deleted on Justia return HTTP 410 and are skipped automatically.
  • Justia shows a limited number of peer reviews per profile.
  • Free Apify users are limited to 10 profiles per run.

For AI Agents & LLM Apps

Purpose: Returns one structured row per lawyer from the Justia Lawyer Directory (contact, practice areas, Justia rating, peer reviews, credentials).

Minimal working input:

{ "states": ["CA"], "city": "Los Angeles", "maxItems": 10 }

Variant inputs — scrape specific profiles:

{ "startUrls": [{ "url": "https://lawyers.justia.com/lawyer/michael-cohen-1483054" }], "maxItems": 1 }

Output fields (per lawyer): name, firm, phone, fax, address, city, state, zip, practiceAreas, justiaRating, peerReviewCount, peerReviews, claimedProfile, yearsOfExperience, education, awards, jurisdictions, associations, languages, websites, bio, imageUrl, profileUrl.

Behaviors an agent should know:

  • startUrls overrides states/practiceAreas/city entirely when provided.
  • The Unblocker proxy is on by default and required for plain-HTTP access — RESIDENTIAL and private datacenter proxies both get a plain HTTP 403 from Justia's Cloudflare, so don't switch groups.
  • Speed is bounded by the Unblocker, not by your settings. A measured round trip to Justia is bimodal: ~1.5 s when Cloudflare lets the plain request through, ~33 s when the browser has to solve the challenge (p50 ≈ 33 s). Throughput plateaus at 8–14 pages/min whether maxConcurrency is 8, 10, 12 or 16 — beyond ~10 the proxy only queues the extra requests (higher latency, more HTTP 502 retries, no extra speed). Default 10 is the sweet spot; drop to 6 if you see 502/403 storms.
  • Crawlee starts its concurrency pool at minConcurrency (default 1) and only raises it by 5 % every 10 s, so a crawl used to run its first minute with a handful of slots open. The crawler is now configured to start at the full concurrency and to shrink at most 2× under system pressure.
  • For bulk contact lists, scrapeDetails: false (listing-only) gets ~50 lawyers per request instead of one — roughly 50× cheaper and faster per row than visiting every profile. Listing rows are no longer bare: measured on a live Los Angeles run, practiceAreas filled 80 % of rows, bio 98 %, education 82 %, yearsOfExperience 38 % (Justia only prints experience for some cards) — all read from the listing HTML that was downloaded anyway, so it costs zero extra requests.
  • Justia also exposes an internal directory endpoint (/lawyers/<state>/<city>?method=json&limit=50&offset=N, found in their own JS bundle). It was tested and is not usable for enumeration or merging: two calls of page=1 return different sets (~50 % overlap) and every page overlaps the others by ~50 % — the API rotates a random ~42-record window. It has no per-profile JSON either, so the HTML listing remains the source of truth.
  • No email field exists — outreach uses phone, websites and profileUrl.
  • Billing: pay-per-result — $0.0009 per lawyer row; +$0.0013 per lawyer when enrichment targets reach profile pages (check maxRequestsPerCrawl vs maxItems interplay).

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Justia. It collects only publicly available professional data that lawyers publish on their Justia profiles — no login bypass, no access-challenge evasion beyond the standard public page. Users are responsible for compliance with Justia's Terms of Service, applicable data-protection law, and outreach/telemarketing rules (e.g. TCPA, CAN-SPAM) when using contact data. Do not use phone numbers for unsolicited commercial outreach in violation of applicable law.

SEO Keywords

justia scraper, justia lawyer directory data, attorney contact list, lawyer lead generation, legal lead generation, attorney leads, law firm database, practice area lawyer list, personal injury lawyer list, family law attorney data, attorney profile data, legal marketing data, lawyer reviews data, law firm contact info, justia rating peer review, scrape lawyers by state, justia vs avvo, lawyer directory scraping, attorney phone website, legaltech data, json csv excel export