Real-time board lookups vs roster data
Live queries win on freshness. They lose on almost everything else, and for a meaningful share of professions they are not available at all.
The concession
A query made against the board's own lookup page at the moment you ask is the freshest answer that exists. If a license was suspended this morning, a live query can reflect it and a nightly roster cannot. That is a genuine advantage and we are not going to argue it away.
What real-time actually costs
- It is not available for most professions. This is the big one. Plenty of boards publish a downloadable roster and no public lookup form, or a form that only answers one name at a time behind a CAPTCHA. Real-time vendors cover the professions that happen to have a scrapeable form - which is why their coverage tends to be nursing and medicine, and thins out fast beyond that.
- Latency is the board's, not yours. A live lookup is seconds, not milliseconds, because a state web application is in the path. Anything that has to verify inside a request cycle - a signup flow, a marketplace listing, a shift assignment - inherits that.
- It does not batch. Re-verifying a 4,000-provider roster monthly is 4,000 sequential scrapes against a government site that will rate-limit or block you, and would be entitled to.
- It fails in the worst possible way. When a board changes its HTML, a scraper does not error - it stops matching, and starts returning not found about real, currently licensed people. A stale roster tells you it is stale. A broken scraper tells you a nurse is unlicensed.
Side by side
| Live board query | Roster mirror | |
|---|---|---|
| Freshness | Current to the second | As of the last refresh, stated in the response |
| Latency | Seconds, board-dependent | Milliseconds |
| Bulk / batch | Impractical, gets you blocked | Designed for it |
| Professions without a lookup form | Unavailable | Covered if the board publishes a file |
| Failure mode | Silent false negatives | Visibly stale, or an explicit gap |
| Reproducible evidence | A screenshot | Source, source URL, data_as_of |
How we handle the freshness gap
We do not hide it. Every response carries data_as_of - the date the source file itself was published, not the date you called us - so a stale answer is legible as a stale answer rather than passing for a live one. Alongside it, source_url points at the government file, so escalating to primary source is one click when the stakes justify it.
For the cases where a change matters more than a snapshot, monitors re-verify on a schedule and push a signed webhook when a status changes, which covers the actual worry behind wanting real-time: not knowing a license lapsed. Today that runs across 22,399,077 records in 31 states and 149 professions.
When you should go to the board
For a single, high-stakes, one-time decision - granting privileges, a final credentialing file, anything with an auditor at the end of it - query the board directly, or use a primary-source-designated service where one exists for that profession. No mirror is primary source, ours included, and for nurses specifically there is a free one. An API is the right tool for the other 95% of the volume: continuous monitoring, onboarding checks at scale, and catching the lapse nobody was looking for.
500 verifications a month free, every data feature included. Check coverage · How the data is sourced · API reference