← Health board

OPR

Vermont Professional License Lookup & Leads Scraper (OPR)

Every Vermont professional licence from the Office of Professional Regulation: 52 professions, from residential contractors and engineers to nurses and pharmacists. Name, licence number, status, mailing address, issue and expiry dates. Export or look up.

—insufficient data

Verification

Not yet in the weekly verification report.

Output fields

Authoritative field set from the dataset schema.

FieldType
source_urlstring|number|array|object|null
listing_idstring|number|array|object|null
namestring|number|array|object|null
phonestring|number|array|object|null
phone_e164string|number|array|object|null
emailstring|number|array|object|null
websitestring|number|array|object|null
streetstring|number|array|object|null
citystring|number|array|object|null
regionstring|number|array|object|null
postal_codestring|number|array|object|null
countrystring|number|array|object|null
categorystring|number|array|object|null
categoriesstring|number|array|object|null
latstring|number|array|object|null
lngstring|number|array|object|null
sourcestring|number|array|object|null
extrasstring|number|array|object|null
noticestring|null

Sample row

{
  "listing_id": "174.0000001",
  "name": "Twin Pines Building & Remodeling LLC",
  "street": "31 West St",
  "city": "Essex Junction",
  "region": "VT",
  "postal_code": "05452-3550",
  "country": "US",
  "category": "Residential Contractor - Business",
  "categories": [
    "Residential Contractor - Business"
  ],
  "source": "snapshot",
  "source_url": "https://sos.vermont.gov/opr/find-a-professional/#NGLP174-174.0000001",
  "extras": {
    "profession": "Residential Contractors",
    "status": "Active"
  }
}

Inputs

FieldTypeReqDefaultDescription
mode string no "auto" export: no names, just filters; returns the whole matching list. lookup / verify: put licensee names (matched if contained in the licensee name) or licence numbers (exact) in 'queries'. auto picks the mode for you.
query string no — A licensee's name (or listing number) to look up in the stored copy of the directory. Kept alongside 'queries' for saved tasks.
queries array no [] A licensee's name (or listing number) to look up in the stored copy of the directory. Several values in one run; combined with 'query'.
profession string no — Only listings in this profession. Kept alongside 'professions' for saved tasks.
professions array no [] Only listings in this profession. Several values in one run; combined with 'profession'.
status string no — Only listings in this status. Kept alongside 'statuses' for saved tasks.
statuses array no [] Only listings in this status. Several values in one run; combined with 'status'.
city string no — Only listings in this city. Kept alongside 'cities' for saved tasks.
cities array no [] Only listings in this city. Several values in one run; combined with 'city'.
categories array no [] Only rows from this licence type (one or more). Available: 503B Outsourcer, Accounting Firm, Accounting Firm - Temporary License, Acupuncture Detoxification Technician, Acupuncturist, Acupuncturist - Facility Staff - Inactive Registration, Acupuncturist - Interim Telehealth Registration, Acupuncturist - Provisional, Advanced Practice Registered Nurse, Advanced Practice Registered Nurse - Emergency Temporary License, Advanced Practice Registered Nurse - Facility Staff - Inactive Registration, Advanced Practice Registered Nurse - Interim Telehealth Registration, Advanced Practice Registered Nurse - Provisional, Advanced Practice Registered Nurse - Refresher Permit, Advanced Practice Registered Nurse - Temporary Permit, Amateur Promoter, Annual Event Permit, Applied Behavior Analyst, Applied Behavior Analyst - Interim Telehealth Registration, Applied Behavior Analyst - Provisional, Apprentice Addiction Professional, Architect, Assistant Behavior Analyst, Assistant Behavior Analyst - Interim Telehealth Registration, Athletic Trainer, … (347 in all; an unknown name returns the full list, free).
maxResults integer no 500 Per query in lookup mode; per run in export mode.
proxyConfiguration object no {"useApifyProxy":false} Used only for live lookups; exports read the stored snapshot.

Pricing

Pay per result (dataset-item) — no charge for empty runs.
Example: 1000 professional licences at $0.004/result ≈ $4.00.

FAQ

Where does the data come from?

The Profession Roster Download of the Vermont Office of Professional Regulation (sos.vermont.gov, Find a Professional), one spreadsheet per licence type with every status. We download every roster and serve it from a stored copy; the run log gives its date.

Is there a phone or email?

No. OPR's rosters carry a mailing address, not a phone or email. Street addresses fill about 94% of rows (checked 2026-11-03).

Which professions are covered?

All 52 OPR professions with a non-empty roster, 347 licence types: Nursing, Pharmacy, Engineering, Real Estate, Residential Contractors, Allied Mental Health, Social Work, Dental, Architects, Accountancy, Notaries Public, Barbers & Cosmetologists and more. Put professions in Profession, or exact licence types in Licence type; leave both empty for everything. Physicians (MD) are licensed by the Board of Medical Practice and are not in OPR's rosters.

Does it include contractors?

Yes: OPR's Residential Contractors profession, as two licence types, Residential Contractor - Business and Residential Contractor - Individual (1,653 active licences on 2026-11-03). Set Licence type to those two and Status to Active, Active-InRenewal.

Are expired or inactive licences included?

Yes, every status OPR publishes: Active, Active-InRenewal, Expired, Inactive per Request, Suspended, Revoked and others. Most rows are Expired, so set Status to Active and Active-InRenewal for a live list.

How do I look up a person or a licence number?

Put names or licence numbers in queries and set mode to lookup. A name matches if it is contained in the holder's name; a number matches exactly. Narrow it with Profession or Licence type.

How current is it?

Rows come from a stored copy of OPR's rosters, refreshed when it is over 30 days old and the actor is in use. The run log states the date of the copy you received, and a copy older than 45 days adds a free notice saying so.

How am I charged?

One event per licence returned. Notices are free.

Guides & use cases