Research · last researched September 2026

Where US licence data comes from: a state-by-state map

Which states publish healthcare licensee data, in what form, who charges for it, who blocks automated access, and the data-quality traps inside the files. All 50 states and DC, with URLs, platforms and prices.

This page is about what the states publish, for anyone who needs it. It covers states VeriflowAPI does not verify. For what we verify today, see the coverage page. Facts were checked on 7 September 2026 with ordinary HTTP requests; nothing behind a CAPTCHA or WAF was probed further, and anything read from a search snippet or an archive rather than the live site is labelled inferred or unverified.

The three ways a state publishes licence data

Every US licensing board holds the same core record: a person, a licence number, a type, a status, an issue date, an expiry date, and usually some indicator of discipline. How that record reaches the public falls into three shapes, and the shape decides how fresh and how reliable a downstream verification can be.

1. A free bulk file

The best case is a whole-database export on a schedule. Delaware puts its entire Division of Professional Regulation database on Socrata (data.delaware.gov, dataset pjnv-eaih): 353,352 rows, every profession, refreshed each morning. Illinois, Washington, Colorado and Connecticut do the same on their own Socrata portals. Vermont does it for physicians only (25,794 rows on vtmbl-reporting.data.socrata.com). A federated catalogue search across the 23 least-requested states found licensee datasets on exactly two Socrata domains, Delaware's and Vermont's; Nevada, West Virginia, Kansas, South Dakota, Wyoming, North Dakota, Arkansas, Oklahoma, Alaska and DC have no Socrata portal at all.

Bulk also arrives in less tidy containers. Maryland's Board of Physicians publishes CSVs on the 1st of each month with seven preamble lines before the header. Louisiana's medical board publishes a 1,265-page PDF every month. New Hampshire publishes a 13 MB .xlsx whose filename carries its as-of date. New Jersey's roster is a pipe-delimited text file generated on demand behind a confirmation screen that charges $0.00. Wyoming's small boards publish Google Sheets. Each of these is a real, free, complete file, and each needs its own parser.

A bulk file makes verification fast and lets you see the whole population, but it is only as fresh as the state's publication schedule, which ranges from every morning (Delaware) to roughly quarterly with an eight-month gap observed (New Hampshire). A mirror must carry the file's as-of date, or a licence revoked after the last export reads as active.

2. A live lookup portal

Most states publish no file and offer a search form instead. What the form runs on matters more than what it looks like: an ASP.NET WebForms application (Texas, Oregon's medical board, Maine), an Accela portal (Michigan), a Salesforce community (Ohio, Missouri, DC, New Mexico), a MyLicense/Versa instance (Rhode Island, Kansas, Nebraska), or a JavaScript search application (Pennsylvania, New York, Massachusetts physicians, Louisiana psychologists). A live lookup is as fresh as the board's own database, often same-day, but every check is a round trip to a server you do not control, the result may be capped or prefix-matched, and a board can turn on bot defence overnight without notice.

3. Nothing usable

The third shape is a search form behind an interactive CAPTCHA or a web application firewall, with either no bulk product or one that arrives by post. Arizona's every board sits behind Cloudflare, an AWS WAF CAPTCHA or an Azure gateway 403, and the one purchasable file is a CD-ROM. South Carolina has CAPTCHA-gated all 46 of its boards continuously for more than a decade. Georgia's Secretary of State roster is, by the state's own description, a $3,000 CD paid by cheque. For a verification product that does not solve CAPTCHAs or evade firewalls, these states are not slow; they are unavailable, and the only honest routes are a public-records request, a data agreement, or a sanctioned API key from the vendor.

The platform effect: the vendor decides, not the profession

An easy assumption is that physician data is open because medical boards are large and well funded, and behavioural-health data is closed because counselling boards are small. The evidence does not follow profession lines. It follows which software vendor each board consolidated onto, which is a procurement accident.

Oregon and Mississippi are exact inverses. In Oregon the medical board runs an in-house ASP.NET lookup that is open, returns board actions with linked order PDFs, and describes itself as a primary source per Joint Commission and NCQA standards; the six psychology, counselling, social work, PT, OT and SLP boards all moved to Thentia Cloud, and every one of their tenants returns an AWS WAF Human Verification page. In Mississippi the medical board is the one with reCAPTCHA v2 on its search, while the psychology, counselling, social work and MFT, PT, and health department OT/SLP registers all run on in-house or state-IT software and are wide open, updated daily. South Carolina blocks both equally with one shared control.

What each platform typically means, from the states where it was confirmed:

Socrata open data

Free, daily, whole-database CSV or JSON with no login. Delaware, Illinois, Washington, Colorado, Connecticut, Vermont physicians.

Accela

A hosted citizen-portal product with a search form and a detail page per licence. Michigan. Montana uses Accela for applications but moved its public lookup behind an F5 firewall.

Salesforce communities

Salesforce-hosted licensing communities: Ohio, DC, New Mexico and Missouri. Georgia's GOALS is the same family with reCAPTCHA in front.

MyLicense / Versa

Hosted WebForms with a consistent layout (t_web_lookup__*) across instances. Rhode Island, Kansas BSRB, New Jersey (with a free bulk roster). Maryland OT and Indiana run the same product with a CAPTCHA or Cloudflare in front, so it is per-tenant.

Thentia Cloud

A clean public REST API on paper, but an AWS WAF CAPTCHA on every tenant found: Oregon (six boards, confirmed from the boards' own sites), Nevada, Oklahoma behavioural health, and Arizona (tenant names inferred). Treat as blocked until a sanctioned key exists.

Shared reCAPTCHA search controls

One CAPTCHA widget wired into a control every board reuses: South Carolina (46 boards, one site key), Georgia, the Mississippi medical board, most of North Carolina.

One methodological trap is worth stating because it produced a wrong conclusion once. Thentia's WAF answers any subdomain of portalus.thentiacloud.net with the byte-identical Human Verification page, including a made-up control name that does not exist. Finding that <state>.portalus.thentiacloud.net is WAF-blocked therefore proves nothing about whether the state uses Thentia. Tenancy has to be confirmed from the board's own site linking to the tenant, which is how the Oregon finding stands and why a Thentia hit for South Carolina turned out to be a false positive (its real lookup is an in-house application).

State by state: physicians, behavioural health, access

The behavioural-health column covers psychology, clinical social work, professional counselling, marriage and family therapy, and, where the state groups them the same way, physical therapy, occupational therapy and speech-language pathology. States marked verified by us are the fourteen VeriflowAPI verifies today; their rows describe the same public source we use, which is also simply what the state publishes.

Free bulk a complete file at no cost · Live lookup a search portal, no bulk file · Paid the usable product costs money · Blocked CAPTCHA or WAF on the only route · Unverified could not be reached or read on 7 Sep 2026
StatePhysicians sourceBehavioural health / therapy source AccessNotes
Alabamaverified by usBoard of Medical Examiners roster of active licences (dashboard.albme.gov, an ASP.NET roster postback). Free.Not researched.Free bulkThe roster lists currently active licences only, so it confirms present standing and cannot show a lapsed or revoked licence; absence is not a negative finding.
AlaskaDCCED Division of Corporations, Business and Professional Licensing search. Every path returns 403 from DataDome, with the cookie scoped to all of alaska.gov.Same agency, same block.Blockedgis.data.alaska.gov is open but carries only business licences, no professional-licence dataset. No Socrata portal.
ArizonaArizona Medical Board: Cloudflare managed challenge on azmd.gov, an Azure Application Gateway 403 plus a robots.txt Disallow: / on the GL Suite verification host. The osteopathic board is on Thentia Cloud behind an AWS WAF CAPTCHA.Board of Behavioral Health Examiners, Psychology, PT and OT boards: Cloudflare challenge on every board site and an AWS WAF CAPTCHA on every Thentia tenant (tenant names inferred from search results, since no board site could be read). SLP sits with the Dept of Health Services, also behind Cloudflare.BlockedNo open-data portal (data.az.gov does not resolve). The medical board's own pages, which could not be read directly, describe a physician and PA database sold on CD-ROM for $100 with unpublished columns. Three bot-defence products across three hosting stacks.
ArkansasArkansas State Medical Board lookup: name or licence-number search only, also covers OT.One shared portal covers psychology, counselling and MFT, and SLP as well. Social work and PT sit behind portal.arkansas.gov and were not verified.Live lookupNo bulk file, no Socrata domain. Three to four separate systems for eight professions.
Californiaverified by usDepartment of Consumer Affairs public licensee files for the Medical Board and Osteopathic Medical Board, refreshed the 1st of each month, fetched through a public Box token minted at dca.ca.gov. The DCA iServices JSON API needs a manually approved key; the search site search.dca.ca.gov is WAF-blocked.Board of Psychology and Board of Behavioral Sciences (LCSW, LMFT, LPCC) files in the same monthly release, plus PT and OT boards. The Speech-Language Pathology board's file is published empty.Free bulkThe six agency files are tab-delimited despite their spreadsheet extension. Status vocabulary is Current, Delinquent and Current Inactive. No disciplinary history in the files; that is only in the API.
Coloradoverified by usDepartment of Regulatory Agencies (DORA) professional and occupational licence dataset on data.colorado.gov (Socrata), refreshed daily.Same dataset: psychology, clinical social work, professional counselling, MFT, PT, OT, SLP.Free bulkProfession is encoded as a licence-type prefix rather than a readable name, so a prefix-to-profession map is needed before the file is useful.
Connecticutverified by usDepartment of Consumer Protection licence and credential dataset on data.ct.gov (Socrata), refreshed daily, health professions alongside every other regulated occupation.Same dataset.Free bulkOne combined name field rather than first and last, and credential numbers are reused across record types, so rows must be split and deduplicated to one per credential.
Delawareverified by usDivision of Professional Regulation dataset on data.delaware.gov (Socrata, pjnv-eaih): 353,352 rows, all professions in one file, refreshed each morning. Free.Same file: Psychology, Social Work Examiners, Mental Health, PT, OT, Speech and Hearing.Free bulkThe file's own disciplinary_action column is the literal N on every row statewide, revoked licences included. The separate register (dz6p-akeq) joins on licence number and is the truth. No NPI, no date of birth.
District of ColumbiaDC Health HRLA verification portal, Salesforce-hosted.Same portal: all eight professions including audiology and SLP.Live lookupVerified negative on bulk: the full Open Data DC catalogue (1,885 datasets) has no health-professional licensee dataset, only business, DMV, alcohol and cannabis. No Socrata domain.
Floridaverified by usDepartment of Health MQA licensure data download (data-download.mqa.flhealthsource.gov), a full file of roughly 1.5 million licensees across 180-plus professions, behind an account sign-in.Same file.Free bulkCarries dedicated out-of-state telehealth registration categories as their own licence types.
GeorgiaComposite Medical Board: live lookup is reCAPTCHA v2. The physicians (MD and DO) data file costs $500 per snapshot, ordered on a form, emailed, no refresh cadence, and carries Status, Public Board Action and Date of Action columns.Six boards under the Secretary of State's GOALS portal (Salesforce Experience Cloud) with reCAPTCHA v3 and a v2 fallback. The only bulk product described is a $3,000 roster mailed on CD and paid by cheque (read from search snippets; sos.ga.gov could not be fetched).Paid / BlockedFree and current: monthly Public Board Actions PDFs from 2005 to the present, a mix of text and scanned pages. The data-file licence forbids distribution for the purpose of resale. A free third-party mirror exists but is frozen at a 2019 extract.
HawaiiDCCA Professional and Vocational Licensing search: 403 with a Cloudflare interstitial on the search path.Same consolidated agency, same challenge.BlockedBulk availability unknown because the pages that would describe it sit behind the same challenge.
IdahoDivision of Occupational and Professional Licenses eDOPL portal on FAST Enterprises: public tiles for individual search, a bulk list search and a discipline search. The search could not be exercised outside a browser in testing, a protocol gap rather than a block.Same portal and the same 48-board dropdown.Live lookup (unproven)The app config declares a reCAPTCHA type without rendering one on the public search, so the posture could change. Whether the bulk-list tile exports a file is unverified. Eleven real status strings including Canceled, Not Granted and Unlicensed.
Illinoisverified by usIDFPR licensee database on data.illinois.gov (Socrata, pzzh-kp68), roughly 4.2 million records, refreshed daily. IDFPR is recognised by the Joint Commission and NCQA as an approved primary source.Same dataset. A single social-work category rather than a separate clinical designation.Free bulkThe status TERMINATED VALID REASON means an ended licence; any substring test that treats the word valid as active will misreport it (1,642 licences in one measurement).
IndianaProfessional Licensing Agency on MyLicense (mylicense.in.gov): 403 from Cloudflare. Bulk download is paid: $150 for the first record and $10 per additional 1,000.Same agency, same block and the same paid file.Paid / BlockedThe paid file's documented fields are name, licence number, address, issue date, expiration date and status.
IowaBoard of Medicine on an AMANDA (Granicus) single-page application. The public licence-query route was not located in the bundles.Bureau of Professional Licensure on a second AMANDA portal for psychology, social work, counselling, PT, OT and SLP.UnverifiedThe agency consolidated; the verification systems did not. At least six platforms across the health boards. No bulk file found.
KansasBoard of Healing Arts (MD, DO, PT, OT): a plain lookup form that returns result rows.Behavioral Sciences Regulatory Board on a MyLicense/Versa portal: psychology, social work, LPC, LMFT.Live lookupThe statewide portal prolicenseverify.ks.gov has a JSON search with a CSV flag, but it is reCAPTCHA-gated. SLP sits with the health department, unverified. No bulk file.
KentuckyBoard of Medical Licensure: the verification app returned a 500 at the path tried, and the board's own page describes purchasing a verification. Unverified.Social work has a working lookup; the same URL shape returned 404 for six other boards, so each must be found individually.Live lookup (partial)Separate board per profession, several applications, nothing blocked. No bulk file, no Socrata domain.
LouisianaState Board of Medical Examiners publishes a free monthly Official List of Active Licensees as a 30.9 MB, 1,265-page PDF with a real text layer: 50,600 records, physicians, compact physicians, PAs, OT and OTAs. The live portal is invisible reCAPTCHA v2.Psychologists: a search interface that returns disciplinary-action and board-order flags. Social work: a plain HTML form whose robots.txt is Disallow: /. LPC/LMFT, PT and SLP boards: 403 from an AWS load balancer on every path.Free bulk / Live / BlockedThe PDF has no status column; it is active-only. Extracting it with pdftotext in layout mode inserts spaces mid-word and silently corrupts names; raw mode does not. Five boards run on Cicero Licensing. No open-data portal.
MaineALMS Online, one query application shared by the Office of Professional and Occupational Regulation and the medical and osteopathic boards.Same form: the regulator dropdown includes psychologists, social workers, counselling professionals, PT, OT and speech, audiology and hearing.Free bulk / LiveThe state's own help page documents downloading a search result to a comma-delimited file, so a per-regulator export is a free bulk mirror.
MarylandBoard of Physicians publishes free CSVs on the 1st of each month (doctor_list_revised.csv, allied_health_list.csv, inactive and emeritus rosters). The live profile carries orders, pending charges and malpractice, under a disclaimer that commercial use is not appropriate.Five Dept of Health boards on mdbnc.health.maryland.gov (two on the OARS platform, three on legacy ASP.NET), each stating it is a primary source updated daily. Occupational Therapy is on MyLicense and answers Please solve the CAPTCHA.Free bulk / LiveThe physician CSV holds only Active and Probation rows (48,632 and 56), one row per practice area, and was a month stale on the day it was checked. No health-practitioner roster on opendata.maryland.gov.
MassachusettsBoard of Registration in Medicine: an open physician-profile service returning NPI, four categories of disciplinary action, and malpractice history.Dept of Public Health boards on a MyLicense portal. The host refused TCP connections from two independent networks, so it is unverified; the site's own indexed help text describes a free data-file download of search results.Live lookup / UnverifiedThe best physician source found in any state and the only one publishing NPI. Surname matching is by prefix and results cap at 5,000 rows, so always send a first name. mass.gov itself is Akamai-403 to automated clients.
Michiganverified by usLARA's MiPLUS portal, Accela-hosted: a live lookup with a detail page per licence. No bulk file exists.Same portal: psychology, social work, counselling, MFT, PT, OT, SLP.Live lookupThe results grid stops at 50 rows with no pager, sorted by licence type, so a common surname hides rows. Active - In Late Renewal means the expiry has passed. No NPI. www.michigan.gov returns 403 to datacenter addresses.
MinnesotaBoard of Medical Practice redirects to a Radware Bot Manager CAPTCHA.Behavioral Health and Therapy boards: the same Radware CAPTCHA. The Dept of Health occupations lookup returns 403.BlockedFragmented and protected: a separate board per profession, all behind bot defence. No bulk file found.
MississippiState Board of Medical Licensure: reCAPTCHA v2 on the free search (a postback answered You did not pass CAPTCHA validation). A $300 roster CSV of current licensees with no status column, and a $500-per-year profile licence that prohibits use in any web application; both prohibit resale.Psychology, LPC and PT boards on classic ASP; Social Work and MFT, and the Dept of Health licensure for OT and SLP, on the state's LARS WebForms platform. All five open, updated daily.Live lookup / BlockedThe exact inverse of Oregon. The psychology register publishes no status field at all. OT/SLP rows encode the profession only in the licence-number prefix and use 12/31/9999 as a never-expires sentinel. A Public Records Act request is the resale-clause-free route.
MissouriDivision of Professional Registration's MOPRO portal on Salesforce Experience Cloud , one search across 38 boards. It is a JavaScript application whose search calls could not be characterised without a browser session.Same portal.UnverifiedreCAPTCHA v3 is loaded on every page; whether the search enforces it is unknown. A license-downloads page exists but renders nothing without JavaScript. The pre-2025 free listings at pr.mo.gov are gone (404).
MontanaDept of Labor and Industry, consolidated: an Accela shell for applications, and a public lookup on ebizws.mt.gov that returns an F5 Request Rejected page on every path.Same portal, same block.BlockedMontana's own pages say a free licensee list by licence type can be downloaded from the lookup. It exists; the WAF is in front of it.
NebraskaDHHS Licensure Unit, consolidated, on MyLicense/Versa (the renewal host answers). The public lookup host was unreachable from the research network.Same system.Unverified / PaidPractitioner lists are sold through the state eGov list service; price unverified.
NevadaBoard of Medical Examiners: an F5 Shape JavaScript challenge on the verify page, and a Thentia Cloud tenant behind an AWS WAF.PT board on Thentia (AWS WAF). MFT and counsellor board on Certemy (unverified). Social work on classic ASP, unreachable. Psychology points to the PSYPACT registry.BlockedSeparate board per profession, mid-migration onto two vendors that both front with bot defence. The PT board sells a licensee mailing list, price not stated.
New HampshireOffice of Professional Licensure and Certification publishes one free .xlsx of every licensee: 198,312 rows, 9 columns, no registration, no fee, no licence agreement. Every nh.gov host returned an Akamai 403 to a non-browser client, so the file was read from an archive copy.Same file: Mental Health, Psychology and Allied Health umbrellas. The live portal is MyLicense behind a JavaScript proof-of-work challenge that sniffs for headless clients.Free bulk (unreachable) / BlockedThe file holds current licences only: 97.8% Active, zero Expired, zero Revoked, one Suspended. Observed refresh dates: Feb 2025, May 2025, Dec 2025, Aug 2026. The URL changes on every refresh. Discipline is published separately per board.
New Jerseyverified by usDivision of Consumer Affairs bulk roster on MyLicense (newjersey.mylicense.com, Verification_Bulk): pipe-delimited, one download per profession, confirmed on a charge screen that reads $0.00. Around 342,000 rows across eight professions.Same roster: Psychology, Social Work Examiners, Marriage and Family Therapy (which also holds professional counselors), PT, OT, Audiology (which holds SLP).Free bulk43 status values. No discipline column; the Board Action flag exists only on the live detail page. Literal pipe characters inside address fields shift a few rows. Roughly one row in seven is an application with no licence number. Contains licensee email.
New MexicoNM Medical Board community on a shared Salesforce tenant (path inferred, not verified).Regulation and Licensing Dept boards on the same tenant; the public search page responds.Live lookupThe old GL Suite host is dead. No free bulk found; formal verifications go through a paid third party (inferred).
New Yorkverified by usOffice of the Professions online verification, search-only, no bulk file.Same service: psychology, social work, mental health counselling, MFT, PT, OT, SLP, with enforcement actions for the non-physician professions.Live lookupA New York licence does not expire; the triennial registration does. Physician discipline sits with the Dept of Health's Office of Professional Medical Conduct. Common surnames time out.
North CarolinaMedical Board: Cloudflare Turnstile above the search button. A $150 monthly Excel roster with unpublished columns and a no-resale clause, and a DataLiNC monitoring subscription with no published price.Psychology: reCAPTCHA enforced server-side on a JSON API. Social work: image CAPTCHA (iGov). Counselors: Turnstile. MFT: reCAPTCHA v2 (LearningBuilder). PT: Cloudflare block. OT: open Telerik grid. SLP: open, same vendor product as the medical board without the Turnstile.Blocked / Live (OT, SLP)Eight boards on five platforms. The OT grid has no status column, only Good standing, even on a licence expired in 2012. PT compact privileges are not in the PT board's data.
North DakotaNothing verified: every board host resolved to a research-sandbox sinkhole address.Same.UnverifiedFrom search results only: one small board per profession sharing an identical classic-ASP verify layout, which suggests one vendor. No evidence of any WAF, only of a network path that could not get out.
Ohioverified by useLicense Ohio, a Salesforce-hosted live lookup. An official DataOhio daily CSV of all boards exists behind an OH|ID access request.Same system: Psychology; Counselor, Social Worker and MFT Board; OT/PT/AT Board; Speech and Hearing Professionals Board.Live lookupHeadline status is coarse (Active, Inactive, Closed); the sub-status carries Expired, Lapsed, Suspended or Retired. Over-broad searches return null. eLicense states that the Joint Commission and NCQA accept its online status as primary source.
OklahomaState Board of Medical Licensure and Supervision (also PT, OT, SLP): 403 from an AWS load balancer, plus a published policy that data mining results in IP blocking, with a subscriber service at an unpublished price.Behavioral Health Licensure (LPC/LMFT) on Thentia Cloud behind an AWS WAF. Psychology: a plain web form. Social work: platform unverified.Blocked / PaidNo Socrata domain. The one open board covers one profession.
OregonOregon Medical Board in-house ASP.NET WebForms lookup: open, covers all current and former licensees, board actions with linked order PDFs, and a statement that it is a primary source per Joint Commission and NCQA standards. Terms of service say personal and non-commercial use; bulk access is by email request.Psychology, LPC/LMFT, social work, PT, OT and SLP boards are all Thentia Cloud tenants returning an AWS WAF Human Verification page. Each sells a one-off Excel snapshot: $35 by cheque (psychology, counselling), $100 (PT, OT), link expiring after seven days.Live / Blocked / PaidThe historical medical board download no longer exists; the only Socrata dataset is aggregate licence counts. Only the psychology board's list offers a discipline column. The search returns 526 rows for a common surname in one page, with no cap.
Pennsylvaniaverified by usPALS live lookup, one search across every board. No bulk file.Same system: Psychology, Social Workers/MFTs/Professional Counselors, PT, OT, SLP.Live lookupNames match by prefix, results cap at 500, every licence a person ever held is returned with expired training permits often first, discipline is empty unless the detail call carries the person id, and the API returns licensee email and phone.
Rhode IslandDept of Health on a MyLicense/Versa portal, 517 licence types in one dropdown.Same portal: Psychology, Social Work, MFT and mental health, PT, OT, SLP.Live lookupNo export control on the page; a naive GET returns Invalid search criteria, the real search is a POST with the standard MyLicense field names.
South CarolinaLabor, Licensing and Regulation: one in-house ASP.NET WebForms app for 46 boards, with reCAPTCHA v2 in the shared search control, continuously CAPTCHA-gated since about 2013 (BotDetect before that).Same app, same control, same site key.Blocked / PaidNo bulk file, free or paid, on the domain. Each board sells a $10 licensee list by cheque, delivered by email or CD, under a signed anti-commercial-solicitation certification (Code section 30-2-50). The LLR hosts were TCP-unreachable from two networks; findings are from archived pages.
South DakotaBoard of Medical and Osteopathic Examiners (also PT and OT): a Blazor Server app over a stateful SignalR circuit plus an explicit reCAPTCHA.Social work, psychology and counsellor boards under Social Services: unreachable from the research network, unverified.Blocked / UnverifiedBlazor Server is the least tractable platform seen; there is no plain request to replay even before the CAPTCHA.
TennesseeDept of Health, Division of Health Related Boards: one verification system for all boards, which returns a bare 403 from an AWS load balancer on every path including robots.txt, from two independent networks.Same host, same 403.Unverified / BlockedStructurally the best state in the round: one department, daily refresh and a Licensure Reports builder that one search snippet describes as a bulk export, all unverified. Claims of a $0.02-per-query state API come from SEO spam, not tn.gov.
Texasverified by usTexas Medical Board public verification portal, a live lookup. No bulk file.Not researched.Live lookupTraining permits are listed alongside full licences, and a physician who trained in Texas often holds both.
UtahDivision of Professional Licensing: the free lookup uses reCAPTCHA v3 and escalates to an interactive v2 checkbox after a rejected submit. A self-service data request sells the full list at $0.01 per record (minimum $5) with Disciplinary Action and Docket Numbers columns and a last-updated filter for deltas.Same division, same lookup, same file.Paid / BlockedThe lookup itself runs off a nightly snapshot (Information Current as of the previous day). dopl.utah.gov, including its data-download page, is behind a Cloudflare interstitial. No Socrata or CKAN portal.
VermontBoard of Medical Practice dataset on Socrata (vtmbl-reporting.data.socrata.com, mxkz-bi85): 25,794 rows covering physicians, PAs and podiatrists, refreshed daily. Free.Office of Professional Regulation Pega portal: 403 from an F5 device. The state's docs describe a Profession Roster Download tab inside it.Free bulk / BlockedThe physician file's actions column takes only two values across the whole dataset, None and Comments, so it is a weak flag rather than a history.
VirginiaDept of Health Professions lookup, one record per occupation-coded licence number, refreshed each business day. Banner reads Not For Commercial Use with a volume limit; a $95 per user per year License Verification Subscription is the stated route for regular use.Same lookup, all eight professions under thirteen boards.Live lookup (subscription)The paid bulk extract ($100 plus $20 per 1,000 records, UTF-16LE) has no status column. The Additional Public Information flag can include proceedings with a finding of no violation. Licences that expired before 2000 are not searchable.
Washingtonverified by usDept of Health health-care provider credential dataset on data.wa.gov (Socrata): about 2.4 million credentials, refreshed daily.Same dataset, including mental health counsellors, social workers, MFTs, psychologists, PT, OT, SLP and state-licensed behavior analysts.Free bulkOne of the few states licensing behavior analysts at state level.
West VirginiaBoard of Medicine and osteopathic board hosts were sinkholed by the research network; unverified.Social work: a WebForms lookup. Psychology: a SharePoint lookup. Counseling (LPC and LMFT): Certemy, needs an anonymous token from the bundle. PT: Cloudflare 403. OT: a WordPress 500 on the verify page, with a mailing-list request.Live (partial) / UnverifiedEight-plus separate boards, no free bulk file.
WisconsinDept of Safety and Professional Services, consolidated. Every wi.gov name failed DNS in the research sandbox, so the platform (Salesforce, from the URL shape) is inferred.Same system.Paid / UnverifiedThe credential list is $2,000 for all types plus $4 per 1,000 records, free to government agencies on request.
WyomingBoard of Medicine on GL Suite: 403 with an Azure WAF title.Mental Health Professions (LPC, LCSW, LMFT), Psychology and SLP boards publish their rosters as public Google Sheets; the CSV export links return real rows. PT and OT boards were not located.Free bulk (5 of 8) / BlockedThe psychology sheet states its own last-update date and calls itself a primary source. Hand-maintained sheets carry junk header rows above the real header.

Network caveat: the research sandbox could not resolve or connect to several state hosts (all of wi.gov, the small North Dakota, South Dakota and West Virginia board domains, nebraska.gov, in.gov, and the Massachusetts and South Carolina MyLicense and LLR hosts). Those are recorded as unverified, never as blocked, because a connection that never left our network says nothing about the state.

Case studies: what the files actually do

Georgia: $500, no refresh, and a resale clause

The Composite Medical Board's data request page lists eleven priced lists and a custom option. Physicians (MD and DO) cost $500; all professions $1,100; each allied group $200. The file is emailed after payment and carries Status, First License Date, Expiration Date, Public Board Action and Date of Action, which is everything a verification needs except NPI. There is no subscription and no published cadence: refresh means buy again. The licence text states that no part of the data will be distributed for the purpose of resale, and that the data is provided as is.

Do not confuse it with the cheaper-looking self-serve roster on the same site, which has no Status column and contains only currently licensed practitioners, so a revoked physician simply disappears. The six behavioural and therapy boards sit under the Secretary of State's GOALS portal with reCAPTCHA v3 and a v2 fallback; the only bulk product described for them is a $3,000 roster mailed on CD, payable by cheque or money order, partial lists not available. The one free, current Georgia source is the monthly Public Board Actions PDF list, 253 documents from 2005 onward, useful as a discipline delta but carrying no roster.

Arizona: every board, every stack, blocked

Every Arizona board host probed answered with a bot-defence page: a Cloudflare managed challenge on the medical, osteopathic, PA, psychology, behavioural health, PT and OT board sites and on the health department's SLP search; an AWS WAF CAPTCHA on every Thentia tenant, including on /robots.txt; and, on the legacy GL Suite verification host, both an Azure Application Gateway 403 and a robots.txt that disallows everything. The only purchasable file is the medical board's physician and PA database on a $100 CD-ROM, described on pages that could not themselves be read. Speech-language pathology is not board-licensed at all in Arizona; it sits with the Department of Health Services.

Delaware: the whole database is free, and one column lies

Delaware is the cheapest state to mirror found in this research: one Socrata dataset, all eight professions, refreshed daily, with a companion dataset of disciplinary actions. But the licence file's own disciplinary_action column reads N on all 353,352 rows, revoked licences included. Mapping it would assert a clean record for the entire state. The companion register's licence id joins to the file's licence number; 665 disciplined pairs in the health professions resolve to exactly one row each, and 212 of those licences are currently Active. The file also uses status values such as Non-Disciplinary Suspension, which any substring test for the word discipline will read backwards.

New Jersey: a free roster with pipes inside the fields

New Jersey's Division of Consumer Affairs directs bulk users away from its verification form and to a roster download that is pipe-delimited, unquoted, and space-padded to fixed widths. In the 138,115-row physician file, three rows had their status column shifted because an address contained a literal pipe: one status cell held an email address, another a city name. Validate every status against the 43-value vocabulary and reject rows whose field count is wrong, or those rows become silent unknowns. The file has no discipline column; the Board Action flag exists only on the live detail page. And Active Reduced Fee 65+ arrives with a trailing space.

Michigan: Active, but expired

Michigan's MiPLUS portal labels a licence whose expiry date has already passed but which is still inside the renewal window as Active - In Late Renewal. Practice is not authorised on an expired licence, so a status mapper that keys on the word Active reports a lapsed clinician as current. The same portal caps its results grid at 50 rows with no pager, sorted by licence type, so for a common surname the health licences can fall off the bottom of the grid without any truncation notice. Michigan publishes no bulk file and no NPI.

Illinois: TERMINATED VALID REASON is not valid

Illinois writes TERMINATED VALID REASON for a licence that has ended for a legitimate reason. A normaliser that tests for the substring valid among its active keywords maps that to active; in one measurement it reported 1,642 ended Illinois licences as current. The general lesson is that substring status matching must test the negative words (terminated, revoked, suspension) before the positive ones, and that qualified statuses (Active - With Conditions, Active (With Restrictions), Active On Probation) must raise a discipline signal rather than normalise to a clean active.

Massachusetts: the best physician source in the country

The Board of Registration in Medicine's public search runs on a public profile service. A profile record carries the NPI, original and latest issue dates, expiry, in-state and out-of-state board discipline, healthcare-facility discipline and criminal convictions, each with dates, case numbers and instrument type, plus malpractice payment history for Massachusetts and other states. No other state source found publishes NPI, which caps name-only matching everywhere else. The API has a 5,000-row result cap and matches surnames by prefix, so a search must always carry a first name. Its status vocabulary includes Suspension as a noun, which a test for the verb suspend will miss.

What primary source verification actually means here

Primary source verification means reading the credential from the body that issued it. Several boards say so in their own words: Illinois IDFPR and eLicense Ohio cite Joint Commission and NCQA acceptance; the Oregon Medical Board's detail page states it is a primary source consistent with those standards; Virginia's DHP says its lookup data serves as primary source verification of the credential; the Maryland OARS boards, the Mississippi psychology and counselling boards, the North Carolina social work board and even Wyoming's psychology spreadsheet make the same claim. A mirror of a board's own published file, stamped with the file's as-of date, is a copy of the primary source at a known time. A vendor's mirror of somebody else's mirror is not.

Freshness is the second half. The same board can expose the same data at very different ages: Utah's public lookup prints Information Current as of the previous day, so a purchased file is no staler than the state's own search; Maryland's physician CSV was dated 1 August on 7 September while its allied-health CSV was dated 1 September; Georgia's file is as old as your last $500. A third-party physician mirror that is free and open in Georgia turns out to be an extract dated 1 May 2019 on every record. Any verification record should carry the date the source was read, and any file mirror should carry the date the file was generated.

The third half is absence. Alabama's roster, Georgia's self-serve roster, Mississippi's $300 roster, Louisiana's monthly PDF, New Hampshire's spreadsheet and Maryland's physician CSV all publish current licensees only. New Hampshire's file has zero Expired, zero Lapsed, zero Revoked rows, while the office's own status definitions describe all three. Virginia's lookup excludes anything that expired before 2000. In every one of these sources a revoked clinician is not marked revoked; they vanish. Absence from a current-licensees roster must be read as not found, never as not licensed and never as no discipline.

Commercial-use restrictions a builder must read

Several open or purchasable sources carry terms that a commercial user should read before building on them. These are reported as text to check, not as legal advice.

None of the Socrata states, Delaware, New Jersey, Maine, Kansas, Rhode Island, DC or the open Maryland and Mississippi boards were found to publish any restriction on automated access in the pages retrieved. That is different from a board having sanctioned it.

Using this page

If you are building or buying licence verification, the table above tells you which states can be automated at all, which need a purchase order, and which need a phone call. What VeriflowAPI verifies today, board by board, is on the coverage page; the live health of each of those sources is on the status page. If a state here matters to you and is not there yet, the research is the reason, and the homepage has the contact.

Common questions

Which states publish a free bulk file of healthcare licensees?

Delaware, Illinois, Washington, Colorado and Connecticut on Socrata portals, refreshed daily; Vermont for physicians only. New Jersey's roster is a free pipe-delimited download. Maryland's Board of Physicians publishes monthly CSVs. Louisiana's medical board publishes a monthly PDF of active licensees. California's Department of Consumer Affairs publishes monthly files per board. New Hampshire publishes one spreadsheet of every licensee, if you can reach nh.gov. Wyoming's smaller boards publish Google Sheets. Maine documents a CSV export inside its search.

Which state medical boards charge for their licensee data?

Georgia sells its physician file for $500 per snapshot and all professions for $1,100. North Carolina's medical board roster is $150 per month. Mississippi's is $300 per roster or $500 per year for a profile licence. Arizona's medical board describes a $100 CD-ROM. Indiana charges $150 plus $10 per 1,000 records. Wisconsin charges $2,000 plus $4 per 1,000. Utah sells its full list at $0.01 per record with discipline columns. Virginia's bulk extract is $100 plus $20 per 1,000 but has no status column. Oregon's non-physician boards sell snapshots at $35 to $100 each.

Which states block automated access to licence lookups entirely?

Arizona (Cloudflare, AWS WAF and Azure gateway on every board), South Carolina (reCAPTCHA on all 46 boards), Minnesota (Radware CAPTCHA), Hawaii (Cloudflare), Alaska (DataDome), Montana (F5 on the public lookup) and Nevada (F5 Shape and Thentia). Tennessee and New Hampshire return plain 403s whose scope is unknown. Several other states block one board while leaving others open.

Does any state board publish NPI numbers?

Only one was found: the Massachusetts Board of Registration in Medicine's public API returns npiNumber on physician profiles. Every other state source located, including every Socrata file, MyLicense portal and Thentia tenant, publishes name, licence number, status and dates but no NPI and no date of birth. South Carolina's archived detail template shows a birth date field, unconfirmed on the live site.

Is a state board's online lookup accepted as primary source verification?

Several boards state so explicitly: Illinois IDFPR and eLicense Ohio cite Joint Commission and NCQA acceptance, the Oregon Medical Board and Virginia DHP make the same claim, and Maryland's OARS boards describe their data as primary sources updated daily. A mirror of a board's own published file, stamped with the file's as-of date, is a copy of the primary source at a known time.

Why can absence from a state roster not mean the person is unlicensed?

Because many rosters contain current licensees only. Alabama's roster, Georgia's self-serve roster, Mississippi's $300 roster, Louisiana's monthly PDF, New Hampshire's spreadsheet and Maryland's physician CSV all omit expired, revoked and surrendered licences rather than marking them. A revoked clinician vanishes. Absence must be read as not found, never as not licensed.

What is Thentia Cloud and why does it matter for licence verification?

Thentia Cloud is a licensing platform that small boards consolidate onto. Every tenant found, in Oregon (confirmed from the boards' own sites), Nevada, Oklahoma and Arizona (tenant names inferred), answers with an AWS WAF Human Verification CAPTCHA. Its WAF returns the identical page for any subdomain, including made-up ones, so a WAF hit on a guessed tenant name proves nothing about whether a state uses it.

How current is state licence data?

It ranges from same-day to indefinitely stale. Delaware refreshes every morning and Virginia each business day. Utah's own lookup runs off a nightly snapshot. Maryland promises the 1st of each month and slipped a month. New Hampshire refreshed four times in eighteen months. Georgia's purchased file is as old as the last order. Any verification record should carry the date the source was read.

Verify against the sources that can be verified

Start with 100 free verifications. No credit card. Read the docs or the source reference.

Create your account →