# Justia Lawyer Directory Scraper — Attorney Leads (`muhammadafzal/justia-lawyer-directory-scraper`) Actor

Extract attorney profiles from the Justia Lawyer Directory with practice areas, contact info, bar admissions, education, ratings & reviews. Filter by practice area and location, or supply direct URLs. Export to CSV/JSON, run via API, schedule and monitor runs, or integrate with other tools.

- **URL**: https://apify.com/muhammadafzal/justia-lawyer-directory-scraper.md
- **Developed by:** [Muhammad Afzal](https://apify.com/muhammadafzal) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $25.00 / 1,000 lawyer records

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## Justia Lawyer Directory Scraper — Attorney Leads

Extract attorney profiles from the [Justia Lawyer Directory](https://www.justia.com/lawyers) with practice areas, contact details, bar admissions, education, ratings, and reviews. Filter by practice area and geographic location, or supply direct Justia listing/profile URLs.

### Use Cases

- **Legal lead generation** — build lists of licensed attorneys by practice area and city/county for sales outreach
- **Attorney prospecting** — find lawyers with verified phone, email, and website for CRM enrichment
- **Legal-tech data enrichment** — feed attorney directories, comparison tools, and matching platforms
- **Market research** — analyze attorney distribution by practice area, geography, rating, and law school
- **Recruitment** — source attorneys by specialization for law firm hiring or expert-network platforms

### Input

The actor supports three input modes (combine as needed):

| Field | Type | Default | Description |
|---|---|---|---|
| `startUrls` | array | `[]` | Direct Justia lawyer listing or profile URLs (must contain `justia.com/lawyers`) |
| `practiceArea` | enum | `family-law` | Practice-area slug (e.g., `criminal-law`, `personal-injury`, `bankruptcy`) |
| `location` | string | `california/los-angeles` | Geographic slug in `state/city` or `state/county` format |
| `maxResults` | integer | `50` | Maximum lawyer records to extract (1–10,000) |
| `scrapeProfileDetails` | boolean | `true` | Visit each lawyer's profile page to enrich with bar admissions, law school, and additional contact info |
| `customProxyUrl` | string | `""` | Optional premium residential proxy URL (recommended for high-volume runs) |

#### URL formats accepted in `startUrls`

- Practice area: `https://www.justia.com/lawyers/family-law`
- Location: `https://www.justia.com/lawyers/california/los-angeles`
- Combined: `https://www.justia.com/lawyers/family-law/california/los-angeles`
- County: `https://www.justia.com/lawyers/california/los-angeles-county`
- Individual profile: any URL matching `justia.com/lawyers/<lawyer-slug>`

#### Example inputs

```json
{
    "practiceArea": "family-law",
    "location": "california/los-angeles",
    "maxResults": 100,
    "scrapeProfileDetails": true
}
````

```json
{
    "startUrls": [{ "url": "https://www.justia.com/lawyers/criminal-law/illinois/chicago" }],
    "maxResults": 200
}
```

```json
{
    "practiceArea": "personal-injury",
    "location": "texas/houston",
    "maxResults": 50,
    "scrapeProfileDetails": false,
    "customProxyUrl": "http://user:pass@proxy.decodo.com:8000"
}
```

### Output

Each dataset item is a lawyer record with the following fields:

| Field | Type | Example |
|---|---|---|
| `lawyer_name` | string | null | `"Jane A. Roe"` |
| `firm_name` | string | null | `"Roe & Partners LLP"` |
| `practice_areas` | string\[] | null | `["Family Law","Divorce"]` |
| `city` | string | null | `"Los Angeles"` |
| `state` | string | null | `"CA"` |
| `phone` | string | null | `"(213) 555-0100"` |
| `email` | string | null | `"jane@roelaw.com"` |
| `website` | string | null | `"https://roelaw.com"` |
| `address` | string | null | `"500 Market St, Los Angeles, CA 90013"` |
| `rating` | number | null | `4.8` |
| `reviews_count` | number | null | `23` |
| `bar_admissions` | string\[] | null | `["State Bar of California"]` |
| `law_school` | string | null | `"UCLA School of Law"` |
| `profile_url` | string | null | `"https://www.justia.com/lawyers/jane-roe-12345"` |
| `scraped_at` | string (ISO 8601) | `"2026-07-05T12:00:00.000Z"` |
| `source_url` | string | `"https://www.justia.com/lawyers/family-law/california/los-angeles"` |

### Pricing

This actor uses **Pay-Per-Event** billing:

| Event | Price | Trigger |
|---|---|---|
| Actor Start | $0.00005 | Once per run |
| Lawyer Record | **$0.025** | Per attorney profile successfully extracted |

**Example:** 100 lawyer records = $2.50 + $0.00005 start = **~$2.50**.

Usage-based billing (compute + proxy passthrough) is also enabled for heavy users.

### API & Integration

Run the actor via API:

```bash
curl -X POST "https://api.apify.com/v2/acts/muhammadafzal~justia-lawyer-directory-scraper/runs?token=YOUR_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"practiceArea":"family-law","location":"california/los-angeles","maxResults":50}'
```

Export results:

```bash
curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
```

Integrate with Zapier, Make, n8n, Airbyte, LangChain, or any tool that consumes Apify datasets.

### Reliability & Anti-Blocking

- **Playwright browser** with anti-detection launch args (real TLS/UA fingerprint)
- **Session pool** (20 sessions, max 8 uses each) for IP rotation
- **Consent cookie pre-injection** to bypass GDPR popups
- **Randomized delays** (1–3s) and viewport sizes per request
- **3-layer extraction**: JSON-LD structured data → DOM parsing with multi-selector fallback → profile-page enrichment
- **Datacenter proxy by default**; falls back to your custom residential proxy via `customProxyUrl` for blocked endpoints
- **Pagination auto-follow** (`a[rel="next"]`, `?page=N`)

### Notes

- Justia's directory contains hundreds of thousands of attorney profiles across all US states. Large extraction jobs (10,000+ records) should set `scrapeProfileDetails: false` for speed, then re-enrich a subset.
- Practice-area slugs follow Justia's URL convention (kebab-case). Common slugs are pre-listed in the input schema dropdown; custom slugs can be typed manually.
- The actor is MCP-ready: AI agents (Claude, GPT, Cursor) can call it with a single `practiceArea` + `location` pair and receive structured JSON.

### Legal & Compliance

This actor scrapes publicly available attorney profile data from the Justia Lawyer Directory. Ensure your use complies with Justia's Terms of Service and applicable data-protection laws (GDPR, CCPA) when handling contact information. Output is intended for B2B lead generation and research purposes.

# Actor input Schema

## `startUrls` (type: `array`):

Use this field when the user provides specific Justia lawyer listing or profile URLs. Each URL must contain 'justia.com/lawyers'. Accepted formats include practice-area pages (justia.com/lawyers/family-law), location pages (justia.com/lawyers/california/los-angeles), combined (justia.com/lawyers/family-law/california/los-angeles), county pages (justia.com/lawyers/california/los-angeles-county), or individual lawyer profile pages. Do NOT use this when the user describes a practice area or location in words — use practiceArea and location instead. Example: \[{"url":"https://www.justia.com/lawyers/family-law/california/los-angeles"}]

## `practiceArea` (type: `string`):

Use this field when the user describes a legal practice area in words. Justia uses kebab-case slugs (lowercase, hyphen-separated). Common values: personal-injury, medical-malpractice, criminal-law, dui, family-law, divorce, bankruptcy, business-law, consumer-law, employment-law, estate-planning, foreclosure-defense, immigration-law, intellectual-property, nursing-home-abuse, probate, products-liability, real-estate-law, tax-law, traffic-tickets, workers-compensation, legal-malpractice. Pair with location for geo-filtered results. Do NOT use this when the user provides a direct Justia URL — use startUrls instead. Example: family-law

## `location` (type: `string`):

Use this field when the user describes a geographic area. Format is lowercase state/city or state/county slug using hyphens for spaces. Examples: 'california/los-angeles', 'california/los-angeles-county', 'new-york', 'illinois/chicago', 'texas/houston'. Pair with practiceArea to filter by both. Do NOT use this when the user provides a direct Justia URL — use startUrls instead. Example: california/los-angeles

## `maxResults` (type: `integer`):

Maximum number of lawyer records to extract before stopping. Caps both listing pages and profile enrichments. Defaults to 50. Increase for bulk extraction jobs; decrease for quick tests. Example: 100

## `scrapeProfileDetails` (type: `boolean`):

When true (default), the actor visits each lawyer's profile page to enrich the record with bar admissions, law school, and any contact info not present on the listing page. When false, only listing-page fields are returned — roughly 10x faster but may miss education, bar admissions, and some emails/phones. Use false for high-volume discovery, true for complete lead records. Example: true

## `customProxyUrl` (type: `string`):

Optional premium residential proxy URL (e.g., http://user:pass@provider.decodo.com:8000). Justia blocks datacenter IPs aggressively on some endpoints; providing a premium residential proxy (Decodo, Bright Data, IPRoyal) dramatically improves reliability. Leave empty to use Apify's default proxy rotation. Example: http://user:pass@proxy.decodo.com:8000

## Actor input object example

```json
{
  "startUrls": [],
  "practiceArea": "family-law",
  "location": "california/los-angeles",
  "maxResults": 50,
  "scrapeProfileDetails": true,
  "customProxyUrl": ""
}
```

# Actor output Schema

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

Link to the dataset containing all extracted Justia lawyer records.

# 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 = {
    "startUrls": [],
    "practiceArea": "family-law",
    "location": "california/los-angeles",
    "maxResults": 50,
    "scrapeProfileDetails": true,
    "customProxyUrl": ""
};

// Run the Actor and wait for it to finish
const run = await client.actor("muhammadafzal/justia-lawyer-directory-scraper").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 = {
    "startUrls": [],
    "practiceArea": "family-law",
    "location": "california/los-angeles",
    "maxResults": 50,
    "scrapeProfileDetails": True,
    "customProxyUrl": "",
}

# Run the Actor and wait for it to finish
run = client.actor("muhammadafzal/justia-lawyer-directory-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [],
  "practiceArea": "family-law",
  "location": "california/los-angeles",
  "maxResults": 50,
  "scrapeProfileDetails": true,
  "customProxyUrl": ""
}' |
apify call muhammadafzal/justia-lawyer-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=muhammadafzal/justia-lawyer-directory-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Justia Lawyer Directory Scraper — Attorney Leads",
        "description": "Extract attorney profiles from the Justia Lawyer Directory with practice areas, contact info, bar admissions, education, ratings & reviews. Filter by practice area and location, or supply direct URLs. Export to CSV/JSON, run via API, schedule and monitor runs, or integrate with other tools.",
        "version": "1.0",
        "x-build-id": "kQWydO7RTGz6K5Xpb"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/muhammadafzal~justia-lawyer-directory-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-muhammadafzal-justia-lawyer-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/muhammadafzal~justia-lawyer-directory-scraper/runs": {
            "post": {
                "operationId": "runs-sync-muhammadafzal-justia-lawyer-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/muhammadafzal~justia-lawyer-directory-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-muhammadafzal-justia-lawyer-directory-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "Use this field when the user provides specific Justia lawyer listing or profile URLs. Each URL must contain 'justia.com/lawyers'. Accepted formats include practice-area pages (justia.com/lawyers/family-law), location pages (justia.com/lawyers/california/los-angeles), combined (justia.com/lawyers/family-law/california/los-angeles), county pages (justia.com/lawyers/california/los-angeles-county), or individual lawyer profile pages. Do NOT use this when the user describes a practice area or location in words — use practiceArea and location instead. Example: [{\"url\":\"https://www.justia.com/lawyers/family-law/california/los-angeles\"}]",
                        "items": {
                            "type": "object",
                            "properties": {
                                "url": {
                                    "title": "URL",
                                    "type": "string",
                                    "description": "A fully-qualified Justia lawyer directory URL. Example: https://www.justia.com/lawyers/california/los-angeles"
                                }
                            },
                            "required": [
                                "url"
                            ]
                        },
                        "default": []
                    },
                    "practiceArea": {
                        "title": "Practice Area",
                        "enum": [
                            "personal-injury",
                            "medical-malpractice",
                            "criminal-law",
                            "dui",
                            "family-law",
                            "divorce",
                            "bankruptcy",
                            "business-law",
                            "consumer-law",
                            "employment-law",
                            "estate-planning",
                            "foreclosure-defense",
                            "immigration-law",
                            "intellectual-property",
                            "nursing-home-abuse",
                            "probate",
                            "products-liability",
                            "real-estate-law",
                            "tax-law",
                            "traffic-tickets",
                            "workers-compensation",
                            "legal-malpractice"
                        ],
                        "type": "string",
                        "description": "Use this field when the user describes a legal practice area in words. Justia uses kebab-case slugs (lowercase, hyphen-separated). Common values: personal-injury, medical-malpractice, criminal-law, dui, family-law, divorce, bankruptcy, business-law, consumer-law, employment-law, estate-planning, foreclosure-defense, immigration-law, intellectual-property, nursing-home-abuse, probate, products-liability, real-estate-law, tax-law, traffic-tickets, workers-compensation, legal-malpractice. Pair with location for geo-filtered results. Do NOT use this when the user provides a direct Justia URL — use startUrls instead. Example: family-law",
                        "default": "family-law"
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "Use this field when the user describes a geographic area. Format is lowercase state/city or state/county slug using hyphens for spaces. Examples: 'california/los-angeles', 'california/los-angeles-county', 'new-york', 'illinois/chicago', 'texas/houston'. Pair with practiceArea to filter by both. Do NOT use this when the user provides a direct Justia URL — use startUrls instead. Example: california/los-angeles",
                        "default": "california/los-angeles"
                    },
                    "maxResults": {
                        "title": "Max Results",
                        "minimum": 1,
                        "maximum": 10000,
                        "type": "integer",
                        "description": "Maximum number of lawyer records to extract before stopping. Caps both listing pages and profile enrichments. Defaults to 50. Increase for bulk extraction jobs; decrease for quick tests. Example: 100",
                        "default": 50
                    },
                    "scrapeProfileDetails": {
                        "title": "Scrape Profile Details",
                        "type": "boolean",
                        "description": "When true (default), the actor visits each lawyer's profile page to enrich the record with bar admissions, law school, and any contact info not present on the listing page. When false, only listing-page fields are returned — roughly 10x faster but may miss education, bar admissions, and some emails/phones. Use false for high-volume discovery, true for complete lead records. Example: true",
                        "default": true
                    },
                    "customProxyUrl": {
                        "title": "Custom Proxy URL",
                        "type": "string",
                        "description": "Optional premium residential proxy URL (e.g., http://user:pass@provider.decodo.com:8000). Justia blocks datacenter IPs aggressively on some endpoints; providing a premium residential proxy (Decodo, Bright Data, IPRoyal) dramatically improves reliability. Leave empty to use Apify's default proxy rotation. Example: http://user:pass@proxy.decodo.com:8000",
                        "default": ""
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
