TX Medical Board Licenses - Physicians, PAs & Allied
Pricing
from $0.06 / 1,000 tx medical license records
TX Medical Board Licenses - Physicians, PAs & Allied
Texas Medical Board licenses (public open data, 511k records, refreshed daily): the state's physician register (185,801 Physician Licenses) plus physician assistants, residents, radiologic technologists and more. Name, license number, degree, status, discipline, board action and practice address.
Pricing
from $0.06 / 1,000 tx medical license records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 hours ago
Last modified
Categories
Share
TX Medical Board Licenses - Physicians, PAs & the Allied Register
The Texas Medical Board publishes its entire licensure file - every license the board has ever issued, refreshed daily - as open data. This actor turns that file into a charged-per-record physician and practitioner lookup.
Built for: hospital and clinic credentialing (verify a physician's live license and any board action before granting privileges), healthcare staffing and locum agencies, malpractice and payer credentialing teams, medical-device and pharma sales territory work, and workforce analysis of Texas medicine.
What it covers
511,438 licenses, refreshed ~daily. This is the whole board, not only doctors - the file spans the board's full credential vocabulary:
| License lane | Records |
|---|---|
| Physician License | 185,801 |
| Physician-in-Training Permit (residents) | 103,587 |
| Physician Full Temporary License | 44,021 |
| Medical Radiologic Technologist (General) | 42,075 |
| Institutional Permit | 29,288 |
| Respiratory Care Practitioner | 24,063 |
| Physician Assistant License | 20,744 |
| Radiologic Technologist / Acupuncturist / Medical Physicist / Surgical Assistant / ... | the long tail |
The physician lane is the headline: 185,801 licenses, one row per license number, no duplicates. Of those, 168,306 are MDs and 17,476 are DOs.
Each record carries the practitioner's identity and the license's own terms:
- license number (e.g.
C2582,W8893) and the license type - degree (MD / DO / PA / PIT / MRT / RCP / ...) and year of birth
- registration status and its date - the board's own vocabulary
- disciplinary status and the live board action: 7,850 physician rows carry a current board-action date and the order's text (
current_board_action_description) - practice address, city, state and ZIP - 90.8% of physician rows carry a street address, 85% a city
The physician line-up is Texas-weighted but not Texas-only: Houston (15,610 active), Dallas (9,304), San Antonio (6,700), Austin (5,143), Fort Worth (3,110) - and out-of-state physicians who hold Texas licenses.
The board's own live flag
currently_licensed is the board's Y/N stamp - 201,396 records are live right now, 112,800 of them physicians. active mode hands you that slice; activeOnly filters any other query the same way.
The trap is the other status column. registration_status looks like the status field until you read its values: the board spells the same non-renewal state four different ways (CANC NON-RENEWAL, CANCELLED FOR NONRENEWAL, CANCELLED NON-RENEWAL, CANCELLED,DID NOT RENEW), and the file mixes the whole board's permits into one registration_status vocabulary. Filtering it with a substring silently returns the wrong set. This actor matches the exact vocabulary and uses the board's currently_licensed flag for the live slice, which agrees with registration_status='ACTIVE' to the row on the physician lane (107,690 = 107,690).
Typical questions
- "Is license
C2582live, and is there any board action against it?" - "Every actively licensed physician in Houston."
- "All physicians with a current board action - the disciplinary pipeline."
- "Physician Assistants licensed in Texas."
- "Who is licensed under degree DO in Austin?"
- "Renewal pipeline: every physician license expiring in 2026."
- "Aggregate the register by license type, degree, status, or practice state."
Inputs
| Input | What it does |
|---|---|
mode | active (live slice, default) / rows (any license) / aggregate |
licenseType | a lane: physician / physician assistant / resident / radiologic technologist / ... |
degree | exact code: MD / DO / PA / PIT / MRT / RCP / ... |
status | the board's registration status, exact |
discipline | NONE / SEE PREVIOUS ORDER / UNDER BOARD ORDER / SUSPENDED BY BOARD / ... |
boardActionOnly | only licenses with a live board-action record |
licenseNumber | exact license number - a full profile lookup |
name / city / state | holder filters (name & city fuzzy, state exact) |
issuedFrom/To, expiresFrom/To | issue and expiration windows |
groupBy | aggregate over licenseType / degree / status / discipline / state / expirationYear |
maxResults | cap records (default 200) |
Default run = 200 live licenses, most recently issued first (mode defaults to active) - fast for the daily auto-test. For a targeted query add a filter; for a broad view use aggregate (a handful of summary rows, not a 511k-row dump).
Low cost
From $0.0001 per record - billed only for the rows you use, at the low end of the store. A credentialing check on one physician, or a whole disciplinary sweep, costs pennies.
The board's file reads like a straightforward export until you try to filter it. The status field is not one field but two - a registration_status whose vocabulary mixes the board's entire permit system and spells a single non-renewal outcome four ways, sitting beside the currently_licensed flag that actually answers "is this person practising". The discipline story is split across three columns - a disciplinary_status flag, a separate license_status carrying licensure actions under board order, and the board-action text itself, which is populated on only 4% of physician rows and is the only place an order's substance lives. The file is the whole board, not the physician register - a naive "doctors" read drags in residents, radiologic technologists and respiratory therapists, and a Physician% prefix quietly merges Physician Licenses with Physician-in-Training permits and temporary lanes. Normalizing all of that into a register where a licenseType / degree / discipline query returns exactly the physicians you mean is the actual product. Every pull is integrity-checked against the file's known shape, so a degraded source fails loudly instead of returning bad rows.
Source
- Texas Open Data: Texas Medical Board licenses - the TMB's published licensure file. Reflects the board's record as of each refresh; not a verification of any practitioner's current standing.
specialtiesis sparsely published and on no physician rows, so it is carried but never a headline.