Minnesota DLI Professional License Scraper
Pricing
from $1.20 / 1,000 results
Minnesota DLI Professional License Scraper
Scrape contractor and tradesman license records from Minnesota DLI (Department of Labor and Industry). Downloads bulk CSV regulant lists — residential contractors, electricians, plumbers, roofers, mechanical bond holders and more. No browser needed, direct file download.
Pricing
from $1.20 / 1,000 results
Rating
0.0
(0)
Developer
Haketa
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
19 hours ago
Last modified
Categories
Share
Minnesota DLI Contractor & Tradesman License Scraper
What does Minnesota DLI License Scraper do?
Minnesota DLI License Scraper extracts contractor and tradesman license records from the Minnesota Department of Labor and Industry (DLI). It downloads bulk CSV exports and returns structured data including license numbers, business names, license types/subtypes, status, phone numbers, enforcement actions, and renewal flags.
The scraper covers 10 license categories: electricians, plumbers, residential contractors, contractor registrations, mechanical contractor bond holders, boiler engineers, high pressure piping installers, residential roofers, manufactured home installers, and elevator mechanics — totaling 200,000+ records across all categories.
No browser required. No API keys. No login. Just direct CSV download and parsing.
Why scrape Minnesota DLI license data?
Minnesota has one of the strictest contractor licensing regimes in the United States. The state operates a Contractor Recovery Fund that requires all residential contractors to be licensed, and HVAC contractors must post a $25,000 surety bond — making bond verification a unique data point unavailable from most other state regulators.
Here's why this data is valuable:
- 🏗️ Subcontractor due diligence — Verify contractor license status and registration before awarding contracts in the Minneapolis/St. Paul metro area
- 🛡️ Insurance underwriting — Validate license status and mechanical contractor bond coverage for HVAC contractors
- 📞 Marketing & lead generation — Build targeted lead lists of active electricians, plumbers, roofers, and contractors filtered by category, location, and phone number
- 📊 Workforce analytics — Analyze license distribution, enforcement actions, and renewal patterns across Minnesota counties
- 🔄 Compliance monitoring — Schedule monthly runs to track expirations, revocations, new issuances, and enforcement action changes
- ⚡ Enforcement tracking — The
enforcementActionflag uniquely identifies contractors with active disciplinary actions
The Apify platform adds scheduling, API access, webhook integrations, and proxy rotation — turning a one-time scrape into an automated compliance monitoring pipeline.
How to scrape Minnesota DLI license data
- Go to the Minnesota DLI License Scraper on Apify Store
- Click Try for free to open the Actor in Apify Console
- Select which categories to scrape (or leave empty for all 10)
- Optionally enable Download ZIP mode for faster full scrapes
- Choose a status filter — Issued (Active) Only to get current licenses, or All Statuses to include expired/revoked
- Set Max Records (0 = unlimited) and click Start
- Download your dataset in JSON, CSV, Excel, or XML format — or connect it via API to your own systems
Each category downloads in 1–3 seconds. No proxies needed.
What data can you extract from Minnesota DLI?
| Field | Description | Example |
|---|---|---|
| License Number | DLI license number (2-letter prefix + digits) | RT660070 |
| License Type | License category | Electrical |
| License Subtype | Specific license classification | Registered Unlicensed Power Limited Technician |
| Entity Type | Business or Personal | Personal, Business |
| Business Name | Firm name (when entity = Business) | MIDWEST TV & APPLIANCE LLC |
| Individual Name | Person name (when entity = Personal) | MATT LOKKEN |
| DBA | Doing Business As trade name | BROADWAY HEATING & AIR CONDITIONING |
| Status | License status | Issued, EXPIRED, Voluntary Termination |
| Issue Date | Original issue date (YYYY-MM-DD) | 2012-12-07 |
| Expiration Date | Expiration date (YYYY-MM-DD) | 2026-05-31 |
| Address | Full street address | 6688 Talmadge RD |
| City | City | Eau Claire |
| State | State abbreviation | WI |
| ZIP Code | ZIP code | 54701 |
| Phone | Phone number | 7158351540 |
| Enforcement Action | Active disciplinary action flag | 0 (none), 1 (active) |
| Renewal in Progress | Currently renewing | Yes or null |
Minnesota DLI license categories explained
| Category | Description | Records |
|---|---|---|
Electrical | Electricians — journeyman, master, contractor, power limited technician | ~107,000 |
Plumbing | Plumbers — journeyman, master, contractor | ~40,000+ |
Residential_Contractors | Residential building contractors & remodelers | ~30,000+ |
Contractor_Registrations | Registered contractors (lower barrier than full license) | ~20,000+ |
Mechanical_Contractor_Bond | HVAC contractor bond records ($25K bond requirement) | ~5,200 |
Boiler | Boiler engineers & operators | varies |
High_Pressure_Piping | High pressure piping installers | varies |
Residential_Roofer | Residential roofing contractors | varies |
Manufactured_Home_Installer | Manufactured/mobile home installers | varies |
Elevator | Elevator contractors & mechanics | varies |
Minnesota license number prefixes
All Minnesota DLI license numbers follow the pattern 2-letter prefix + digits. The prefix identifies the license type:
BC (Building Contractor), PM (Master Plumber), PJ (Journeyman Plumber), EL (Electrical Contractor), EM (Master Electrician), EJ (Journeyman Electrician), CR (Contractor Registration), RR (Residential Roofer), RT (Registered Technician), MB (Mechanical Bond)
Understanding Minnesota license status
In Minnesota's system, "Issued" is the equivalent of "Active" in other states. Other status values include: Expired, EXPIRED, Voluntary Termination, Revoked, Suspended, Pending, Cancelled. Note that the casing is inconsistent in DLI's source data — the Actor preserves the original values.
Output example
{"licenseNumber": "MB005562","licenseType": "Mechanical Contractor Bond","licenseSubtype": "Mechanical Contractor Bond","sourceCategory": "Mechanical_Contractor_Bond","entityType": "Business","businessName": "MIDWEST TV & APPLIANCE LLC","individualName": null,"name": "MIDWEST TV & APPLIANCE LLC","dba": null,"responsibleIndividual": null,"status": "Issued","issueDate": "2010-11-19","expirationDate": "2028-03-23","address": "PO BOX 429","city": "LA CROSSE","state": "WI","zipCode": "54602","county": null,"phone": null,"email": null,"bondAmount": null,"bondCompany": null,"enforcementAction": "0","renewalInProgress": null,"scrapedAt": "2026-04-21T20:11:16.326Z"}
How much does it cost to scrape Minnesota DLI?
Minnesota DLI License Scraper uses a pay-per-result pricing model. You only pay for the records you extract:
| Plan | Price per 1,000 records | Full scrape (~200K records) | Example: Mech. Bond only (~5.2K) |
|---|---|---|---|
| Free (No discount) | $2.00 | ~$400 | ~$10.40 |
| Bronze | $1.80 | ~$360 | ~$9.36 |
| Silver | $1.50 | ~$300 | ~$7.80 |
| Gold | $1.20 | ~$240 | ~$6.24 |
The Actor itself runs on ~0.001 CU per run — the file download and parsing cost is negligible. You can try it for free with a limited number of records on the Apify Free plan.
Input configuration
Click on the Input tab for full details. Key parameters:
| Parameter | Default | Description |
|---|---|---|
| Categories | ["Mechanical_Contractor_Bond", "Residential_Roofer"] | DLI categories to scrape. Leave empty for all 10 |
| Download ZIP | false | Download combined ZIP instead of individual CSVs |
| Status Filter | all | issued = active licenses only |
| Max Records | 200 | Record cap. Set 0 for unlimited |
| Request Delay | 200 ms | Delay between file downloads |
Integrations and API access
You can connect Minnesota DLI License Scraper with almost any cloud service or web app via the Apify platform's built-in integrations. Connect with Make, Zapier, Slack, Airbyte, GitHub, Google Sheets, Google Drive, and more. You can also access datasets programmatically via the Apify API.
FAQ
Is it legal to scrape Minnesota DLI data?
Minnesota DLI publishes license data as public records in downloadable CSV format at a fixed URL. No login, no terms of service agreement, and no CAPTCHA. This Actor downloads the same files any browser would access. The data contains business names, addresses, and professional license information — all public record under Minnesota's Data Practices Act.
How often is DLI data updated?
DLI updates CSV export files regularly. For compliance monitoring, we recommend scheduling monthly runs using Apify's scheduling feature.
Why are bondAmount and bondCompany always null?
DLI's current CSV exports do not include bond detail columns. Bond amount and surety company information is only available through the iMS portal for individual lookups. These fields are retained in the schema for forward compatibility.
What does enforcementAction mean?
The enforcementAction field is a flag from DLI: "0" means no active enforcement action, "1" means the license has an active disciplinary action. This is a unique data point — most state license databases don't expose enforcement flags in bulk exports.
Can I download all categories at once?
Yes! Either leave the categories input empty (downloads all 10 individually) or enable Download ZIP mode, which fetches a single combined ZIP file and extracts all CSVs. ZIP mode is faster for full scrapes.
Where can I get support?
For issues or feature requests, use the Issues tab on the Actor page. I actively monitor feedback and respond promptly. For custom solutions, feel free to reach out.
Other license scrapers
Looking for license data from other states? Check out:
- 🏛️ Virginia DPOR License Scraper — 45K+ contractor and tradesman license records from Virginia with email addresses and specialty codes