Florida Contractor Licenses - DBPR Construction Register
Pricing
from $0.03 / 1,000 florida construction contractor license records
Florida Contractor Licenses - DBPR Construction Register
Florida DBPR construction contractor license register (265,000+ rows, public record): search by name, county, city, license class, or status, look up one license number, and screen suspensions and probations. Decodes the state's own county and class codes; includes qualified business organizations.
Pricing
from $0.03 / 1,000 florida construction contractor license records
Rating
0.0
(0)
Developer
Wenhao Yang
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
3
Monthly active users
6 days ago
Last modified
Categories
Features
Share
Florida Contractor Licenses - DBPR Construction Register (Board 06)
The Florida Department of Business and Professional Regulation (DBPR) publishes its entire current construction-industry licensee file as a public record under Chapter 119, Florida Statutes - every certified and registered contractor, plus the qualified business organizations behind them - refreshed weekly. This actor turns that register into a charged-per-record lookup and screening tool.
Built for: contractor due diligence - verifying that a contractor actually holds a current Florida license, screening suspended and probationary licenses, corporate / qualifying-individual research, construction-industry onboarding and compliance checks, and statewide market sizing.
What it covers
265,134 rows (current register, operator-refreshed snapshot - 2026-11-06):
| Occupation | What it is | Rows |
|---|---|---|
Qualified Business Organization | a business qualified through a qualifying individual (no license number of its own) | 128,847 |
Certified General Contractor | CGC | 36,155 |
Financial Responsible Officer | FRO | 19,567 |
Certified Building Contractor | CBC | 18,079 |
Certified Air Conditioning Contractor | CAC | 11,681 |
Certified Roofing Contractor | CCC | 10,487 |
...plus certified mechanical, pool/spa, residential, sheet metal, utility & excavation, solar, specialty and pollutant-storage contractors, the registered (RA / RB / RC / RF / RG / RM / RP / RR / RS / RU / RX) tier, tank contractors, course providers and CILB courses. Roughly half the file - 128,847 rows - is qualified business organizations, which carry no license number of their own; the other 136,287 rows hold a license number.
Every row carries the licensee / business name, the doing-business-as name, the license number, occupation, class code, mailing address, city, state, ZIP, decoded county, primary status (current / suspended / probation), secondary status (active / inactive), and original-licensure, effective and expiration dates. Dates come through as clean ISO (YYYY-MM-DD).
The register ships as raw codes - Florida's file has no header row, stores the county as a number (not a name), and the license status as a letter. This actor decodes all of it:
23->Miami-Dade,C->Current,S->Suspended, and a class code likeGLZ->Glass & Glazing Specialty. Out-of-state licensees are resolved to their home state (744->Texas).
Typical questions
- "Is this contractor's license current in Florida - and is it suspended or on probation?"
- "Show every certified general contractor in Lee County."
- "Which businesses are qualified under this qualifying individual?"
- "Look up license CBC006261."
- "Find contractors carrying a specialty class - glass & glazing, irrigation, marine, pool."
- "How are licensed contractors distributed across Florida's 67 counties?"
Inputs
| Input | What it does |
|---|---|
licenseNumber | exact license number -> that contractor's row(s), e.g. CBC006261 (case and punctuation ignored; leading zeros are significant). The bare 7-digit sequence (e.g. 0006261) also matches, but can map to more than one licence across occupations |
name | licensee or DBA name substring, case-insensitive |
occupation | occupation code (CGC, CBC, CAC, SCC, QB, FRO ...) |
classCode | class code (A / B / C, or a specialty code). The same letter means different things in different occupations, so combine it with occupation |
county / countyCode | county by decoded name, or by DBPR numeric code |
city / state / zipCode | location filters (out-of-state licensees carry their home state) |
status | C = Current, S = Suspended, P = Probation |
secondaryStatus | A = Active, I = Inactive |
licensedOnly | true = only license-holding rows; false = only qualified business organizations |
aggregate / groupBy | one summary row per group with a count - occupation / county / status / class |
maxResults | cap records (default 200) |
Default run = a tiny aggregate (occupation mix) - fast and safe for the daily auto-test, never a surprise full dump. For records, add a name / county / occupation filter or a licenseNumber.
Example inputs
Look up one license number - returns that contractor's row(s); a 7-digit sequence can return more than one licence, so pass the composed number when you have it.
{ "licenseNumber": "CBC006261" }
Certified general contractors in Lee County - 1,746 today; totalMatched on each row shows the full count. Results are the first maxResults matches (max 20,000) - there is no offset paging, so raise maxResults to widen.
{ "occupation": "CGC", "county": "Lee", "maxResults": 50 }
Screen suspended licenses - 225 today; status=S returns them all when maxResults is high enough.
{ "status": "S", "maxResults": 300 }
The occupation mix - one summary row per occupation, across the register.
{ "aggregate": true, "groupBy": "occupation" }
groupBy=county includes out-of-state licence buckets (other states, territories and foreign addresses) alongside Florida's 67 counties; add "state": "FL" to keep only Florida counties.
Low cost
From $0.00005 per record, down to $0.00003 at Gold - billed only for the rows you use, and each record is metered individually.
Florida's register is a 46 MB, headerless flat file with no query server behind it - there is no way to ask the state for "just Lee County general contractors". Rather than make every lookup pay for a full-register download, the register is mirrored by the operator, and each run queries the mirror in a single pass. That mirror is what lets a 265,134-row register behave like a live lookup at per-record pricing. Every user pull checks the corpus header and row total against the register's known shape (the row total recorded by the owner warm - 265,134 at the 2026-11-06 refresh - or a 230,000-row floor when that small record is unavailable), so a truncated, swapped or half-written mirror fails loudly instead of returning a short or empty answer. The snapshot is readable on each record as refreshed; a mirror older than 14 days fails rather than answering with stale licence status. County names are matched case- and punctuation-insensitively (Miami Dade = Miami-Dade).
Example output
licenseNumber=CBC006261 - a certified building contractor:
{"platform": "fl-dbpr","source": "fl-dbpr-construction","dataState": "FL","licenseNumber": "CBC006261","licenseSequence": "0006261","occupationCode": "CBC","occupation": "Certified Building Contractor","licenseeName": "ERGLE, GERALD K","dbaName": "","classCode": "","classDescription": "","address1": "3631 SE 12TH PLACE","address2": "","address3": "","city": "OCALA","state": "FL","zipCode": "34471","countyCode": "52","county": "Marion","primaryStatus": "C","primaryStatusMeaning": "Current","secondaryStatus": "I","secondaryStatusMeaning": "Inactive","originalLicensureDate": "","effectiveDate": "2026-08-11","expirationDate": "2028-08-31","refreshed": "2026-11-06","mode": "record","groupKey": "","groupCount": "","groupBy": "","totalMatched": "1"}
aggregate=true, groupBy=occupation - the register's occupation mix:
Qualified Business Organization 128,847Certified General Contractor 36,155Financial Responsible Officer 19,567Certified Building Contractor 18,079Certified Air Conditioning Contractor 11,681
Personal data and corrections
Most licensed contractors are individuals: roughly half the rows name a person (LAST, FIRST) rather than a company, and the register includes the mailing address DBPR publishes for the licence. This is the state's own public record under Chapter 119, F.S.; the actor adds no contact details, officers or anything not already in the file. Run metadata (a run id, stage and error type - not the records themselves) is reported to the operator's monitoring endpoint; your result set is never sent anywhere else.
Corrections and removal. The register is published by DBPR. If a record is wrong, or you need an entry suppressed, contact the publisher through the actor's Issues tab; we forward verifiable correction and removal requests to DBPR and reply within 10 working days.
One licence number is not always one row. A licensee can hold several licences, and 140 CRS1 course-provider licence numbers each appear twice in the source itself (280 rows). Use occupationCode and licenseSequence to disambiguate; totalMatched on each row tells you whether your filter matched more than the page you received.
Source
- DBPR Licensee Download Files - the official weekly public extract this actor reads.
- License data is DBPR's own published register; it reflects the state's record as of the
refreshedDateon each record.