DBPR
Florida Roofing Contractor Directory & Leads (DBPR)
Export every DBPR-licensed Florida roofing contractor — firm, qualifier, licence #, status, expiry, address, city, ZIP and county — statewide or by county.
Verification
Output fields
Authoritative field set from the dataset schema.
| Field | Type |
|---|---|
state | string|null |
license_number | string|null |
license_code | string|null |
license_type | string|null |
business_name | string|null |
person_name | string|null |
status | string|null |
expiration_date | string|null |
address | string|null |
po_box | boolean|null |
city | string|null |
address_state | string|null |
zip_code | string|null |
county | string|null |
phone | string|null |
bond_amount | string|null |
bond_company | string|null |
insurance_company | string|null |
matched_by | string|null |
notice | string|null |
notice_type | string|null |
source_url | string|null |
Sample row
{
"state": "FL",
"license_number": "CCC1328938",
"license_code": "CCC",
"license_type": "Certified Roofing Contractor",
"business_name": "MODERN ROOFING SOLUTIONS",
"person_name": "AARONS, PIERRE GILBERT",
"status": "Current, Active",
"expiration_date": "2028-08-31",
"address": "4902 SW 67TH TER",
"po_box": false,
"city": "GAINESVILLE",
"address_state": "FL",
"zip_code": "32608",
"county": "Alachua",
"phone": null,
"matched_by": "dbpr_search",
"source_url": "https://www.myfloridalicense.com/LicenseDetail.asp?SID=&id=3EFD7CF8E8DE7D0716AAB468558E9A60"
} Inputs
| Field | Type | Req | Default | Description |
|---|---|---|---|---|
counties | array | no | [] | Florida counties to export, e.g. 'Miami-Dade', 'Hillsborough', 'St. Johns'. Case, punctuation and a trailing 'County' do not matter; 'Dade' and DBPR's two-digit county codes work too. Leave empty for all of Florida (plus licensees with an out-of-state address). A name that is not a Florida county is dropped and logged; if none is recognised the run returns one free notice instead of widening to the whole state. |
cities | array | no | [] | Optional: keep only licensees whose address city is one of these (exact city name, case-insensitive, e.g. 'Jacksonville', 'Cape Coral'). Leave empty for every city. |
licenseTypes | array | no | ["CCC","RC"] | CCC = Certified Roofing Contractor (may work anywhere in Florida), RC = Registered Roofing Contractor (limited to the local jurisdictions where they hold a competency card). Default: both. |
statuses | array | no | ["active"] | active (current or on probation, and active — allowed to contract), inactive, suspended, or all. Default: active. 'all' means those three together; null & void, delinquent, revoked and exam-eligible applicants are never returned. |
maxResults | integer | no | 500 | Cap on the rows returned for the whole run (this is one statewide export, not a per-county search). Florida had 9,736 active roofing licences on 2026-10-22, so 10000 returns all of them (a statewide run took about 12.5 minutes). Default 500. |
proxyConfiguration | object | no | {"useApifyProxy":false} | Optional. DBPR's licence search answers Apify's own IP, so no proxy is used by default; set one only if a run comes back blocked. |
Pricing
Pay per result (dataset-item) — no charge for empty runs.
Example: 1193 active Miami-Dade roofing licences at $0.002/result ≈ $2.39.
FAQ
Where does the data come from?
The Florida Department of Business and Professional Regulation (DBPR) licence search at myfloridalicense.com. The actor runs it for the two roofing licence types in each county you ask for and reads every result page.
Which licences are included?
The two Florida roofing licences: CCC Certified Roofing Contractor (may work anywhere in the state) and RC Registered Roofing Contractor (limited to the local jurisdictions where they hold a competency card). Other trades are not served by this actor.
Is there a phone number or email?
No. DBPR's search shows no phone or email. You get the firm, qualifier and DBPR's main address (98% of active rows carry a city and ZIP).
How many rows can I get?
Up to 100,000 per run. On 2026-10-22 there were 9,736 active roofing licences statewide (1,193 in Miami-Dade, 1,023 in Broward, 655 in Palm Beach) and 10,687 counting inactive and suspended ones.
How current is it?
Live: each run reads DBPR's search at run time. A statewide run is about 140 county searches and took 745 s on 2026-10-22; one county takes a minute or two at most.
What does 'active' mean here?
DBPR status Current (or Current with Probation) and Active. 'inactive' and 'suspended' are separate filter values, and 'all' returns those three together. Null & void, delinquent, revoked and exam-eligible records are never returned.
How am I charged?
Per row returned. A run that finds nothing, an unusable filter, or a source outage returns one free notice row and costs nothing beyond Apify platform usage.
Guides & use cases
Related actors