Florida DBPR License Scraper: Lookup, Verify & Leads API avatar

Florida DBPR License Scraper: Lookup, Verify & Leads API

Pricing

from $6.15 / 1,000 results

Go to Apify Store
Florida DBPR License Scraper: Lookup, Verify & Leads API

Florida DBPR License Scraper: Lookup, Verify & Leads API

Look up and verify Florida DBPR professional licenses from myfloridalicense.com by name, business, or license number, no API key needed. Covers contractors, real estate, cosmetology, CPAs and 35+ boards. Get name, DBA, license number, status, county, address, dates, related licenses and disciplines.

Pricing

from $6.15 / 1,000 results

Rating

5.0

(2)

Developer

Scrapers Lat

Scrapers Lat

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

0

Monthly active users

16 days ago

Last modified

Share

Florida DBPR Professional License Scraper

Florida DBPR License Lookup, Verification & Leads Scraper

Fast Florida DBPR license lookup and verification with no API key. This scraper searches Florida's professional license registry at myfloridalicense.com (the Department of Business and Professional Regulation) by person name, business name, or exact license number, and returns clean, structured records for contractor license search, real estate, cosmetology, CPA, restaurant, and 35+ other regulated professions. Use it for license verification, contractor vetting, KYB and compliance, and professional license leads in Florida.

Here is one real full-detail record (license-number lookup with the AI add-ons on) showing every field the actor returns:

{
"licenseeName": "AARDVARK PLUMBING CO",
"primaryName": "SMITH, LAWRENCE C",
"nameDesignation": "Primary Name",
"dbaName": "AARDVARK PLUMBING INC",
"licenseNumber": "CFC056678",
"licenseType": "Certified Plumbing Contractor",
"profession": "Certified Plumbing Contractor",
"rank": "Cert Plumbing",
"nameType": "Alternate",
"status": "Current, Active",
"statusCategory": "active",
"statusDetail": "Current,Active",
"expirationDate": "08/31/2028",
"expirationDateDetail": "08/31/2028",
"licensureDate": "05/25/1993",
"licenseNumberDetail": "CFC056678",
"county": "Hillsborough",
"city": "TAMPA",
"state": "FL",
"zip": "33610",
"address": "1515 E KNOLLWOOD STREET TAMPA, FL 33610",
"fullAddress": "1515 E KNOLLWOOD STREET, TAMPA Florida 33610",
"mailingAddress": null,
"alternateNames": ["AARDVARK PLUMBING CO"],
"specialQualifications": [{ "qualification": "Construction Business", "effective": "01/29/2010" }],
"relatedLicenses": [
{
"relatedName": "AARDVARK PLUMBING INC",
"relatedLicenseNumber": null,
"relationType": "Primary Qualifying Agent for Business",
"relatedStatus": "Current",
"effectiveDate": "01/29/2010",
"rank": "Construction Business Information",
"relatedExpirationDate": null
}
],
"disciplines": null,
"searchType": "license",
"searchTerm": "CFC056678",
"url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseDetail?ID=E941FBE6942475F84E3177712B2CF505",
"observedAt": "2026-09-04T12:00:00.000Z",
"error": null,
"aiLeadScore": 85,
"aiLeadTemperature": "warm",
"aiProfileSummary": "AARDVARK PLUMBING CO is a certified plumbing contractor licensed in Florida (CFC056678) since May 25, 1993, active through August 31, 2028, operating under the DBA AARDVARK PLUMBING INC in Hillsborough County (Tampa), FL."
}

The most complete Florida DBPR license scraper available. It returns every field the official myfloridalicense.com verification pages expose for each licensee: business and primary (human) name, DBA and alternate names, license number, license type and profession, rank, status and a normalized status category, licensure and expiration dates, full address with county and city, special qualifications, related qualifying-agent licenses, and disciplinary actions. It adds optional AI lead scoring and profile summaries, and gives you person, business, and license-number search with status, county, city, board, and license-type filters to target exactly the licensees you need. Missing source values are returned as null, never invented.

📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples

Apify Coverage Output Billing

Table of contents

What it does

The actor searches Florida's DBPR license verification system (myfloridalicense.com) by person name, business name, or exact license number, applies the optional filters, paginates through the matches, and writes one normalized record per licensee to the run's dataset. Each summary record carries the licensee name, license number, profession/license type, status and status category, rank, address, and expiration date. With detail enrichment on, each licensee's detail page is opened to add the primary (human) name, DBA and alternate names, full address, county and city, licensure date, special qualifications, related qualifying-agent licenses, and any disciplinary actions.

Filter by statusFilter (e.g. active, inactive), county, and city, or narrow to a single board and license type. It reads only public data, needs no API key or login, and works entirely over HTTP through a US proxy.

Two optional paid AI add-ons run on top: withLeadScore scores each licensee as a B2B sales lead (0 to 100 with a hot/warm/cold tier), and withProfileSummary adds a short factual profile summary. Both are off by default and charged only on usable AI output. Missing source values are returned as null, never invented.

Quickstart

Open the actor, paste this into the input, and press Run. It looks up one exact license number with full detail, an AI lead score, and an AI profile summary.

{
"searchType": "license",
"licenseNumber": "CFC056678",
"maxLicensees": 3,
"withDetails": true,
"withLeadScore": true,
"withProfileSummary": true
}

Set searchType to name and fill lastName (with optional firstName) to search people, or business with businessName to search companies. Turn the AI add-ons off for a plain scrape.

Input reference

FieldTypeRequiredDefaultDescription
searchTypeenumyesnameHow to look up licenses: name (person), business, or license (exact number). Also accepts the aliases mode = byName / byLicenseNumber / byProfession.
lastNamestringnoSmithLicensee last name. Used when searchType is name.
firstNamestringno(any)Licensee first name. Optional, used with searchType name.
businessNamestringno(empty)Business or organization name. Used when searchType is business. Alias: orgName.
licenseNumberstringno(empty)Exact license number, for example CFC056678. Used when searchType is license.
statusFilterstringno(all)Keep only licensees whose status matches this text, for example Active, Inactive, or Current, Active. any means no filter.
countystringno(all)Keep only licensees in this Florida county, for example Hillsborough. Uses detail data, so requires detail enrichment (paid plan).
citystringno(all)Keep only licensees in this city, for example Tampa. Uses detail data, so requires detail enrichment (paid plan).
boardstringno(all boards)DBPR board code to narrow to a single profession board.
licenseTypestringno(all types)DBPR license type code (sub-category within a board).
withDetailsbooleannotrueOpen each detail page for primary name, full address, county, city, licensure date, DBA/alternate names, special qualifications, related licenses, and disciplines. Billed as an extra details event per record. Alias: fetchDetails. Paid plans only.
maxLicenseesintegerno10Maximum licensee records to collect. Free Apify plans are capped at 10. Alias: maxItems.
proxyConfigurationobjectnoApify US proxyProxy settings. Defaults to Apify US proxy.
withLeadScorebooleannofalsePaid AI add-on. Score each licensee as a B2B lead (0 to 100 plus hot/warm/cold). Requires a paid Apify plan.
withProfileSummarybooleannofalsePaid AI add-on. Add a concise factual profile summary of each licensee. Requires a paid Apify plan.

searchType is required; fill the field that matches it. Other filters are optional and combine with the search.

Output reference

One dataset item per licensee. Fields marked (details) appear only with withDetails. Types: string, object[], or null when the source value is absent.

FieldTypeDescription
licenseeNamestringLicensee name (person or business) as listed in the results.
primaryNamestring(details) Primary name on the license, typically the responsible person behind a business, or null.
nameDesignationstring(details) How the name is designated, for example Primary Name or Alternate Name.
dbaNamestring(details) Doing-business-as name, or null.
licenseNumberstringDBPR license number, for example CFC056678.
licenseTypestringLicense type, for example Certified Plumbing Contractor.
professionstringProfession or license category (as listed).
rankstringLicense rank or sub-type.
nameTypestringPrimary or Alternate for this name entry.
statusstringLicense status, for example Current, Active or Null and Void.
statusCategorystringNormalized status: active, inactive, pending, or other.
statusDetailstring(details) Detailed status text from the detail page.
expirationDatestringLicense expiration date (MM/DD/YYYY).
expirationDateDetailstring(details) Expiration date from the detail page.
licensureDatestring(details) Original licensure date (MM/DD/YYYY).
licenseNumberDetailstring(details) License number as shown on the detail page.
countystring(details) Florida county.
citystring(details) City parsed from the main address.
statestringState code, for example FL.
zipstringZIP code.
addressstringAddress as shown on the summary line.
fullAddressstring(details) Full main address from the detail page.
mailingAddressstring(details) Mailing address if different, or null.
alternateNamesstring[](details) Alternate names on file, or null.
specialQualificationsobject[](details) Special qualifications with qualification and effective date, or null.
relatedLicensesobject[](details) Related licenses (qualifying agents, business links) with relation type, status, and dates.
disciplinesobject[](details) Disciplinary actions on record, or null when none.
searchTypestringThe search type used for this record (name, business, or license).
searchTermstringThe value that was searched.
urlstringDetail page URL for this license.
observedAtstringISO 8601 collection timestamp.
errorstringnull on success. On a failed run, a single item with a populated error field is written instead.
aiLeadScoreinteger(add-on) Lead score 0 to 100, or null.
aiLeadTemperaturestring(add-on) hot, warm, or cold, or null.
aiProfileSummarystring(add-on) Short factual profile summary, or null.

How this compares

A strict superset of the other Florida DBPR actors on Apify. We accept every input they do and return every field they do, plus more.

CapabilityThis actorcrawlerbros (florida-dbpr-license-search-scraper)cblu (florida-license-records-scraper)
Search by person nameYesYesLimited (extract files)
Search by business nameYesYesLimited
Search by exact license numberYesYesNo
Status filterYes (active/inactive/text)YesStatus field only
County / city filterYesYesCounty only
Board / license-type narrowingYesYesNo
Primary (human) name behind a businessYesNoNo
DBA and alternate namesYesYesPartial
Special qualificationsYesYesNo
Related / qualifying-agent licensesYesNoNo
Disciplinary actionsYesNoNo
Normalized status categoryYesYesNo
AI lead score and profile summaryYes (opt-in)NoNo
No API key or login requiredYesYesYes

Input aliases (mode, orgName, fetchDetails, maxItems) are accepted so existing setups drop in without changes.

Example output record

Real record from a live run (input {"searchType":"name","lastName":"Smith","maxLicensees":3,"withDetails":true}), a former real-estate sales associate whose license is now void:

{
"licenseeName": "ABOUNADER SMITH, JUDITH",
"primaryName": "ABOUNADER SMITH, JUDITH",
"nameDesignation": "Primary Name",
"dbaName": null,
"licenseNumber": "606565",
"licenseType": "Real Estate Broker or Sales",
"profession": "Real Estate Broker or Sales",
"rank": "Sales Associate",
"nameType": "Primary",
"status": "Null and Void",
"statusCategory": "inactive",
"statusDetail": "Null and Void",
"expirationDate": "09/30/1995",
"expirationDateDetail": "09/30/1995",
"licensureDate": "12/06/1993",
"licenseNumberDetail": "606565",
"county": "Broward",
"city": "FT LAUDERDALE",
"state": "FL",
"zip": "33314",
"address": "5740 SW 47TH ST FT LAUDERDALE, FL 33314",
"fullAddress": "5740 SW 47TH ST, FT LAUDERDALE Florida 33314",
"mailingAddress": null,
"alternateNames": null,
"specialQualifications": null,
"relatedLicenses": null,
"disciplines": null,
"searchType": "name",
"searchTerm": "Smith",
"url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseDetail?ID=FC34C470B6751E9EF39D6C8159D69BFB",
"observedAt": "2026-09-04T21:32:37.433Z",
"error": null
}

Run via API and CLI

Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.

Run synchronously and get dataset items in one call:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~florida-dbpr-scraper/run-sync-get-dataset-items?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchType":"name","lastName":"Smith","maxLicensees":25,"withDetails":true}'

Start a run asynchronously:

curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~florida-dbpr-scraper/runs?token=<TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchType":"business","businessName":"Plumbing","statusFilter":"Current, Active","maxLicensees":100}'

Apify CLI:

apify call scrapers_lat/florida-dbpr-scraper \
--input '{"searchType":"license","licenseNumber":"CFC056678","withDetails":true}'

Fetch results

Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:

# JSON
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"
# CSV
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"
# Paginate large datasets
curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"

<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.

Billing and limits

  • Pay per result. You are charged per licensee record returned (result event). See the pricing tab for the current per-result price.
  • Details and AI add-ons billed separately. Detail enrichment charges an extra details event per licensee, only on a genuine detail fetch, and after the result row is delivered; the AI lead score and AI profile summary each charge per record, and only on usable AI output.
  • No charge on failure. If a run errors, the actor writes a single item with a populated error field and does not charge for it. Empty runs cost nothing.
  • Spend cap respected. Set maxTotalChargeUsd on the run; once reached, the actor stops emitting and charging further billable results.
  • Free Apify plans are capped at 10 records per run and return summary fields only (detail enrichment and the AI add-ons require a paid Apify plan). Upgrade for higher maxLicensees and full detail.

FAQ and troubleshooting

How do I look up one exact license? Set searchType to license and put the number in licenseNumber, for example CFC056678. It resolves directly to that license.

How do I search a person versus a business? Use searchType name with lastName (and optional firstName) for people, or searchType business with businessName for companies.

How do I keep only active licenses? Set statusFilter to active (or text such as Current, Active). Only matching licensees are returned. Use inactive to keep expired, void, revoked, or suspended licenses. any returns everything.

How do I limit results to a county or city? Set county (for example Hillsborough) or city (for example Tampa). County and city come from the detail page, so these filters run on paid plans with detail enrichment on.

What is the difference between licenseeName and primaryName? licenseeName is the name on the result row (often the business or DBA). primaryName is the primary name on the license, usually the responsible person behind a business, which is useful for lead outreach.

Why are county, licensure date, and related licenses missing? Those come from the detail page. Turn on withDetails (default on) to capture them. Values DBPR does not publish are returned as null.

What does a Null and Void status mean? The license is no longer active. The actor returns historic and inactive licenses as they appear in DBPR; use statusFilter to exclude them.

A run returned 0 records. Why? The name, business, license number, or filters matched nothing. Loosen filters or check the spelling. Zero-result runs are not charged.

Is this an official DBPR tool? No. This actor is independent and has no affiliation with the Florida Department of Business and Professional Regulation. It reads only data that is publicly available on myfloridalicense.com. Use the results in accordance with the source's terms and applicable law.

More scrapers at scrapers.lat

Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.


Independent tool, not affiliated with the Florida Department of Business and Professional Regulation. Accesses only publicly available license data. Use in accordance with the source's terms and applicable law.