# CA State Bar Attorney Search Scraper (`crawlerbros/ca-state-bar-attorney-search`) Actor

Search the California State Bar's public attorney licensee directory by name, bar number, or advanced filters. Get license status, admission date, discipline history, standing, address, and self-reported practice areas.

- **URL**: https://apify.com/crawlerbros/ca-state-bar-attorney-search.md
- **Developed by:** [Crawler Bros](https://apify.com/crawlerbros) (community)
- **Categories:** Lead generation, Jobs, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 results

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 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

## CA State Bar Attorney Search Scraper

Search the **California State Bar's** public Attorney Licensee directory. Look up an
attorney by name or bar number, or run an advanced search across location, certified
legal specialty, language spoken, and self-reported practice area. Get license status,
admission date, discipline and administrative history, standing, contact details, and
self-reported practice areas — straight from apps.calbar.ca.gov. No login, no API key,
no proxy required.

### What this actor does

- **Three modes:** `search` (quick name/firm/bar-number lookup), `byBarNumber` (exact bar
  number lookup), `advanced` (name + location + certified specialty + language + practice
  area — every filter the State Bar's own Advanced Search form exposes)
- **Full licensee profile:** license status, admission date, discipline & administrative
  history, address, phone, fax, website, law school, CLA sections, self-reported practice
  areas, languages spoken
- **Location filters:** city, state, ZIP, State Bar district, California county
- **Client-side status filter:** narrow results to a specific license status after fetching
- **Fast bulk mode:** disable full-profile enrichment to get just the summary row
  (name, status, bar number, city, admission date) for large name searches
- **Empty fields are omitted** — a field only appears when the State Bar actually
  published that data for the attorney

### Output per attorney

- `barNumber` — California State Bar license number
- `fullName`
- `licenseStatus` — one of `Active`, `Inactive`, `Not Eligible`, `Disbarred`, `Resigned`,
  `Judge`, `Deceased`, `RIHC`, `RLAA`, `RMSA`, `RSLA`
- `standingDescription` — the State Bar's own definition of the current license status
- `address`, `city`, `state`, `zipCode`
- `phone`, `fax`, `website`
- `claSections[]` — California Lawyers Association sections
- `selfReportedPracticeAreas[]`
- `languagesSpokenByAttorney[]`, `languagesSpokenByStaff[]`
- `lawSchool`
- `admissionDate` — ISO date (or year-month when only a month/year is published)
- `disciplineHistory[]` — `{ date, licenseStatus, discipline, adminAction }` per dated
  status/disciplinary/administrative change (omits the always-present "Present" row)
- `profileUrl` — canonical Licensee Detail page
- `recordType: "attorney"`, `scrapedAt`

When `fetchFullProfile` is disabled, only `barNumber`, `fullName`, `licenseStatus`,
`city`, `admissionDate`, and `profileUrl` are returned (no detail-page fetch).

### Input

| Field | Type | Default | Description |
|---|---|---|---|
| `mode` | string | `search` | `search` / `byBarNumber` / `advanced` |
| `freeText` | string | `smith` | Name, firm name, or bar number (mode=search) |
| `soundsLike` | boolean | `false` | Phonetic matching on name (mode=search) |
| `barNumbers` | array | – | Bar numbers to look up (mode=byBarNumber) |
| `lastName` / `firstName` / `middleName` / `firmName` | string | – | Name fields (mode=advanced) |
| `lastNameMatchType` etc. | string | `b` | `b` begins-with / `c` contains / `e` exactly / `s` sounds-like |
| `city`, `cityMatchType` | string | – | City filter (mode=advanced) |
| `state` | string | – | US state (mode=advanced) |
| `zipCode` | string | – | 5-digit ZIP (mode=advanced) |
| `district` | string | – | State Bar geographic district 1–6, or Outside California (mode=advanced) |
| `county` | string | – | California county, Statewide, or Non-California (mode=advanced) |
| `legalSpecialty` | string | – | Board-certified legal specialty (mode=advanced) |
| `languageSpoken` | string | – | Additional language spoken (mode=advanced) |
| `practiceArea` | string | – | Self-reported practice area (mode=advanced) |
| `statusFilter` | string | – | Only emit attorneys with this current license status |
| `fetchFullProfile` | boolean | `true` | Fetch the full Licensee Detail page per attorney |
| `maxItems` | int | `20` | Hard cap on emitted records (1–500) |

### Examples

#### Example: quick name search

```json
{
  "mode": "search",
  "freeText": "smith",
  "maxItems": 20
}
````

#### Example: exact bar number lookup

```json
{
  "mode": "byBarNumber",
  "barNumbers": ["231838", "92056"]
}
```

#### Example: advanced search — immigration attorneys in Los Angeles County

```json
{
  "mode": "advanced",
  "county": "LA",
  "practiceArea": "34",
  "maxItems": 50
}
```

#### Example: fast bulk export, active attorneys only

```json
{
  "mode": "search",
  "freeText": "garcia",
  "fetchFullProfile": false,
  "statusFilter": "Active",
  "maxItems": 500
}
```

### Use cases

- **Legal due diligence** — verify an attorney's license status and discipline history
  before engaging them
- **Compliance & KYC** — confirm counsel is in good standing before onboarding
- **Legal recruiting** — build candidate lists filtered by practice area, language, or
  location
- **Referral services** — find attorneys who speak a specific language in a given county
- **Journalism & research** — bulk-export discipline history for accountability reporting
- **Legal directories** — enrich attorney profiles with authoritative State Bar data

### FAQ

**What is the data source?**
The California State Bar's public Attorney Licensee Search
(apps.calbar.ca.gov/attorney/LicenseeSearch/QuickSearch). This actor is not affiliated
with or endorsed by the State Bar of California.

**Is a login or API key required?**
No. The State Bar's licensee directory is fully public.

**Why does `standingDescription` appear for some statuses but not others?**
It's populated from the State Bar's own published definitions, which currently cover
Active, Inactive, Not Eligible, Disbarred, Resigned, RIHC, RLAA, and RMSA. Judge,
Deceased, and RSLA have no published definition text, so the field is simply omitted
for those.

**Why is there no email field?**
The State Bar's profile pages obfuscate attorney email addresses behind decoy links to
deter scraping; there is no reliable way to recover the real address without risking
wrong data, so this actor does not attempt to extract it.

**Does `advanced` mode support searching without any criteria?**
No — at least one of name, location, specialty, language, or practice area must be set,
matching the State Bar's own Advanced Search form.

**What does `Only the first 500 results will be shown` mean?**
The State Bar's own search UI caps every query at 500 rows. Narrow your query (more
specific name, or add location/specialty filters) to see attorneys beyond the first 500.

**Why do some bar numbers in `byBarNumber` return nothing?**
A small number of historical licensee records are not published as public profiles by
the State Bar (e.g. very old or otherwise restricted records). The actor reports these
cleanly rather than guessing at their data.

**How fresh is the data?**
Every run fetches live pages directly from apps.calbar.ca.gov — there is no caching.

### Data Source / Limitations

- Names containing non-ASCII characters (accents, diacritics) are not reliably matched
  by the State Bar's own Quick Search text input; use the closest ASCII spelling instead.
- The Advanced Search form occasionally returns zero results when County and Practice
  Area are combined with certain other filters simultaneously — this is a limitation of
  the State Bar's own search backend, not this actor. Try omitting one of the two filters
  if you get unexpectedly empty results.
- Attorney email addresses are intentionally not extracted (see FAQ above).
- Self-reported practice areas and languages are exactly that — self-reported by the
  attorney and not verified by the State Bar.

# Actor input Schema

## `mode` (type: `string`):

What to search.

## `freeText` (type: `string`):

(mode=search) Free-text query - last name, first name, firm name, or an exact bar number, same as the Quick Search box on the State Bar site.

## `soundsLike` (type: `boolean`):

(mode=search) Enable phonetic sounds-like matching on the name instead of exact substring matching.

## `barNumbers` (type: `array`):

(mode=byBarNumber) One or more California State Bar license numbers to look up directly.

## `lastName` (type: `string`):

(mode=advanced) Attorney last name.

## `lastNameMatchType` (type: `string`):

(mode=advanced) How to match lastName.

## `firstName` (type: `string`):

(mode=advanced) Attorney first name.

## `firstNameMatchType` (type: `string`):

(mode=advanced) How to match firstName.

## `middleName` (type: `string`):

(mode=advanced) Attorney middle name.

## `middleNameMatchType` (type: `string`):

(mode=advanced) How to match middleName.

## `firmName` (type: `string`):

(mode=advanced) Law firm name.

## `firmNameMatchType` (type: `string`):

(mode=advanced) How to match firmName.

## `city` (type: `string`):

(mode=advanced) Attorney registered city.

## `cityMatchType` (type: `string`):

(mode=advanced) How to match city.

## `state` (type: `string`):

(mode=advanced) Attorney registered US state.

## `zipCode` (type: `string`):

(mode=advanced) Attorney registered 5-digit ZIP code.

## `district` (type: `string`):

(mode=advanced) California State Bar geographic district.

## `county` (type: `string`):

(mode=advanced) California county (or Statewide / Non-California).

## `legalSpecialty` (type: `string`):

(mode=advanced) State Bar Board-certified legal specialty.

## `languageSpoken` (type: `string`):

(mode=advanced) Additional language self-reported by the attorney or their staff.

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

(mode=advanced) Self-reported practice area. The State Bar does not verify the accuracy of self-reported practice areas.

## `statusFilter` (type: `string`):

Only emit attorneys whose current license status matches. Applied after fetching (client-side); the upstream search itself has no status filter.

## `fetchFullProfile` (type: `boolean`):

Fetch each attorney's full Licensee Detail page for address, phone, website, law school, CLA sections, self-reported practice areas, languages, and license/discipline history. Disable for faster bulk name searches that only need the summary row (name, status, bar number, city, admission date).

## `maxItems` (type: `integer`):

Hard cap on emitted attorney records.

## Actor input object example

```json
{
  "mode": "search",
  "freeText": "smith",
  "soundsLike": false,
  "barNumbers": [
    "231838"
  ],
  "lastNameMatchType": "b",
  "firstNameMatchType": "b",
  "middleNameMatchType": "b",
  "firmNameMatchType": "b",
  "cityMatchType": "b",
  "state": "",
  "district": "",
  "county": "",
  "legalSpecialty": "",
  "languageSpoken": "",
  "practiceArea": "",
  "statusFilter": "",
  "fetchFullProfile": true,
  "maxItems": 20
}
```

# Actor output Schema

## `attorneys` (type: `string`):

Dataset containing all scraped attorney licensee 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 = {
    "mode": "search",
    "freeText": "smith",
    "soundsLike": false,
    "barNumbers": [
        "231838"
    ],
    "lastNameMatchType": "b",
    "firstNameMatchType": "b",
    "middleNameMatchType": "b",
    "firmNameMatchType": "b",
    "cityMatchType": "b",
    "state": "",
    "district": "",
    "county": "",
    "legalSpecialty": "",
    "languageSpoken": "",
    "practiceArea": "",
    "statusFilter": "",
    "fetchFullProfile": true,
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("crawlerbros/ca-state-bar-attorney-search").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 = {
    "mode": "search",
    "freeText": "smith",
    "soundsLike": False,
    "barNumbers": ["231838"],
    "lastNameMatchType": "b",
    "firstNameMatchType": "b",
    "middleNameMatchType": "b",
    "firmNameMatchType": "b",
    "cityMatchType": "b",
    "state": "",
    "district": "",
    "county": "",
    "legalSpecialty": "",
    "languageSpoken": "",
    "practiceArea": "",
    "statusFilter": "",
    "fetchFullProfile": True,
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("crawlerbros/ca-state-bar-attorney-search").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 '{
  "mode": "search",
  "freeText": "smith",
  "soundsLike": false,
  "barNumbers": [
    "231838"
  ],
  "lastNameMatchType": "b",
  "firstNameMatchType": "b",
  "middleNameMatchType": "b",
  "firmNameMatchType": "b",
  "cityMatchType": "b",
  "state": "",
  "district": "",
  "county": "",
  "legalSpecialty": "",
  "languageSpoken": "",
  "practiceArea": "",
  "statusFilter": "",
  "fetchFullProfile": true,
  "maxItems": 20
}' |
apify call crawlerbros/ca-state-bar-attorney-search --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=crawlerbros/ca-state-bar-attorney-search",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "CA State Bar Attorney Search Scraper",
        "description": "Search the California State Bar's public attorney licensee directory by name, bar number, or advanced filters. Get license status, admission date, discipline history, standing, address, and self-reported practice areas.",
        "version": "1.0",
        "x-build-id": "x1o7BXYkdeJSEUMIC"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/crawlerbros~ca-state-bar-attorney-search/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-crawlerbros-ca-state-bar-attorney-search",
                "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/crawlerbros~ca-state-bar-attorney-search/runs": {
            "post": {
                "operationId": "runs-sync-crawlerbros-ca-state-bar-attorney-search",
                "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/crawlerbros~ca-state-bar-attorney-search/run-sync": {
            "post": {
                "operationId": "run-sync-crawlerbros-ca-state-bar-attorney-search",
                "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",
                "required": [
                    "mode"
                ],
                "properties": {
                    "mode": {
                        "title": "Mode",
                        "enum": [
                            "search",
                            "byBarNumber",
                            "advanced"
                        ],
                        "type": "string",
                        "description": "What to search.",
                        "default": "search"
                    },
                    "freeText": {
                        "title": "Name / firm / bar number",
                        "type": "string",
                        "description": "(mode=search) Free-text query - last name, first name, firm name, or an exact bar number, same as the Quick Search box on the State Bar site.",
                        "default": "smith"
                    },
                    "soundsLike": {
                        "title": "Sounds-like matching",
                        "type": "boolean",
                        "description": "(mode=search) Enable phonetic sounds-like matching on the name instead of exact substring matching.",
                        "default": false
                    },
                    "barNumbers": {
                        "title": "Bar numbers",
                        "type": "array",
                        "description": "(mode=byBarNumber) One or more California State Bar license numbers to look up directly.",
                        "default": [],
                        "items": {
                            "type": "string"
                        }
                    },
                    "lastName": {
                        "title": "Last name",
                        "type": "string",
                        "description": "(mode=advanced) Attorney last name."
                    },
                    "lastNameMatchType": {
                        "title": "Last name match type",
                        "enum": [
                            "b",
                            "c",
                            "e",
                            "s"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) How to match lastName.",
                        "default": "b"
                    },
                    "firstName": {
                        "title": "First name",
                        "type": "string",
                        "description": "(mode=advanced) Attorney first name."
                    },
                    "firstNameMatchType": {
                        "title": "First name match type",
                        "enum": [
                            "b",
                            "c",
                            "e",
                            "s"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) How to match firstName.",
                        "default": "b"
                    },
                    "middleName": {
                        "title": "Middle name",
                        "type": "string",
                        "description": "(mode=advanced) Attorney middle name."
                    },
                    "middleNameMatchType": {
                        "title": "Middle name match type",
                        "enum": [
                            "b",
                            "c",
                            "e",
                            "s"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) How to match middleName.",
                        "default": "b"
                    },
                    "firmName": {
                        "title": "Firm name",
                        "type": "string",
                        "description": "(mode=advanced) Law firm name."
                    },
                    "firmNameMatchType": {
                        "title": "Firm name match type",
                        "enum": [
                            "b",
                            "c",
                            "e"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) How to match firmName.",
                        "default": "b"
                    },
                    "city": {
                        "title": "City",
                        "type": "string",
                        "description": "(mode=advanced) Attorney registered city."
                    },
                    "cityMatchType": {
                        "title": "City match type",
                        "enum": [
                            "b",
                            "c",
                            "e",
                            "s"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) How to match city.",
                        "default": "b"
                    },
                    "state": {
                        "title": "State",
                        "enum": [
                            "",
                            "AL",
                            "AK",
                            "AZ",
                            "AR",
                            "CA",
                            "CO",
                            "CT",
                            "DE",
                            "DC",
                            "FL",
                            "GA",
                            "HI",
                            "ID",
                            "IL",
                            "IN",
                            "IA",
                            "KS",
                            "KY",
                            "LA",
                            "ME",
                            "MD",
                            "MA",
                            "MI",
                            "MN",
                            "MS",
                            "MO",
                            "MT",
                            "NE",
                            "NV",
                            "NH",
                            "NJ",
                            "NM",
                            "NY",
                            "NC",
                            "ND",
                            "OH",
                            "OK",
                            "OR",
                            "PA",
                            "RI",
                            "SC",
                            "SD",
                            "TN",
                            "TX",
                            "UT",
                            "VT",
                            "VA",
                            "WA",
                            "WV",
                            "WI",
                            "WY"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) Attorney registered US state.",
                        "default": ""
                    },
                    "zipCode": {
                        "title": "ZIP code",
                        "type": "string",
                        "description": "(mode=advanced) Attorney registered 5-digit ZIP code."
                    },
                    "district": {
                        "title": "State Bar district",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "0"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) California State Bar geographic district.",
                        "default": ""
                    },
                    "county": {
                        "title": "County",
                        "enum": [
                            "",
                            "**",
                            "ZZ",
                            "AL",
                            "AP",
                            "AM",
                            "BU",
                            "CA",
                            "CO",
                            "CC",
                            "DN",
                            "ED",
                            "FR",
                            "GL",
                            "HM",
                            "IM",
                            "IN",
                            "KN",
                            "KI",
                            "LK",
                            "LS",
                            "LA",
                            "MA",
                            "MR",
                            "MP",
                            "MN",
                            "MC",
                            "MD",
                            "MO",
                            "MT",
                            "NP",
                            "NV",
                            "OR",
                            "PL",
                            "PM",
                            "RV",
                            "SA",
                            "SO",
                            "SR",
                            "SD",
                            "SF",
                            "SJ",
                            "SP",
                            "SM",
                            "SB",
                            "SC",
                            "SZ",
                            "SH",
                            "SI",
                            "SK",
                            "SL",
                            "SN",
                            "ST",
                            "SU",
                            "TE",
                            "TR",
                            "TU",
                            "TL",
                            "VN",
                            "YO",
                            "YU"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) California county (or Statewide / Non-California).",
                        "default": ""
                    },
                    "legalSpecialty": {
                        "title": "Certified legal specialty",
                        "enum": [
                            "",
                            "10",
                            "08",
                            "07",
                            "101",
                            "102",
                            "103",
                            "104",
                            "01",
                            "105",
                            "106",
                            "06",
                            "04",
                            "107",
                            "09",
                            "05",
                            "111",
                            "11",
                            "109",
                            "110",
                            "112",
                            "03",
                            "02"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) State Bar Board-certified legal specialty.",
                        "default": ""
                    },
                    "languageSpoken": {
                        "title": "Language spoken",
                        "enum": [
                            "",
                            "6",
                            "50",
                            "51",
                            "49",
                            "7",
                            "8",
                            "9",
                            "52",
                            "53",
                            "54",
                            "55",
                            "48",
                            "56",
                            "10",
                            "39",
                            "57",
                            "58",
                            "59",
                            "60",
                            "61",
                            "43",
                            "62",
                            "41",
                            "63",
                            "11",
                            "64",
                            "44",
                            "12",
                            "65",
                            "13",
                            "14",
                            "15",
                            "66",
                            "16",
                            "17",
                            "18",
                            "19",
                            "45",
                            "67",
                            "68",
                            "69",
                            "20",
                            "70",
                            "21",
                            "71",
                            "72",
                            "5",
                            "73",
                            "22",
                            "74",
                            "75",
                            "76",
                            "77",
                            "2",
                            "78",
                            "79",
                            "80",
                            "81",
                            "23",
                            "82",
                            "46",
                            "83",
                            "84",
                            "85",
                            "86",
                            "87",
                            "24",
                            "25",
                            "26",
                            "27",
                            "42",
                            "28",
                            "29",
                            "30",
                            "88",
                            "31",
                            "89",
                            "90",
                            "91",
                            "92",
                            "32",
                            "1",
                            "93",
                            "47",
                            "94",
                            "3",
                            "40",
                            "33",
                            "34",
                            "35",
                            "95",
                            "96",
                            "97",
                            "36",
                            "98",
                            "37",
                            "99",
                            "4",
                            "38"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) Additional language self-reported by the attorney or their staff.",
                        "default": ""
                    },
                    "practiceArea": {
                        "title": "Self-reported practice area",
                        "enum": [
                            "",
                            "1",
                            "2",
                            "3",
                            "4",
                            "5",
                            "6",
                            "7",
                            "8",
                            "9",
                            "10",
                            "11",
                            "12",
                            "13",
                            "14",
                            "15",
                            "16",
                            "17",
                            "18",
                            "19",
                            "20",
                            "21",
                            "22",
                            "23",
                            "24",
                            "25",
                            "26",
                            "27",
                            "28",
                            "29",
                            "30",
                            "31",
                            "32",
                            "33",
                            "65",
                            "34",
                            "35",
                            "36",
                            "37",
                            "38",
                            "39",
                            "40",
                            "41",
                            "42",
                            "66",
                            "43",
                            "44",
                            "45",
                            "46",
                            "47",
                            "48",
                            "49",
                            "50",
                            "51",
                            "52",
                            "53",
                            "54",
                            "55",
                            "56",
                            "57",
                            "58",
                            "59",
                            "60",
                            "61",
                            "62",
                            "63",
                            "64"
                        ],
                        "type": "string",
                        "description": "(mode=advanced) Self-reported practice area. The State Bar does not verify the accuracy of self-reported practice areas.",
                        "default": ""
                    },
                    "statusFilter": {
                        "title": "Filter by license status",
                        "enum": [
                            "",
                            "Active",
                            "Inactive",
                            "Not Eligible",
                            "Disbarred",
                            "Resigned",
                            "Judge",
                            "Deceased",
                            "RIHC",
                            "RLAA",
                            "RMSA",
                            "RSLA"
                        ],
                        "type": "string",
                        "description": "Only emit attorneys whose current license status matches. Applied after fetching (client-side); the upstream search itself has no status filter.",
                        "default": ""
                    },
                    "fetchFullProfile": {
                        "title": "Fetch full profile",
                        "type": "boolean",
                        "description": "Fetch each attorney's full Licensee Detail page for address, phone, website, law school, CLA sections, self-reported practice areas, languages, and license/discipline history. Disable for faster bulk name searches that only need the summary row (name, status, bar number, city, admission date).",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Max items",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Hard cap on emitted attorney records.",
                        "default": 20
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
