NY Office of the Professions License Search
Pricing
from $3.00 / 1,000 results
NY Office of the Professions License Search
Verify New York State professional licenses (nursing, medicine, pharmacy, psychology, engineering, accountancy, dentistry, veterinary and 80+ other professions), business entities, pharmacy establishments, and permits by name or ID. Returns status, dates, and enforcement history.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
16 days ago
Last modified
Categories
Share
Verify New York State professional licenses, business entities, pharmacy establishments, and limited/temporary permits — nursing, medicine, dentistry, pharmacy, psychology, engineering, accountancy (CPA), veterinary medicine, physical therapy, social work, and 80+ other professions regulated by the NYSED Office of the Professions. Search by name or look up an exact license/entity/registration/permit number and get registration status, dates, and professional-misconduct/enforcement history. HTTP-only via the official public verification API. No auth, no proxy, no CAPTCHA.
What this actor does
- Seven modes, matching every tab of NYSED's public verification portal:
search— individual licensee by namebyLicenseNumber— individual license, exact lookupbusinessEntitySearch— business entities (PCs/PLLCs/firms) by name, including an "All Business Entities" cross-profession optionbyBusinessEntityId— business entity, exact PSC-number lookuppharmacySearch— pharmacy establishments by namebyPharmacyRegistrationNumber— pharmacy establishment, exact registration-number lookuppermitteeSearch— limited/temporary permit holders by name
- 89 professions/boards covered for individual licensees and permits, 76 for business entities (plus "All Business Entities") — nursing, medicine, pharmacy, dentistry, psychology, engineering, accountancy, veterinary medicine, physical/occupational therapy, social work, and more
- Registration/entity/permit status — current status, issue/filing dates, expiry/registered-through dates
- Enforcement/discipline history — professional-misconduct actions on file, when present, for both individuals and business entities
- Optional detail enrichment — name searches (individual and business) return a light listing by default; each result can be enriched with the full record (status, dates, principals, discipline) in the same run
- Empty fields are omitted — a field only appears when the source actually has a value for it
Output per record
Individual license (recordType: "license"):
name,profession,professionCode,licenseNumber,address,dateOfLicensurestatus,registeredThroughDate— detail lookups /fetchFullDetailsonlyadditionalQualifications,privileges,additionalLicenses,certificateOfAuthorizations— when on filehasDisciplinaryAction(true/false),enforcementActions[]— when present
Business entity (recordType: "businessEntity"):
name,profession,professionCode,entityType,pscNumber,addressstatus,initialFilingDate,currentThroughDate,closeDate— detail lookups /fetchFullDetailsonlyprincipals[](name + licenseNumber of officers/shareholders),certificateOfAuthorizations— when on filehasEnforcementAction(true/false),enforcementActions[]— when present
Pharmacy establishment (recordType: "pharmacy"):
name,tradeName,legalName,registrationNumber,establishmentType,address,county,statusdateFirstRegistered,dateRegistrationBegins,dateRegisteredThrough,deletedDatesupervisor,successor,successorRegistrationNumber— when on filehasEnforcementAction(true/false),enforcementActions[]— when present
Permittee (recordType: "permit"):
name,profession,professionCode,address,permitType,permitStatus,permitNumberissueDate,expireDate,supervisors[]— when on file
All record types share: sourceUrl (the NYSED verification portal) and scrapedAt.
Invalid input (unknown profession code, malformed ID, no match found) produces a recordType: "error" record instead, with error, message, and input fields.
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | One of the seven modes above |
profession | string | 022 (RN) | Profession code for search/byLicenseNumber — see the dropdown for all 89 professions |
licenseeName | string | Smith | Last name, or Last First (mode=search) |
licenseNumber | string | 500000 | Exact license number (mode=byLicenseNumber) |
businessProfession | string | 003 (Architecture) | Profession code for businessEntitySearch/byBusinessEntityId (76 options + "All Business Entities") |
businessEntityName | string | Medical | Firm/business name (mode=businessEntitySearch) |
pscNumber | string | 035673 | Exact professional-service-corporation number (mode=byBusinessEntityId) |
pharmacyName | string | CVS | Pharmacy legal or trade name (mode=pharmacySearch) |
pharmacyRegistrationNumber | string | 017682 | Exact 6-digit pharmacy registration number (mode=byPharmacyRegistrationNumber) |
permitProfession | string | 060 (Physician) | Profession code for permitteeSearch (89 options) |
permitteeName | string | Smith | Permit holder's last name, or Last First (mode=permitteeSearch) |
fetchFullDetails | boolean | true | For mode=search/businessEntitySearch, also fetch full status + discipline/principal data per result |
maxItems | int | 50 | Hard cap on emitted records (1–2000) |
Example: search nurses named Garcia with full detail
{"mode": "search","profession": "022","licenseeName": "Garcia","fetchFullDetails": true,"maxItems": 50}
Example: fast name-only listing (no discipline enrichment)
{"mode": "search","profession": "060","licenseeName": "Chen","fetchFullDetails": false,"maxItems": 100}
Example: look up one license by number
{"mode": "byLicenseNumber","profession": "022","licenseNumber": "500000"}
Example: verify a CPA's license and discipline history
{"mode": "byLicenseNumber","profession": "007","licenseNumber": "N12345"}
Example: search architecture/engineering firms named Smith across all professions
{"mode": "businessEntitySearch","businessProfession": "ALL","businessEntityName": "Smith","maxItems": 50}
Example: look up a business entity by PSC number
{"mode": "byBusinessEntityId","businessProfession": "007","pscNumber": "081283"}
Example: search pharmacies named CVS
{"mode": "pharmacySearch","pharmacyName": "CVS","maxItems": 50}
Example: search physicians holding limited/temporary permits
{"mode": "permitteeSearch","permitProfession": "060","permitteeName": "Patel","maxItems": 50}
Use cases
- Background checks — verify a healthcare or licensed professional's credentials before hiring or referral
- Compliance teams — confirm a contractor, vendor, or firm holds an active, undisciplined license or registration
- HR / staffing agencies — bulk-verify nursing, therapy, or engineering license status
- Insurance & credentialing — cross-check practitioner and business-entity licensure and enforcement history
- Consumer protection — check a provider's or pharmacy's disciplinary record before engaging their services
- Legal & due diligence — pull professional-misconduct history for individuals and firms as part of investigations
- Pharmacy network verification — confirm a pharmacy's registration status, supervisor, and enforcement history
FAQ
What is the data source? The New York State Education Department (NYSED) Office of the Professions' official public license-verification service, the same data shown at op.nysed.gov's Online Verification Searches. The database is described by NYSED as updated daily.
Is this affiliated with NYSED? No — this is an independent, third-party actor that queries NYSED's public verification API. It is not affiliated with or endorsed by the New York State Education Department.
Why do I need to pick a profession before searching? NYSED's verification system scopes every individual, business-entity, and permit search to exactly one profession/board (or "All Business Entities" for business search), since license/entity numbers are only unique within a profession, not globally. Pharmacy search is not profession-scoped.
Why does a name search sometimes return fewer fields than an ID lookup?
Name-search listings (individual and business entity) only contain the summary fields (name, profession, address, ID, date). Turn on fetchFullDetails to also fetch status, dates, and discipline/principal data for every result (one extra request per result).
What does hasDisciplinaryAction: false / hasEnforcementAction: false mean vs. no enforcementActions field?
Both mean the same thing: no professional-misconduct action is on file. The boolean flag is always present so you can filter reliably; enforcementActions only appears when there is at least one action to show.
How current is the license status? NYSED states its verification database is refreshed daily.
Can I search by business/entity name instead of an individual?
Yes — use mode=businessEntitySearch (by name) or mode=byBusinessEntityId (exact PSC number) to search professional service corporations, PLLCs, and firms.
Can I search pharmacy establishments or temporary/limited permit holders?
Yes — mode=pharmacySearch/byPharmacyRegistrationNumber covers pharmacy establishments, and mode=permitteeSearch covers holders of limited/temporary practice permits.