# Justia Lawyers Scraper - Low-cost💲🔥⚖️🔎 (`delectable_incubator/justia-lawyers-scraper-low-cost`) Actor

⚖️🔎 Extract Justia lawyer listings with ease. Collect names, ratings, phone numbers, practice areas, experience, law schools, addresses, badges, profile photos, websites, and profile URLs. Ideal for legal market research, attorney lead generation, law firm intelligence and legal datasets 📊🚀

- **URL**: https://apify.com/delectable\_incubator/justia-lawyers-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** Agents, Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Justia Lawyers Directory Scraper" width="100%">
</p>

***

## ⚖️🔎 Justia Lawyers Directory Scraper | Bulk URL Scraper | Lawyers & Attorneys | Apify Actor

### 🚀 Extract Justia Lawyer Listings in Seconds (No Code)

The **Justia Lawyers Directory Scraper (Apify Actor)** is a powerful, scalable, and SEO-optimized scraping solution designed to extract **public lawyer and attorney listings from Justia's Lawyer Directory** using **bulk directory URLs**.

Scrape lawyer listings by **state, county, city, and practice area** and collect structured datasets including lawyer names, profile IDs, ratings, peer reviews, phone numbers, free consultation availability, practice areas, experience, law schools, addresses, badges, profile photos, profile URLs, websites, and contact URLs.

Perfect for **legal market research, attorney directory research, legal lead generation, law firm intelligence, competitor analysis, legal services research, CRM enrichment, AI datasets, and automation.**

***

## 🔥 Why This Justia Lawyers Scraper?

✔ Best Justia Lawyers Scraper on Apify

✔ Supports Bulk Directory URLs

✔ State-Level Lawyer Searches

✔ County-Level Lawyer Searches

✔ City-Level Lawyer Searches

✔ Practice Area Searches

✔ Sponsored & Organic Listings

✔ Automatic Pagination

✔ Rich Lawyer Metadata

✔ Contact & Profile Information

✔ US Residential Proxy Support

✔ JSON / CSV / Excel Ready

✔ No Coding Required

***

## 🎯 What This Scraper Does

This Apify Actor extracts public lawyer listings directly from **Justia's Lawyer Directory**.

Simply provide one or multiple Justia directory URLs.

The scraper automatically handles pagination and continues collecting lawyer listings until **maxItemsPerUrl** is reached or no additional results are available.

Supported directory pages include:

⚖️ **Lawyers by Practice Area**

🇺🇸 **Lawyers by State**

📍 **Lawyers by County**

🏙️ **Lawyers by City**

Examples include:

- Criminal Law
- Personal Injury
- Family Law
- Immigration
- Business Law
- Employment Law
- Estate Planning
- Real Estate Law
- Bankruptcy
- Civil Rights

***

## 📌 Core Features

✅ Bulk URL Scraping

✅ Lawyer Directory Scraping

✅ State-Level Searches

✅ County-Level Searches

✅ City-Level Searches

✅ Practice Area Searches

✅ Automatic Pagination

✅ Sponsored Listings

✅ Organic Listings

✅ Lawyer Names

✅ Profile IDs

✅ Ratings

✅ Peer Reviews

✅ Phone Numbers

✅ Free Consultation Detection

✅ Lawyer Taglines

✅ Lawyer Descriptions

✅ Experience Information

✅ Practice Areas

✅ Law Schools

✅ Office Addresses

✅ Profile Badges

✅ Profile Photos

✅ Location Markers

✅ Justia Profile URLs

✅ External Websites

✅ Contact URLs

✅ Source URLs

✅ Pagination Information

✅ Fast Cloud Scraping

✅ Structured Output

***

## ⚡ Input Configuration

### 🔥 BULK URL MODE 🚀

Add one or hundreds of Justia Lawyer Directory URLs.

```
{
  "bulkUrls": [
    "https://www.justia.com/lawyers/criminal-law/california",
    "https://www.justia.com/lawyers/criminal-law/california/los-angeles-county"
  ],
  "maxItemsPerUrl": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

Simply add one or hundreds of Justia directory URLs.

Each URL is processed independently and returns up to **maxItemsPerUrl** lawyer listings.

**US residential proxies are strongly recommended for the best reliability.**

⚠️ Do not include the `?page=` parameter. Pagination is handled automatically by the scraper.

***

## ⚖️ Lawyers by Practice Area

Search lawyers based on a specific legal practice area.

Example:

```
https://www.justia.com/lawyers/criminal-law/california
```

This allows you to discover lawyers specializing in criminal law throughout California.

***

## 📍 Lawyers by County

Search lawyers within a specific county.

Example:

```
https://www.justia.com/lawyers/criminal-law/california/los-angeles-county
```

Perfect for localized legal market research and attorney lead generation.

***

## 🏙️ Lawyers by City & Location

Justia directory URLs can also target specific geographic areas.

Use different state, county, and city-level directory URLs to build large-scale lawyer databases.

***

## 📊 Extracted Data

| Field             | Description                       |
| ----------------- | --------------------------------- |
| profileId         | Justia internal lawyer profile ID |
| name              | Lawyer's full name                |
| cardType          | Sponsored or organic listing      |
| claimedProfile    | Claimed profile status            |
| ratingText        | Lawyer rating                     |
| peerReviewsText   | Peer review information           |
| phone             | Lawyer contact phone              |
| freeConsultation  | Free consultation availability    |
| tagline           | Lawyer marketing tagline          |
| description       | Lawyer biography or description   |
| experienceText    | Experience information            |
| practiceAreasText | Practice areas                    |
| lawSchoolText     | Law school information            |
| addressText       | Office address                    |
| badges            | Profile badges                    |
| avatarUrl         | Lawyer profile photo              |
| latLngMarkers     | Office location coordinates       |
| profileUrl        | Justia lawyer profile             |
| websiteUrl        | External lawyer website           |
| contactUrl        | Justia contact URL                |
| sourceUrl         | Original directory URL            |
| pageNumber        | Pagination page                   |

***

## 💡 Use Cases

Perfect for:

⚖️ Legal Market Research

👨‍⚖️ Attorney Lead Generation

🏢 Law Firm Research

📊 Legal Market Intelligence

🔎 Lawyer Directory Research

📍 Local Attorney Discovery

🤝 CRM Enrichment

📈 Competitor Analysis

📞 Legal Services Lead Generation

🏛️ Practice Area Research

🗺️ Geographic Legal Intelligence

🤖 AI Training Datasets

📋 Lawyer Database Building

⚙️ Automation Workflows

***

## 🚀 Key Features

⚡ Bulk Directory URL Support

⚖️ Lawyer Listings

📍 State & County Searches

🏙️ City-Level Searches

🔎 Practice Area Searches

🔄 Automatic Pagination

⭐ Ratings & Peer Reviews

📞 Phone Numbers

🆓 Free Consultation Detection

🏷️ Sponsored & Organic Detection

🎓 Law School Information

💼 Practice Areas

📍 Office Addresses

🖼️ Profile Photos

🔗 Profile & Website URLs

📊 Structured Lawyer Data

💾 Export-Ready Datasets

⚙️ Enterprise-Ready Apify Actor

***

## 📤 Export Formats

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

✔ RSS

***

## 📦 Example Output

```
{
  "profileId": "155268",
  "name": "Peter Francis Iocona",
  "cardType": "sponsored",
  "claimedProfile": "false",
  "ratingText": "N/A",
  "peerReviewsText": "N/A",
  "phone": "(714) 585-5444",
  "freeConsultation": "true",
  "tagline": "Criminal, DUI & Professional Licensing Defense Attorney – 20+ Years Experience",
  "description": "I’m an experienced criminal defense lawyer and represent clients in all types of criminal cases throughout Santa Ana.",
  "experienceText": "N/A",
  "practiceAreasText": "N/A",
  "lawSchoolText": "N/A",
  "addressText": "N/A",
  "badges": "N/A",
  "avatarUrl": "https://justatic.com/profile-images/155268-1746652854-s.jpeg",
  "latLngMarkers": "N/A",
  "profileUrl": "https://lawyers.justia.com/lawyer/peter-francis-iocona-155268",
  "websiteUrl": "N/A",
  "contactUrl": "N/A",
  "sourceUrl": "https://www.justia.com/lawyers/criminal-law/california",
  "pageNumber": 1
}
```

***

## 🔥 Why This is the BEST Justia Lawyers Scraper on Apify?

✔ Optimized for Apify Search Ranking

✔ Bulk Directory URL Support

✔ Practice Area Searches

✔ State, County & City Searches

✔ Sponsored & Organic Listings

✔ Automatic Pagination

✔ Rich Lawyer Metadata

✔ Ratings & Reviews

✔ Contact Information

✔ Practice Areas & Experience

✔ Profile & Website URLs

✔ Structured Export-Ready Datasets

✔ Enterprise-Ready Scalability

***

## 💸 Pricing

This scraper runs on a **pay-per-result** pricing model.

You only pay for successfully extracted lawyer listings.

**💳 Price: $0.95 / 1,000 results**

***

## ❓ FAQ

#### Can I scrape multiple Justia URLs?

Yes.

Bulk URL mode is fully supported. You can provide one or hundreds of Justia Lawyer Directory URLs.

***

#### Which Justia pages are supported?

The scraper supports public Lawyer Directory pages organized by:

- Practice area
- State
- County
- City
- Geographic location

***

#### Can I scrape thousands of lawyers?

Yes.

Increase **maxItemsPerUrl** and add multiple directory URLs to scale your scraping jobs.

***

#### Does the scraper handle pagination?

Yes.

Pagination is handled automatically. You do not need to add the `?page=` parameter to your input URLs.

***

#### Are Residential proxies recommended?

Yes.

US residential proxies are strongly recommended because Justia may apply anti-bot and Cloudflare protection to automated requests.

***

#### Is coding required?

No.

Everything runs directly on Apify.

***

#### Can I export the data?

Yes.

The dataset can be exported to JSON, CSV, Excel, XML, HTML and RSS.

***

## ⚠️ Disclaimer

This tool is an independent data extraction solution and is **not affiliated with Justia**.

Users are responsible for complying with Justia's Terms of Service and all applicable laws.

***

## 🔗 Related Actors

We are building the complete **PrimeScrape Legal Intelligence Suite.**

More premium lawyer directories, law firm databases, legal professionals, business directories, and legal data scrapers are coming soon.

🚀 Stay tuned.

***

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, automation, AI datasets, and business intelligence.

⚖️ Legal Intelligence

👨‍⚖️ Lawyer Intelligence

🏢 Law Firm Research

📊 Legal Market Analytics

📞 Lead Generation

📍 Local Business Intelligence

🔎 Competitor Research

🤖 AI Training Datasets

⚙️ Automation Pipelines

🌐 Public Data Extraction

***

## 📬 Support

⭐⭐⭐⭐⭐

If this scraper saves you time, please leave a review.

For enterprise scraping solutions, custom Apify Actors, or large-scale legal data scraping projects, feel free to contact **PrimeScrape**.

# Actor input Schema

## `bulkUrls` (type: `array`):

One or more Justia lawyer directory URLs to scrape (state, county, or city level pages, e.g. .../lawyers/criminal-law/california or .../lawyers/criminal-law/california/los-angeles-county). Do not include the ?page= parameter, pagination is handled automatically.

## `maxItemsPerUrl` (type: `integer`):

Maximum number of lawyer listings to collect per bulk URL.

## `proxy` (type: `object`):

RESIDENTIAL proxy strongly recommended

## Actor input object example

```json
{
  "bulkUrls": [
    "https://www.justia.com/lawyers/criminal-law/california",
    "https://www.justia.com/lawyers/criminal-law/california/los-angeles-county"
  ],
  "maxItemsPerUrl": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "bulkUrls": [
        "https://www.justia.com/lawyers/criminal-law/california",
        "https://www.justia.com/lawyers/criminal-law/california/los-angeles-county"
    ],
    "maxItemsPerUrl": 50,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/justia-lawyers-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "bulkUrls": [
        "https://www.justia.com/lawyers/criminal-law/california",
        "https://www.justia.com/lawyers/criminal-law/california/los-angeles-county",
    ],
    "maxItemsPerUrl": 50,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/justia-lawyers-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "bulkUrls": [
    "https://www.justia.com/lawyers/criminal-law/california",
    "https://www.justia.com/lawyers/criminal-law/california/los-angeles-county"
  ],
  "maxItemsPerUrl": 50,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call delectable_incubator/justia-lawyers-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/justia-lawyers-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vITE3Kf74IsboaIxJ/builds/ZUt8xZTpfob7E7rsi/openapi.json
