← Health board

CSL

Massachusetts Construction License Lookup & Verify (CSL)

Verify any Massachusetts Construction Supervisor License (CSL) by license number or last name — type, status, expiration & address — from the official state registry.

100%golden-diff pass
Run it on Apify → verified nightly

Verification

100%golden-diff success
44canary runs
0days since last canary run

Output fields

Authoritative field set from the dataset schema.

FieldType
statestring|null
license_numberstring|null
business_namestring|null
person_namestring|null
license_typestring|null
statusstring|null
issue_datestring|null
expiration_datestring|null
citystring|null
countystring|null
addressstring|null
zip_codestring|null
phonestring|null
bond_amountstring|null
bond_companystring|null
insurance_companystring|null
matched_bystring|null
source_urlstring|null

Sample row

{
  "state": "MA",
  "license_number": "CS-093362",
  "person_name": "CHARLES JOHNSON IV",
  "business_name": null,
  "license_type": "Construction Supervisor",
  "status": "Null and Void",
  "issue_date": "2/9/2010",
  "expiration_date": "2/9/2014",
  "city": "Salisbury",
  "address": "17 LENA MAES WAY",
  "zip_code": "01952",
  "matched_by": "license_number",
  "source_url": "https://madpl.mylicense.com/Verification/Details.aspx?result=e42cc6bc-9d25-4fa1-a73b-656980e54be9"
}

Inputs

FieldTypeReqDefaultDescription
query string no "Smith" A Massachusetts Construction Supervisor License number (e.g. 'CS-093362' or just the digits) OR a last name. A license number is looked up directly; anything else is searched against the last-name index. Both return the matching licenses, deduped by license number.
queries array no ["Smith"] Look up many in ONE run instead of starting a run per lookup. Takes the same values as 'Search query'. Combined with 'Search query' if you fill both, and duplicates are removed. Billing is unchanged: you are charged per record returned, not per entry submitted.
licenseType string no "" Restrict the search to one Construction Supervisor License subtype. Default searches all three.
statusFilter string no — Exact license-status text to keep, e.g. 'Active', 'Expired', 'Null and Void', 'Suspended', 'Revoked'. Default: no filter (all statuses).
includeDetails boolean no true When on (default), each match is enriched with its full Details.aspx record — address, city, ZIP, and issue/expiration dates. Turn off for a faster, lighter result list (name, license #, type, status).
maxResults integer no 50 Cap on the number of records returned PER ENTRY, not per run — so a batch cannot silently return only the first 50 rows overall and read as 'the rest don't exist'. The portal itself caps each individual search at ~40 rows per page — narrow the query (name, license type, status) to get under that. Default 50.
proxyConfiguration object no {"useApifyProxy":false} Optional. The MyLicense portal is usually reachable directly; enable a proxy (e.g. residential) only if a run is blocked or served a challenge.

Pricing

Pay per result (dataset-item) — no charge for empty runs.
Example: 100 verified license records at $0.004/result ≈ $0.40.

FAQ

Where does the data come from?

The official Massachusetts MyLicense 'Verification' registry (madpl.mylicense.com), run by the Office of Public Safety and Inspections — public, authoritative license data.

What can I search by?

A Construction Supervisor License number (e.g. CS-093362) or a last name. Both return the matching licenses, deduped by license number.

Does this cover Home Improvement Contractor (HIC) registration too?

No — HIC registration lives on a separate Salesforce portal (contractorhub.mass.gov) and isn't covered by this actor. This actor covers the Construction Supervisor License (CSL) only.

What fields do I get?

License number, licensee name, license type, status, and expiration, plus address and issue date when detail enrichment is on.

How am I charged?

Pay-per-result — per license match returned. No charge for searches with no results.

Is this personal data?

It's public professional-license data (licensee records as the Commonwealth publishes them); we add no personal/PII enrichment.

How current is it?

It reflects the live MyLicense record at lookup time.

Guides & use cases

Related actors