How to Build a Verified Attorney List: A Practical Playbook
Building a verified attorney list from scratch is a real engineering project, not a few search queries. Most teams who try it once decide it is not the highest-value use of their week. Most teams who buy from a horizontal vendor decide the data quality is not worth the spend. The middle path is to know how the build works so you can either run it yourself with discipline or buy from a vendor who runs it correctly. This guide is the step-by-step workflow we use at Lexica, simplified.
Step 1: Define your filters before you touch data
The most common reason an attorney list underperforms is loose ICP definition. Before you query a single source, write down five filters:
Geography. State and metro at minimum, sometimes county or ZIP for hyperlocal use cases. "All U.S. attorneys" is not an ICP. "Family law attorneys in Maricopa County" is.
Practice area. The state bar uses one taxonomy. Firm websites use another. ABA uses a third. Decide which taxonomy you will normalize to before you start. We normalize to a 15-area schema internally.
Firm size. Solo, 2-5, 6-25, 26-100, 101-500, 500+. Buying authority and budget shift dramatically across these brackets.
Seniority. Associate, senior associate, of counsel, non-equity partner, equity partner. State bar data exposes admission date as a proxy. Firm websites expose role labels directly.
Recency. When was the attorney last active in their stated practice? Many "attorneys" in horizontal databases are retired or moved into business roles. Recency filtering removes the ghosts.
Step 2: Pull from the state bar (primary source)
Start with the state bar in every state your ICP covers. About 35 states publish a usable roster. Nine states publish in formats that support bulk extraction without scraping (California, Texas, New York, Illinois, Florida, Pennsylvania, Ohio, Georgia, Washington). The rest require record-by-record retrieval or a records request.
What to extract from each record: full name, bar number, admission date, current status, primary practice address, primary phone, primary email if published, law school, and disciplinary history. Capture status as the first filter. An inactive or suspended attorney is not your buyer, and you do not want them on the list at all.
Time estimate for one state, building from scratch with no prior infrastructure: 4 to 12 hours for the simple states, 1 to 3 days for the moderate-access states. Engineering time, not analyst time. See our bar verification page for how we automate this part.
Step 3: Layer firm-level data
The state bar tells you who is licensed and where they are nominally based. It does not tell you which firm they currently work at or what role they hold. Layer that information from firm websites, ALM rankings, and (for BigLaw) public press releases announcing partner moves and practice launches.
This is where most DIY builds slow down. Firm website extraction is finicky. Sites change their HTML structure. Attorneys move between firms and the old firm bio lingers in Google's cache. We maintain firm-level data through ongoing crawls so the data on our lists reflects current employment, not last year's snapshot. See our firm segmentation service.
Step 4: Validate with LinkedIn
LinkedIn is the cross-check, not the primary source. For each attorney record, search the name + firm. If the LinkedIn profile confirms the firm and role match, treat the record as confirmed. If LinkedIn shows a different current employer, the bar-listed firm is stale and the record needs to be updated or dropped.
LinkedIn coverage is uneven by firm size. AmLaw 100 attorneys have nearly 100% LinkedIn presence. Solo and small-firm attorneys often have minimal profiles or none at all. For the small-firm segment, fall back to firm website and Google search verification instead of relying on LinkedIn coverage.
Step 5: Append working contact information
State bars publish primary practice address and a primary phone. They rarely publish working email or direct dial. The append step is where most lists fail.
The cleanest pattern is to derive email patterns from the firm domain (firstname.lastname@firmdomain.com is the most common, but every firm has its own pattern) and then validate each derived email against deliverability checks. Phone direct dials can be sourced from firm pages that publish individual contact info, from publicly available filings, or from court appearance records.
For firms that publish individual contact pages, the working email and direct dial are right there. For firms that publish only a main number and a firm-level email, you derive and verify. Skipping the verification step is the single biggest mistake in DIY list building.
Step 6: Run deliverability validation
Every email on a list should pass a deliverability test before it goes into your outbound queue. SMTP-level verification catches the obvious failures (bounce, role-based catch-alls, syntax errors) but does not catch every soft fail. Pair SMTP verification with bounce-rate sampling on a small test send before you scale the full list.
Industry-acceptable bounce rates for cold outbound sit below 5%. Above 10% and you damage your sender reputation, which affects every future send. Above 20% and the email service provider may flag your account. The cost of a bad list is not the bad list. It is the deliverability damage to everything else you send.
Step 7: Normalize and deduplicate
Attorneys move firms. Names vary across sources (Robert J. Smith on the bar registry, Bob Smith on LinkedIn, R. James Smith on the firm website). Build a fuzzy-matching dedup that uses bar number when available, then falls back to name plus location plus practice area. We use a hierarchical matching tree that runs across all five filter dimensions.
This step is unglamorous. It is also where data quality is made or lost. A list with 5,000 unique records and 200 duplicates is fine. A list with 5,000 records and 2,000 duplicates is a fake 5,000-row list that produces 3,000 effective contacts and an inflated price per row.
Step 8: Format for export
Ship as a clean CSV with documented column headers. Common fields: first name, last name, full name, firm, firm size bucket, primary practice area, secondary practice areas (if available), city, state, ZIP, bar number, bar status, admission year, email, email verification status, direct phone, firm phone, LinkedIn URL, source notes. The source notes column is the audit trail.
Common mistakes to avoid
Three failure modes show up in nearly every DIY build.
Skipping bar status verification. The bar registry is the only source that confirms whether the attorney is currently licensed. Skipping it means your list includes retired and lapsed attorneys.
Trusting a single source. ZoomInfo, Apollo, Martindale, and even the state bar each have systematic gaps. The cross-source verification step is what catches the gaps.
Pricing on volume rather than on usable records. A list of 50,000 with 60% deliverability produces 30,000 usable contacts. A list of 8,000 with 95% deliverability produces 7,600 usable contacts and ten times the conversion rate.
When to build vs buy
Build it yourself when you need to run this workflow continuously, when you have engineering capacity, and when you have a privacy and compliance review process to back it up. Buy from a vendor when you need a list once per quarter, when your time is better spent on selling, or when you do not want to maintain the state-by-state infrastructure that bar data extraction requires.
We run this workflow on every order. Tell us the criteria and the timeline, and we ship a verified list in three to five business days.
Cost vs time tradeoff
For most teams the real question is not whether to build or buy. It is what the build costs in opportunity cost. A senior data engineer in legal-tech makes $180K to $250K fully loaded. A two-week list build by that engineer costs $7,000 to $10,000 in fully loaded time, plus the cost of every tool the engineer touches. A vendor-built list at the same scope often costs less and ships in days, not weeks.
The build-it-yourself math works when you need the workflow as an ongoing capability. The buy-it math works when the list is a one-time input to a campaign, a sample for a new motion, or a proof of concept before larger investment. Most teams should start with buy and graduate to build only after they have proven the segment converts.
The compliance layer most teams forget
Cold outbound to attorneys is legal in most contexts, but the rules vary by state and channel. CAN-SPAM applies to email. The TCPA applies to SMS and automated calls. State attorney advertising rules apply when you are an attorney sending to other attorneys. Bar association ethics opinions sometimes apply to certain content categories.
Document your compliance posture before you send. Know which states your sends are touching. Know your opt-out workflow. Know your record-retention policy. None of this is exotic, but it is the difference between a clean program and a complaint letter from a bar association. Describe what you need and we will scope a list.
Frequently Asked Questions
What is the canonical source for attorney data?
The state bar that licensed the attorney. Every licensed U.S. attorney is registered with at least one state bar. The bar is the only entity that can confirm current license status, bar number, and admission date.
How long does it take to build a list from scratch?
For a single state at moderate scope, expect 1 to 5 business days if you have engineering infrastructure already. From a true cold start, expect 2 to 6 weeks for a multi-state build because of state bar extraction work and validation.
Can I just buy a list from ZoomInfo and skip this workflow?
Horizontal platforms work for AmLaw 200 but undercover the rest of the market. Below AmLaw 200, coverage drops below 40% and bar status is not verified. For broad attorney prospecting, you need either a dedicated legal data source or the workflow described in this guide.
What deliverability rate should I expect on a clean list?
A properly built and verified list should run 95% or higher on initial deliverability. Industry-acceptable bounce rates for cold outbound sit below 5%. Anything above 10% damages your sender reputation.
How often do I need to refresh the list?
Attorney data decays at about 1-2% per month from firm moves and bar status changes. For one-time campaigns, fresh data is fine. For ongoing outbound, plan a quarterly refresh at minimum.
Do I need ABA membership data on my list?
Only if your use case depends on self-declared practice focus through ABA Section membership. For most prospecting motions, state bar data plus firm-level layering is enough.
Want us to build the list for you?
We run this entire workflow for clients on demand. Tell us your criteria and we will ship a verified CSV in three to five business days.
Bar verified. 3-5 day delivery. No annual contracts.