California State Bar Attorney Scraper avatar
California State Bar Attorney Scraper

Pricing

$5.00 / 1,000 results

Go to Store
California State Bar Attorney Scraper

California State Bar Attorney Scraper

Developed by

Blue Orion

Blue Orion

Maintained by Community

Scrape attorney profiles from The State Bar of California, including name, license status, contact info, emails, law school, languages spoken, and disciplinary history. Use search keywords, and extracts up to 500 attorneys per query. Ideal for legal research, background checks, compliance workflows.

0.0 (0)

Pricing

$5.00 / 1,000 results

0

Total users

3

Monthly users

3

Runs succeeded

>99%

Last modified

a day ago

🧑‍⚖️ The State Bar of California Attorney Scraper

This Apify Actor scrapes public attorney profile data from The State Bar of California. It takes a list of search keywords (names or partial names), visits the search results, and extracts detailed information about each listed attorney — including contact info, license history, law school, languages, and more.


📥 Input Schema

The actor accepts the following input fields:

  • searchKeys (array): Required. List of names or keywords to search for attorneys.
  • maxResult (integer): Optional. Maximum number of attorneys to scrape per keyword (min: 10, max: 500).
  • similarSearch (string): Optional. "yes" to include similar-sounding names via the State Bar's "Sounds Like" feature.
{
"searchKeys": ["Abc", "Andy"],
"maxResult": 100,
"similarSearch": "yes"
}

📤 Output Structure

Each attorney result is saved as a JSON object in the Apify dataset, including:

  • Full name, license number, status, city, admission date
  • Contact info: address, phone, fax, emails, website
  • CLA sections and self-reported practice areas
  • Languages spoken (by attorney and staff)
  • Law school
  • License status and disciplinary history (with dates and actions)

Output Example

Each attorney result is saved as a JSON object in the Apify dataset:

{
"name": "Aba, Isaac",
"url": "/attorney/Licensee/Detail/319726",
"status": "Active",
"number": "319726",
"city": "Los Angeles",
"admissionDate": "December 2017",
"address": "2052 S Bundy Dr Pmb 1073, Los Angeles, CA 90025-6102",
"phone": "310-903-7377",
"fax": "Not Available",
"emails": [
"acjfj@phf.org",
"lkggns@jcrktwcn.gov",
"slpwisjy@qjrtg.gov",
"rbynoccru@engpa.com",
"mtyoh@donapa.org",
"appuqj@dqcwh.edu",
"igtctna@rfaystb.com",
"wodccafq@ftnyljt.gov",
"nwmj@ugbnwrqd.org",
"qaksa@yhwmcto.gov",
"tmfqye@jinkkl.com",
"kiqlyjqy@uic.net",
"cdwaaksre@eetn.net",
"Abayahou@usc.edu",
"irohcr@day.gov",
"wdhuttefl@uoneop.org",
"nmepqonq@jsyko.com",
"walt@fwbt.edu",
"iulio@hhoqb.net",
"eoedim@jpkl.com"
],
"website": "Not Available",
"claSections": "None",
"practiceAreas": "None reported",
"languages": {
"attorney": "None",
"staff": "None"
},
"lawSchool": "Southwestern Univ SOL; Los Angeles CA",
"licenseHistory": [
{
"date": "Present",
"licenseStatus": "Active",
"discipline": "",
"adminAction": ""
},
{
"date": "12/20/2017",
"licenseStatus": "Admitted to the State Bar of California",
"discipline": "",
"adminAction": ""
}
]
}

⚙️ How It Works

  1. Search Page Fetch
    For each keyword, the actor constructs a search URL and sends a direct HTTP request (not using browser rendering) to get the full HTML.

  2. List Parsing
    All attorney rows are parsed from the HTML (not limited by visible DOM), up to the maxResult limit.

  3. Profile Visit
    The actor visits each attorney’s detail page to scrape deeper info such as email, law school, CLA, languages, and history.

  4. Deduplication & Limits
    Scraping respects the per-keyword max and avoids re-processing duplicates.


🛡️ Respectful Use Notice

All data comes from calbar.ca.gov and is publicly available. Use this tool only for legal, ethical purposes. Avoid overloading the website.


🚀 How to Run on Apify

  1. Go to Apify Console.
  2. Add or deploy this actor.
  3. Provide your input (keywords, result limits, etc.).
  4. Run the actor and view results in the Dataset tab.

📦 Downloading Results

You can export data in:

  • JSON
  • CSV
  • Excel
  • JSONL

from the Dataset view in Apify.


🧠 Tips

  • Split your keywords if scraping many names (to avoid timeouts).
  • Enable "similarSearch": "yes" to capture spelling variations.
  • Use email arrays to reach multiple listed addresses.

🧰 Tech Stack

  • Apify SDK
  • Node.js (ESM)
  • Cheerio
  • Axios or native fetch

📬 Support & Feedback

Maintained by [BlueOrion]
Questions or suggestions? Contact us in Issues tab.