NYSED Professional License Verification API avatar

NYSED Professional License Verification API

Pricing

from $5.00 / 1,000 licensee_basics

Go to Apify Store
NYSED Professional License Verification API

NYSED Professional License Verification API

Verify any New York State licensed professional — physicians, nurses, PEs, CPAs, architects, dentists, pharmacists, and 110+ more — directly from NYSED. $0.005–$0.020 per record. Empty searches never charged.

Pricing

from $5.00 / 1,000 licensee_basics

Rating

0.0

(0)

Developer

Tony

Tony

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

a day ago

Last modified

Share

NYSED Professional License Verification — New York State License Lookup API

Verify any New York State licensed professional in seconds. This actor searches the New York State Education Department (NYSED) Office of the Professions registry — the official, authoritative source for physician, registered nurse, professional engineer (PE), architect (RA), certified public accountant (CPA), dentist, pharmacist, veterinarian, licensed clinical social worker (LCSW), chiropractor, podiatrist, psychologist, physical therapist, occupational therapist, speech-language pathologist, and 100+ other licensed professions in New York.

Use it for license verification, healthcare credentialing, expert witness vetting, contractor due diligence, HR background checks, and provider directory enrichment — at a fraction of the cost of enterprise verification services and fresher than third-party aggregators.

Why this actor

This actorNYSED websiteEnterprise aggregators
Bulk searchYes — array input, parallelOne name at a time, manualYes
Structured JSON outputYes — stable schemaHTML scraping requiredYes
Pricing$0.005–$0.020 / recordFree but unusable at scale$0.50–$5.00 / record + license fee
Data freshnessLive, every runLiveDays to weeks behind
API contract stabilityVersioned schemaNoneChanges without notice
Setup time60 secondsN/ASales call + contract

Pricing

Pay only for records actually returned. Empty searches and failed lookups are never charged.

TierPrice per recordWhat's included
Basic (licensee_basic)$0.005Licensee name, profession, 3-digit profession code, license number, date of licensure, city + state, deep link to NYSED source page. Best for roster building and discovery.
Full (licensee_enriched)$0.020Everything in Basic, plus license status (registered / inactive / suspended / revoked / surrendered / expired), registered-through date, school of degree, degree date, additional qualifications, privileges, additional licenses, certificate of authorizations, and enforcement-action history. Required for actual license verification — status only ships on this tier.

If a Full-tier detail fetch fails mid-run, the actor ships the basic record and charges the basic price — you are never billed the enriched rate for un-enriched data. The record's enrichment_level field always reflects what you actually received.

A typical run of 1,000 enriched records costs $20. The same lookup against a verification-as-a-service vendor costs $500+ and takes a week to onboard.

Use cases

  • Healthcare credentialing teams — batch-verify physician, PA, NP, RN, LPN, and pharmacist licenses every quarter against a roster of staff.
  • Healthcare and engineering recruiters — confirm candidate licenses before extending offers; pull contact-adjacent data (city, profession, school) for sourcing.
  • Hospital privileging committees — pull enforcement-action history alongside license status in one call.
  • Engineering and architecture firms — verify PE and RA stamps before bidding on NY-based projects.
  • Law firms and expert-witness brokers — vet expert credentials, school of degree, and discipline history.
  • Insurance carriers and PBMs — keep provider networks compliant; flag expired or inactive licenses.
  • Compliance and KYC SaaS — feed structured NY license data into your platform without building a scraper.
  • Investigative journalism and litigation support — research licensed professionals named in public records.
{
"licenseeNames": [
{ "name": "Sullivan", "professionCode": "060" },
{ "name": "Patel", "professionCode": "016" }
],
"enrichmentLevel": "full",
"maxResultsPerSearch": 50
}

Quick start — direct license-number lookup

{
"licenseNumbers": [
{ "professionCode": "060", "licenseNumber": "330968" },
{ "professionCode": "007", "licenseNumber": "099123" }
],
"enrichmentLevel": "full"
}

Profession codes

NYSED assigns each profession a 3-digit code. The most common codes:

CodeProfessionCodeProfession
060Medicine (Physician — MDs & DOs)016Professional Engineer
003Architect007Certified Public Accountant
022Registered Professional Nurse (RN)010Licensed Practical Nurse (LPN)
050Dentist051Dental Hygienist
020Pharmacist075Veterinarian
073Licensed Clinical Social Worker (LCSW)072Licensed Master Social Worker (LMSW)
070Chiropractor065Podiatrist
056Optometrist068Psychologist
062Physical Therapist063Occupational Therapist
058Speech-Language Pathologist057Audiologist
018Licensed Mental Health Counselor006Marriage & Family Therapist
023Physician Assistant029Nurse Practitioner — All Specialties
028Midwife027Massage Therapist
015Land Surveyor004Landscape Architect
014Interior Designer025Acupuncture

This is a partial map. The actor accepts any of the 116 codes NYSED publishes — including the full nurse-practitioner specialty breakdown (030045), dental-anesthesia subtypes, and limited-license variants. The complete list lives at https://api.nysed.gov/rosa/V2/licenseeProfessions. Searches require one specific profession code per query — NYSED's API does not reliably support cross-profession searches, so to cover multiple professions add one { name, professionCode } entry per profession.

Profession deep-dives

Verify a New York physician license — Medicine (code 060)

Verify any NY-licensed physician (MD or DO). Each enriched record returns license status (active, inactive, surrendered, revoked), date of licensure, registered-through date, school of degree, and degree date. The Board of Regents does not discipline physicians directly — disciplinary actions live at the NY State Department of Health Office of Professional Medical Conduct, and the actor returns the deep link to that registry on every physician record so credentialing teams can pull the full DOH file in one click. Common buyers: hospital privileging committees, telehealth networks, locum-tenens staffing firms.

Verify a New York nurse license — RN, LPN, NP (codes 022, 010, 029045)

Verify Registered Professional Nurses (022), Licensed Practical Nurses (010), and the full set of Nurse Practitioner specialties — Family Health (033), Pediatrics (038), Psychiatry (040), Acute Care (043), Adult Health (030), Women's Health (042), and a dozen more. NP records carry the specialty in the profession field so credentialing teams don't have to map back from the code. Common buyers: home-health agencies, hospital systems, traveling-nurse staffing firms.

Verify a New York Professional Engineer or Architect license — AEC (codes 016, 003, 015, 004, 014)

Verify Professional Engineer (016), Architect (003), Land Surveyor (015), Landscape Architect (004), and Interior Designer (014) licenses before contracting on NY-based projects. Standard for AEC firms bidding into NYC, Albany, Buffalo, and the rest of the state, and for owner's reps verifying stamping engineers on submittals. Enriched records include school of degree and additional qualifications — useful for vendor-prequal questionnaires.

Verify a New York CPA license — Public Accountancy (code 007, 008)

Verify NY-licensed Certified Public Accountants (007) and the smaller pool of Public Accountants (008) maintained by NYSED. Both are required disclosures for audit-engagement letterhead and for SEC-registered firms whose engagement partners must be in good standing. Common buyers: audit firms, broker-dealers, banking compliance teams, expert-witness brokers.

Verify a New York pharmacist license — Pharmacy (code 020)

Verify NY-licensed pharmacists (020) and registered pharmacy technicians (002). Critical for PBMs, mail-order pharmacy networks, and health insurers maintaining provider directories under federal No Surprises Act and state-level network-adequacy rules.

Verify other licensed professions

The same call shape works for dentists (050), veterinarians (075), psychologists (068), physical therapists (062), occupational therapists (063), speech-language pathologists (058), audiologists (057), licensed clinical social workers (073), licensed mental health counselors (018), chiropractors (070), podiatrists (065), optometrists (056), and 90+ other licensed professions in New York State.

Output schema

Every record is one row in the dataset, with this stable shape:

{
"id": "NY-NYSED:060-231050", // stable, dedupe-friendly
"source_state": "NY",
"source_url": "https://eservices.nysed.gov/professions/verification-search?licenseNumber=231050&professionCode=060",
"licensee_name": "SULLIVAN ALISON ELIZABETH",
"first_name": "ALISON ELIZABETH",
"last_name": "SULLIVAN",
"profession": "Medicine",
"profession_code": "060",
"profession_raw": "Medicine (060)",
"license_number": "231050",
"license_status": "active", // normalized: active | inactive | suspended | revoked | expired | surrendered | pending
"license_status_raw": "Registered", // verbatim from NYSED
"date_of_licensure": "2004-01-16", // ISO 8601
"registered_through_date":"2027-04-30",
"city_state": "MIDDLETOWN NY",
"school_name": "COLUMBIA UNIVERSITY",
"school_degree_date": "2002-05-22",
"additional_qualifications": null,
"privileges": [],
"additional_licenses": [],
"certificate_of_authorizations": [],
"enforcement_actions": [],
"enforcement_note": "The Board of Regents does not discipline physicians... see NY DOH Office of Professional Medical Conduct.",
"enforcement_links": ["https://apps.health.ny.gov/pubdoh/professionals/doctors/conduct/factions/Home.action"],
"found": true,
"scraped_at": "2026-04-24T10:08:37.407Z",
"enrichment_level": "full"
}

enforcement_links carries any URLs embedded in NYSED's enforcement message — for physicians that's the clickable deep link to the NY DOH Office of Professional Medical Conduct registry.

first_name / last_name are a best-effort split of NYSED's LAST FIRST MIDDLE convention. Multi-word surnames ("DE LA CRUZ") may split imperfectly; licensee_name always preserves the verbatim registry value.

Not-found sentinels (free)

When a direct license-number lookup doesn't exist in the registry, the actor pushes an uncharged sentinel record with found: false and the queried profession_code / license_number. Batch credentialing jobs can therefore distinguish "license doesn't exist" (a compliance flag) from "request failed" (absent from the dataset entirely) — without paying for the miss.

The id field is stable across runs (NY-NYSED:{professionCode}-{licenseNumber}), so loading the dataset into a database and using id as the primary key gives you idempotent re-runs out of the box.

Basic-tier records have the same shape; the enriched-only fields (license_status, registered_through_date, school_name, school_degree_date, privileges, additional_licenses, certificate_of_authorizations, enforcement_actions, enforcement_note, enforcement_links) are null or empty arrays.

Input reference

FieldTypeDefaultDescription
licenseeNamesarray[]List of { name, professionCode } pairs. name is a partial-match search; professionCode is the 3-digit NYSED code.
licenseNumbersarray[]List of { professionCode, licenseNumber } pairs for direct lookups. One record per pair.
enrichmentLevelenum"basic""basic" or "full". Drives both the data returned and the per-record charge.
maxResultsPerSearchinteger20Cap per (name, professionCode) pair. The actor fetches 50/page and auto-pages up to this cap.
requestTimeoutSecsinteger30HTTP timeout per NYSED API call. Raise if you see timeout warnings; NYSED responses are typically sub-second.
proxyConfigurationobjectApify ProxyApify Proxy datacenter group is sufficient (NYSED has no per-IP throttle that we observe). Configurable to residential or your own pool.

You must supply at least one of licenseeNames or licenseNumbers.

How fresh is the data?

Every run hits NYSED's live registry. There is no caching layer. If a license was renewed, suspended, or surrendered an hour ago, the next run reflects that change.

Limitations

  • No street address. NYSED publishes city + state only ("NEW HYDE PARK NY" or "NOT ON FILE"). If you need practice addresses, cross-reference the NPI registry (free for healthcare providers).
  • Physician disciplinary actions live at NY DOH, not NYSED. The Board of Regents does not discipline physicians, physician assistants, or specialist assistants. The enriched record includes a pointer to the NY State Department of Health Office of Professional Medical Conduct; the full DOH disciplinary record is a separate data source.
  • Name search is substring-match, unweighted. Searching "Smith" returns every Smith. Always narrow by professionCode. Searches that would return 10,000+ records are expensive and almost always indicate too broad a search term.
  • Pagination. The actor fetches 50 records per page and auto-pages up to maxResultsPerSearch; total results are not capped, but very broad searches will be slow and expensive.
  • One profession per search. NYSED's API does not reliably support cross-profession ("all professions") searches — submit one { name, professionCode } pair per profession you need.
  • Public-record limitation. All data returned is what NYSED publishes publicly. The actor never attempts to access non-public information.

FAQ

Will I be charged for failed lookups? No. Records are only charged when they're successfully pushed to the dataset. Empty result sets, network failures, validation errors, and not-found sentinels (found: false) cost nothing. And if a Full-tier detail fetch fails, the basic record that ships is charged at the basic price — never the enriched rate.

Can I search across all 116 professions at once? Not in a single query — NYSED's API requires a specific profession code per search. To cover multiple professions, add one { name, professionCode } entry per profession to licenseeNames; the actor runs them sequentially in one run.

How do I avoid duplicates across runs? Use the id field as a primary key in your destination database. It's stable across runs and uniquely identifies a (profession, license number) pair.

Is this data legal to use? Yes. NYSED publishes the verification registry as a public record under New York State law. The actor accesses only the public verification endpoint.

What about other states? This actor covers New York only. Other state license registries are wrapped as separate actors — see the "Related verification actors" section below for direct links to the California, Texas, and Florida equivalents.

Why is the data different from what I see on the NYSED website? It shouldn't be — both the website and this actor read from the same underlying registry. If you spot a discrepancy, please report it via the Issues tab.

Sample run

A real run searching "SULLIVAN" in profession 060 (Medicine), basic enrichment, capped at 3 records, completes in under 5 seconds and returns:

[
{ "id": "NY-NYSED:060-102749", "licensee_name": "SULLIVAN ALBERT LEO", "license_number": "102749", "date_of_licensure": "1968-11-22", "city_state": null },
{ "id": "NY-NYSED:060-046623", "licensee_name": "SULLIVAN ALBERT W", "license_number": "046623", "date_of_licensure": "1947-10-23", "city_state": "ROCHESTER NY" },
{ "id": "NY-NYSED:060-231050", "licensee_name": "SULLIVAN ALISON ELIZABETH","license_number": "231050", "date_of_licensure": "2004-01-16", "city_state": "MIDDLETOWN NY" }
]

Running cross-state credentialing or background checks? These sibling actors use the same canonical record schema (stable id, source_state, license_status, enrichment_level) so a single downstream pipeline can ingest all four states without per-state code:

  • CaliforniaCSLB California Contractor License Verification — verify CA-licensed general, electrical, plumbing, HVAC, and specialty contractors from the Contractors State License Board.
  • TexasTDLR Texas Contractor License Verification — verify TX-licensed electricians, plumbers, HVAC techs, tow operators, and 30+ other regulated trades from the Texas Department of Licensing and Regulation.
  • FloridaDBPR Florida License Verification — verify FL-licensed contractors, real-estate agents, cosmetologists, CPAs, and 200+ other professions from the Department of Business and Professional Regulation.

Together with this NYSED actor, the four cover roughly 40% of all licensed-professional records in the United States by population. Same schema, same pricing model, same idempotent id-based deduplication.

Keywords

New York license verification, NYSED license search, NY professional license lookup, physician license verification New York, NY PE license check, NY CPA license search, NY RN license verification, NY pharmacist license, NY architect license, NY dentist license, NY social worker license, license verification API, healthcare credentialing API, NY state license registry, Office of the Professions, NY professional license database, license status check NY, expert witness vetting, contractor verification New York, verify NY doctor license, check New York PE license number, NYSED license lookup, NY State licensed professionals.