California State Bar Attorney Scraper avatar

California State Bar Attorney Scraper

Pricing

from $15.00 / 1,000 attorneys

Go to Apify Store
California State Bar Attorney Scraper

California State Bar Attorney Scraper

Scrape California State Bar attorney profiles: name, license status, firm, address, phone, website, law school, admission date, practice areas, specialties, languages and full discipline history. Search by county, city, practice area, language or license number.

Pricing

from $15.00 / 1,000 attorneys

Rating

0.0

(0)

Developer

Norm Data

Norm Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Categories

Share

Norm Data

⚖️ California State Bar Attorney Scraper

Extract attorney records from the State Bar of California licensee search, the official register of every lawyer licensed in California. Search by county, city, state, ZIP, practice area, certified specialty, language, name or firm, or scan license numbers to cover every status. Each attorney comes with the license status, firm, full address, phone, fax, website, law school, admission date, practice areas, certified specialties, languages and the complete license and discipline history with case numbers.

Each attorney comes with:

  • Contact: firm, street, city, state, ZIP, phone, fax and website.
  • License: license number, status (active, inactive, disbarred, resigned, not eligible), status date, admission date and years licensed.
  • Practice: self-reported practice areas, State Bar certified specialties, California Lawyers Association sections and languages spoken by the attorney and by their staff.
  • Background: law school and any other name the attorney has used.
  • Discipline: consumer alerts, number of discipline cases, and every history entry with date, status, discipline, case number and administrative action.

🎯 Who uses it?

Build lists of active family, immigration or personal injury attorneys in any California county, with phones, addresses and websites ready for outreach.

Find attorneys by practice area, certified specialty, language, law school and year of admission.

🛡️ Compliance, insurance and background checks

Verify that a lawyer is licensed and in good standing, and pull the full discipline history with State Bar Court case numbers.

📊 Researchers and journalists

Study the California legal market: where attorneys practice, which schools they come from, how discipline is spread across the bar.

✨ What it does

  • Search like the State Bar's advanced search: counties (all 58 plus non-California), cities, US states, ZIP codes, 66 practice areas, 22 certified specialties, 99 languages, last, first and middle name (begins with, exact, contains or sounds like) and firm name. Lists match ANY of their values.
  • No 500 result cap: the State Bar site shows at most 500 results per search. The scraper splits big searches by name automatically, so you get every match, even every active attorney in Los Angeles.
  • Every status with the license number range: the State Bar search only lists active attorneys. Scan a range of license numbers to get inactive, disbarred, resigned and not eligible attorneys too.
  • Result filters: license status, admission year range, law school, discipline record (with or without), phone only, website only, certified specialists only.
  • Or paste profile links or license numbers. With links, the filters are ignored.
  • One row per attorney, even when several searches find the same person.

🏆 Why this scraper

  • The official source. Data comes straight from the State Bar of California, the body that licenses and disciplines attorneys.
  • Full profiles in every row. Each attorney's profile page is read, so phone, fax, website, law school, specialties, languages and history are always included at no extra cost.
  • Complete discipline history. Every entry with date, status, discipline, State Bar Court case number and administrative action, as a clean list, plus a disciplineCases count and a hasDiscipline yes/no field.
  • Clean data. Address split into firm, street, city, state and ZIP; dates as YYYY-MM-DD; first, middle and last name separated; websites as full links.
  • Fast and polite. Around 1,100 to 1,300 attorneys a minute, at a pace the State Bar site handles easily, slowing down by itself if the site asks.
  • No proxy needed.

📦 What data you get

FieldDescription
name, firstName, middleName, lastNameFull name and its parts.
alsoKnownAsAnother name the attorney has used (when listed).
licenseNumberState Bar license number.
statusActive, Inactive, Not Eligible to Practice Law, Disbarred, Resigned and a few rarer ones.
consumerAlertThe State Bar's consumer alert text (for example for disbarred attorneys).
firm, street, city, state, zipCodeAddress of record, split.
addressAddress of record as shown.
phone, faxPhone and fax.
lawSchoolLaw school and its location.
yearsLicensedFull years since admission to the California bar.
disciplineCasesNumber of discipline cases in the history.
certifiedSpecialist, hasDiscipline, claMemberCertified legal specialist, has a discipline record, California Lawyers Association member.
url, websiteState Bar profile and the attorney's website.
certifiedSpecialtiesState Bar certified specialties, e.g. Family Law (State Bar of California).
practiceAreasSelf-reported practice areas.
claSectionsCalifornia Lawyers Association sections.
languages, staffLanguagesLanguages spoken by the attorney and by their staff.
historyEvery license and discipline entry: date, licenseStatus, discipline, caseNumber, administrativeAction.
admissionDate, statusSinceAdmitted to the California bar, and since when the current status applies.
scrapedAtWhen the row was saved.
errorOnly when a profile could not be read.

Example row (trimmed)

{
"name": "Laura Elizabeth Alterman",
"firstName": "Laura",
"middleName": "Elizabeth",
"lastName": "Alterman",
"alsoKnownAs": "Laura Elizabeth Vocke",
"licenseNumber": 274556,
"status": "Active",
"firm": "DeLacey, Riebel & Shindell, LLP",
"street": "180 Montgomery St, Ste 1900",
"city": "San Francisco",
"state": "CA",
"zipCode": "94104-4278",
"phone": "415-528-7000",
"fax": "415-528-7001",
"lawSchool": "U of San Francisco SOL; San Francisco CA",
"yearsLicensed": 15,
"disciplineCases": 0,
"certifiedSpecialist": true,
"hasDiscipline": false,
"claMember": true,
"url": "https://apps.calbar.ca.gov/attorney/Licensee/Detail/274556",
"website": "https://www.drsfamilylaw.com/our-attorneys/laura-e-alterman",
"certifiedSpecialties": ["Family Law (State Bar of California)"],
"practiceAreas": ["Family Law"],
"claSections": ["Family Law"],
"history": [{ "date": "2010-12-09", "licenseStatus": null, "discipline": null, "caseNumber": null, "administrativeAction": "Admitted to the State Bar of California" }],
"admissionDate": "2010-12-09"
}

💡 Use cases

👪 Every certified family law specialist in San Francisco

{ "counties": ["SF"], "specialties": ["04"], "maxItems": null }

🗣️ Spanish speaking immigration attorneys in Los Angeles County with a phone

{ "counties": ["LA"], "practiceAreas": ["34"], "languagesSpoken": ["1"], "withPhoneOnly": true, "maxItems": null }

🎓 Attorneys admitted 2015 to 2020 in Fresno

{ "cities": ["Fresno"], "admittedFrom": 2015, "admittedTo": 2020, "maxItems": null }

🚨 Disbarred attorneys among license numbers 100,000 to 150,000

{ "licenseNumberFrom": 100000, "licenseNumberTo": 150000, "statuses": ["disbarred"], "maxItems": null }

🆕 Newly licensed attorneys (every license since 365,000)

{ "licenseNumberFrom": 365000, "maxItems": null }

🔎 Check specific attorneys

{ "licenses": ["252110", "https://apps.calbar.ca.gov/attorney/Licensee/Detail/102694"] }

⚙️ How the input is organised

SectionWhat it's for
Maximum resultsAlways first: caps the whole run (empty means no limit).
Search filtersCounties, cities, states, ZIP codes, practice areas, specialties, languages, names and firm. Active attorneys only.
Result filtersStatus, admission years, law school, discipline, phone, website, certified specialists.
Or scan license numbersEvery attorney in a license number range, any status. The search filters are not used; the result filters are.
Or scrape linksProfile links or license numbers. With links, the filters are ignored.
ProxyOptional.

Links and filters are not mixed: with links, the search fields and filters are ignored and the log says so.

💰 Pricing

Pay-per-event: a one-time 0.003 when the run starts, plus a price per attorney saved:

Charged forFreeBronzeSilverGold+
Attorney: one full State Bar profile with status, contact details, practice areas, specialties, languages and discipline history0.0210.0190.0170.015

New Apify accounts start with $5 in free credit. The Apify Free plan is limited to 10 results per run.

🚀 Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the California State Bar Attorney Scraper.
  3. Fill in the input (or keep the prefilled example), set the maximum number of results, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python, and schedule it with Apify's built-in Scheduler.

🤖 Use with AI agents (MCP)

Give an AI agent live California attorney data through the Model Context Protocol:

claude mcp add --transport http apify "https://mcp.apify.com?tools=normdata/calbar-scraper"

Then prompt it in plain language, for example "list the certified family law specialists in Orange County with their phones and websites".

🔧 Troubleshooting

I only get active attorneys. The State Bar search lists active attorneys only. Use the license number range (with the status filter if you like) to get inactive, disbarred, resigned and not eligible attorneys.

My status filter stopped the run. A status other than active needs the license number range, for the reason above. The log explains it.

Some license numbers are missing from a range. The State Bar shows no public profile for deceased attorneys and some others, and not every number was issued. Those numbers are skipped.

The county filter did nothing in a range scan. Profiles do not show the county, so the search filters are not used with a license number range. The log says which were skipped. The result filters still apply.

Some attorneys found by name show a different name. The State Bar name search also matches former names (for example a maiden name). The row shows the attorney's current name, as on the profile.

Runs over a whole county take a while. Every attorney's profile is read (that is where phones, history and specialties are). Expect around 1,100 to 1,300 attorneys a minute (1,000 in under a minute); for runs of tens of thousands raise the run timeout.

❓ FAQ

QuestionAnswer
Do I need a State Bar account?No. Only the public attorney search is read.
Are emails included?No. The State Bar protects attorney emails against automated collection, so they are not extracted. Rows have the phone, fax, address and website.
How fresh is the data?Live: every run reads the current State Bar records.
Is the practice area data official?Practice areas and languages are self-reported by attorneys. Certified specialties, status, admission and discipline are State Bar records.
Does it need a proxy?No. There is an optional proxy setting if the site ever slows down your runs.

🛡️ Limits & responsible use

This Actor reads only public pages of the State Bar of California attorney search. It never signs in, keeps a polite pace, respects robots.txt and does not collect the email addresses the State Bar protects. Use the data in line with the State Bar's terms and the laws on contacting people (for example the TCPA and CAN-SPAM in the US, and the CCPA in California). Discipline records are public, but always check the State Bar profile before relying on them.

📧 Contact

Need a scraper for a different site, or found something wrong with this one? norm.data.scrapers@gmail.com

🧪 Local development

bun install
bun run typecheck
bun test/qa.mjs
apify run

Local results are stored in storage/datasets/default.