Find an attorney's cases by North Carolina (NC) State Bar number
search_cases_by_attorneyCases where an attorney is counsel of record — by bar number OR by name.
"What's on my docket?" for a lawyer or firm. Returns the case number, caption,
filing date, case type and county for every case the register lists that attorney
on. Each case_number goes straight into lookup_court_case.
EVERY ROW NOW CARRIES case_status, with no enrich needed — so do not call
lookup_court_case merely to find out whether a case is open or closed.
The returned text is FINER-GRAINED than the four filter values: alongside "Pending"
and "Disposed" you will see "Disposed - Voluntary Dismissal", "Disposed - Dismissal
on Order of the Court", "Disposed - Clerk of Superior Court" — i.e. HOW it ended, not
just that it did. So never test it with equality against the filter vocabulary
(status == "Disposed" misses most disposed rows); match on a prefix, and quote the
portal's own wording when you report it.
FAST — about 3-15 seconds. This uses the portal's own attorney-search mode, not the slow WAF-and-CAPTCHA hearing scrape, so do NOT warn the user about a long wait here.
PASS EITHER bar OR BOTH last AND first — a first name alone or a last name
alone is rejected. Prefer the bar number when you have it: it resolves to exactly
one attorney, whereas a name can match several.
WHEN A NAME MATCHES MORE THAN ONE ATTORNEY, attorney_name comes back NULL and
matched_attorneys lists everyone matched — the results are then a MERGED docket
spanning all of them. Say so and offer to narrow by bar number; do not present it
as one lawyer's caseload. When exactly one attorney matched, attorney_name is
set, and it is worth echoing so the user can confirm it resolved to who they meant.
case_status="Pending" is usually what someone means by "my cases" — without it
you get their entire history, which for a working attorney is mostly closed
matters and will hit the cap below. Old cases legitimately remain Pending, so a
2016 case in a Pending list is not necessarily an error.
THE 200-CASE CAP IS REAL AND IT BITES HERE. truncated: true means matches are
MISSING, not merely unshown — a busy defender or a large firm exceeds 200
routinely. case_status and file_date_start/file_date_end narrow SERVER-SIDE
and genuinely recover cases; county does NOT — it filters after the cap, so a
truncated county-filtered count is a lower bound, not a county total. Say the
list is incomplete rather than presenting it as the attorney's full caseload.
A DATE RANGE MAY NOT BE ENOUGH ON ITS OWN. Measured: bar 21262 restricted to
cases filed in 2024 still returned 200 truncated: true, spanning only 20 Nov –
31 Dec. Narrow to a few months and check truncated again rather than assuming
one year fixed it.
Dates: ISO YYYY-MM-DD or MM/DD/YYYY — both accepted. file_date_* is WHEN
THE CASE WAS FILED, not when a hearing is. For "what's on my calendar today",
use get_attorney_hearing_calendar — filtering by file date answers a
different question and will usually return nothing.
"OF RECORD" IS NOT "CURRENTLY REPRESENTING". This is what the register records, so withdrawn, substituted and long-closed representations still appear. Do not describe the result as someone's active caseload.
Public record — the portal offers this same search to anyone, so this is not a private view of a firm's book of business.
Read-only. North Carolina (NC) only. Informational, not legal advice.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| bar | No | ||
| last | No | ||
| first | No | ||
| limit | No | ||
| county | No | ||
| case_status | No | ||
| file_date_end | No | ||
| file_date_start | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||