Florida Contractor Directory & Leads Scraper avatar

Florida Contractor Directory & Leads Scraper

Pricing

from $2.00 / 1,000 florida contractor records

Go to Apify Store
Florida Contractor Directory & Leads Scraper

Florida Contractor Directory & Leads Scraper

Search official Florida DBPR construction licenses by contractor type, status, name, license number, city, county, and public mailing address. Verified free-plan runs return at most five records; paid and agentic-paid runs can request more.

Pricing

from $2.00 / 1,000 florida contractor records

Rating

0.0

(0)

Developer

Muhammad Afzal

Muhammad Afzal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Florida Contractor Directory & Leads Scraper (DBPR)

Search and export official Florida Department of Business and Professional Regulation (DBPR) Construction Industry contractor records for license verification, compliance research, territory planning, and address-based lead lists.

The Actor reads DBPR's weekly public construction-license extract, filters records during a streaming scan, validates each result, removes duplicates, and writes a clean dataset ready for CSV, Excel, JSON, API, or automation workflows.

Free-plan limit: verified Apify free-plan users can receive at most 5 contractor records per run. Paid and agentic-paid runs can use the requested maxResults limit. When the free cap is reached, the Actor finishes gracefully and explains that an upgrade is required for more results.

What it extracts

FieldDescription
licenseNumberDisplay license number such as CGC012345
licenseTypeCode, licenseTypeDBPR occupation code and decoded contractor category
licenseeNameLicensed person or entity
businessNameDBPR doing-business-as or qualified business name, when present
status, isCurrentNormalized status and best-effort current flag
primaryStatus, secondaryStatusOriginal decoded DBPR status values
originalLicensureDate, effectiveDate, expirationDateNormalized YYYY-MM-DD dates
addressLine1–3, city, state, postalCodePublic mailing-address fields
county, countyCodeCounty decoded from DBPR's two-digit code
fullAddressConvenience address assembled from source fields
sourceUrl, sourceLastModifiedAt, scrapedAtRecord provenance and freshness metadata

DBPR's construction-license extract does not contain phone numbers, email addresses, websites, social profiles, or inferred contacts. This Actor never fabricates those fields. “Leads” means licensed contractor and business records with public mailing addresses.

When to use it

  • Build a list of active general, building, residential, roofing, HVAC, plumbing, pool, solar, utility, mechanical, sheet-metal, or specialty contractors.
  • Find contractor businesses in a Florida city or county.
  • Verify a known set of DBPR construction license numbers against the weekly extract.
  • Segment licensees by category, status, expiration date, geography, or presence of a business name.
  • Feed normalized records into CRM review, compliance, procurement, market research, or mail outreach workflows.

Do not use this Actor as a substitute for real-time legal verification, complaints or discipline research, local permit research, or electrical-contractor coverage. DBPR says the bulk file is refreshed weekly and may be delayed by maintenance. The construction download excludes null-and-void, delinquent, and involuntarily inactive records. Florida electrical contractors are published in a separate DBPR board file.

Input

InputDefaultPurpose
searchTermsemptyPartial match against name, business, license, city, or address
licenseNumbersemptyExact display license numbers
citiesMiamiCase-insensitive exact city matches
countiesemptyFlorida county names or DBPR two-digit county codes
licenseTypesCGCConstruction occupation codes; clear to include all
statusesactiveNormalized statuses; clear to include all
onlyBusinessLeadstrueRequire a DBPR business name
maxResults100Unique output cap, from 1 to 50,000; verified free users receive at most 5
useBrowserFallbacktrueUse a browser session when HTTP access is challenged
proxyConfigurationApify ProxyConsistent proxy settings for the DBPR source session

Filters across different fields use AND logic. Multiple values inside the same field use OR logic. For example, cities Miami and Tampa with license type CGC returns general contractors in either city.

City lead-list example

{
"cities": ["Tampa"],
"licenseTypes": ["CGC", "CBC", "CRC"],
"statuses": ["active"],
"onlyBusinessLeads": true,
"maxResults": 250,
"useBrowserFallback": true,
"proxyConfiguration": { "useApifyProxy": true }
}

License verification example

{
"licenseNumbers": ["CGC012345", "CCC022222"],
"cities": [],
"licenseTypes": [],
"statuses": [],
"onlyBusinessLeads": false,
"maxResults": 10
}

Run through the Apify API

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~florida-dbpr-contractor-directory/runs" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"cities":["Orlando"],"licenseTypes":["CCC"],"statuses":["active"],"onlyBusinessLeads":true,"maxResults":100}'

Read results from the run's default dataset or use the results link in the Actor output schema. Read OUTPUT from the default key-value store for the outcome class, scan count, filters, source route, source freshness, warnings, and caveats.

Output example

{
"licenseNumber": "CGC012345",
"rawLicenseNumber": "0012345",
"licenseTypeCode": "CGC",
"licenseType": "Certified General Contractor",
"licenseeName": "DOE, ALEX",
"businessName": "DOE BUILDERS LLC",
"isBusinessLead": true,
"status": "active",
"isCurrent": true,
"expirationDate": "2030-08-31",
"addressLine1": "100 MAIN ST",
"city": "MIAMI",
"state": "FL",
"postalCode": "33101",
"county": "Miami-Dade",
"countyCode": "23",
"fullAddress": "100 MAIN ST, MIAMI, FL, 33101",
"sourceUrl": "https://www2.myfloridalicense.com/sto/file_download/extracts/CONSTRUCTIONLICENSE_1.csv",
"scrapedAt": "2026-09-12T08:00:00.000Z"
}

Pricing

This Actor uses pay per event with platform usage included.

EventPrice
Actor start$0.005 per run
Florida contractor record$0.002 per dataset item

A 1-record verification costs about $0.007. A 100-record lead list costs about $0.205. Apify applies the run's maximum charge limit. The Actor writes only validated, deduplicated records, and the dataset-item event is charged automatically only when a record is delivered.

Verified Apify free-plan runs are capped at 5 delivered records per run. The cap is enforced in addition to maxResults and the run's maximum-charge limit; paid and agentic-paid users are not clamped by this free-plan rule. Agentic payment requests without an Apify account are treated as non-free when the platform does not provide a free-plan signal.

Reliability and failure behavior

The source-access ladder is deliberately bounded:

  1. Try a direct HTTP download.
  2. Retry through the configured, session-consistent proxy.
  3. If enabled, open DBPR's official public-records page in a real browser and download the linked file with the same session.

DBPR currently uses a Cloudflare managed browser check. The Actor does not solve or bypass CAPTCHAs or other access controls. If all permitted routes are challenged, the run writes a BLOCKED OUTPUT summary, returns no fabricated records, and applies no dataset-item charges. Valid filters with no matches produce an EMPTY summary. Bad input produces a REJECTED summary before source work.

Data scope and responsible use

The source is an official Florida public-record download provided under Chapter 119, Florida Statutes. Use personal and address data lawfully. Respect marketing, privacy, suppression-list, fair-housing, anti-discrimination, and communications rules that apply to your workflow.

The data is limited to DBPR Construction Industry records in the downloaded snapshot. A missing record is not proof that a person or business is unlicensed: other DBPR boards, local governments, and other authorization systems may apply. For time-sensitive decisions, verify the record in DBPR's live license search or contact DBPR.

For support, open an issue from the Actor page and include the run ID, expected filter, and OUTPUT status. Do not include private API tokens or unrelated personal data.