---
type: "firecrawl-provider"
description: "Florida Department of Business and Professional Regulation public license verification at myfloridalicense.com (the ASP.NET MVC `portalsearches/VerifyLicensee` application that the legacy wl11.asp search now redirects to): search professional and business licensees by name or license number with board, license type, county, city and state filters and historic-license inclusion; the licensee detail page with status, rank, licensure and expiry dates, special qualifications and alternate names; the related-license table (qualifying agents, businesses) and the public complaint list. Server-rendered HTML, anonymous, stateless (no cookies or tokens required)."
use_when: "Florida Department of Business and Professional Regulation public license verification at myfloridalicense.com (the ASP.NET MVC `portalsearches/VerifyLicensee` application that the legacy wl11.asp search now redirects to): search professional and business licensees by name or license number with board, license type, county, city and state filters and historic-license inclusion; the licensee detail page with status, rank, licensure and expiry dates, special qualifications and alternate names; the related-license table (qualifying agents, businesses) and the public complaint list. Server-rendered HTML, anonymous, stateless (no cookies or tokens required)."
categories: "Public records"
capabilities: 4
credits_per_call: 5
---
# Florida DBPR licensing registry (myfloridalicense.com) on Firecrawl Alexandria

Florida Department of Business and Professional Regulation public license verification at myfloridalicense.com (the ASP.NET MVC `portalsearches/VerifyLicensee` application that the legacy wl11.asp search now redirects to): search professional and business licensees by name or license number with board, license type, county, city and state filters and historic-license inclusion; the licensee detail page with status, rank, licensure and expiry dates, special qualifications and alternate names; the related-license table (qualifying agents, businesses) and the public complaint list. Server-rendered HTML, anonymous, stateless (no cookies or tokens required).

- Categories: Public records
- Category index: [Public records category](https://firecrawl.dev/alexandria/agents/categories/public-records)
- Provider key: `myfloridalicense-com`
- Access: Firecrawl credits
- Cost: 5 credits per call

## More

- [Human guide](https://firecrawl.dev/app/alexandria/myfloridalicense-com)
- [OpenAPI spec](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/openapi.json)

## Capabilities

- [Get license complaints](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_complaints): The public complaint list for a licensee (POST /portalsearches/VerifyLicensee/ViewComplaint): number, class, incident date, status, disposition, disposition date and the discipline date / description column, as the site's Complaint Details table shows them. Keyed by the 32-hex detail_id: the detail page is fetched first to resolve the numeric internal_id and to confirm the licensee exists (an unknown detail_id is not_found). An empty table is the common case and a valid result (`complaints: []`). The site itself notes the list may not include every public complaint and excludes confidential ones.
- [Get license detail](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_detail): The licensee detail page (GET /portalsearches/VerifyLicensee/LicenseDetail?ID=<detail_id>, also where the legacy LicenseDetail.asp?id= links redirect): name with its name type, DBA name, main address and county, license type, rank, license number, status (primary and secondary), licensure and expiry dates, special qualifications with their effective dates, alternate names, and the site's numeric internal_id used by the related-license and complaint forms. An unknown or no-longer-published detail_id makes the site answer HTTP 500 'An error occurred while processing your request'; that is reported as not_found.
- [Get license relations](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_relations): Related license information for a licensee (POST /portalsearches/VerifyLicensee/LicenseRelation): the licensee header (name, license number, rank, primary and secondary status, original license and expiration dates) and the table of related licenses (qualifying agents, the businesses they qualify, financially responsible officers) with license number, status, related party, relationship type, relation effective date, rank and expiration date. Keyed by the 32-hex detail_id: the detail page is fetched first to resolve the site's numeric internal_id and to confirm the licensee exists (an unknown detail_id is not_found). A licensee without related licenses is a valid empty result (`relations: []`, `licensee: null`, the site's 'There are no related licenses found' message). The site's own filter form (license type category, names, dates) and its pagination beyond the first 10 rows are not exposed; a longer table is reported as partial.
- [Search licenses](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/search_licenses): Search the Florida DBPR licensee registry (POST /portalsearches/VerifyLicensee/Results). Two modes: by license number (`license_number`, SearchType=SearchByLicenseNumber) or by name (`last_name` / `first_name` / `middle_name` for individuals, `org_name` for businesses and establishments; SearchType=SearchByName). Name searches accept the site's optional filters: `board` (2-3 digit DBPR board code, e.g. 06 Construction Industry, 25 Real Estate), `license_type` (4-digit code within the board), `county` (Florida county code, e.g. 39 Hillsborough, 47 Leon, 23 Dade), `city` and `state`, and `include_historic` for licenses no longer current. Returns the results table as displayed: one row per licensee name (a licensee with a DBA appears once as `Primary` and once as `DBA`, both with the same detail_id), with license type, license number and rank, status and expiry, the address block and the 32-hex detail_id that `get_license_detail`, `get_license_relations` and `get_license_complaints` take. `per_page` rows per page (default 10); the continuation cursor is `<page>:<total_records>` because the site needs the total echoed back to page. A search with no match is a valid empty result (the site's 'There were no records found' message with 'Search Results - 0 Records'), not an error. `data_as_of` is the site's nightly refresh stamp.

## 1. Choose this provider when

Florida Department of Business and Professional Regulation public license verification at myfloridalicense.com (the ASP.NET MVC `portalsearches/VerifyLicensee` application that the legacy wl11.asp search now redirects to): search professional and business licensees by name or license number with board, license type, county, city and state filters and historic-license inclusion; the licensee detail page with status, rank, licensure and expiry dates, special qualifications and alternate names; the related-license table (qualifying agents, businesses) and the public complaint list. Server-rendered HTML, anonymous, stateless (no cookies or tokens required).

## 2. Minimal request

Call `POST https://api.firecrawl.dev/v2/scrape` with `{ alexandria: { provider, capability, options } }`. For a batch, send `{ alexandria: [...] }` with up to 10 calls.

```json
{
  "provider": "myfloridalicense-com",
  "capability": "licenses/get_license_complaints",
  "options": {
    "detail_id": "E941FBE6942475F84E3177712B2CF505"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `detail_id` (string, required): The 32-hex licensee id from search_licenses, or a pasted LicenseDetail URL. Example: `<detail_id>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "myfloridalicense-com",
    capability: "licenses/get_license_complaints",
    options: {
      detail_id: "E941FBE6942475F84E3177712B2CF505",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "myfloridalicense-com",
  "capability": "licenses/get_license_complaints",
  "options": {
    "detail_id": "E941FBE6942475F84E3177712B2CF505"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "myfloridalicense-com",
    "capability": "licenses/get_license_complaints",
    "options": {
      "detail_id": "E941FBE6942475F84E3177712B2CF505"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'myfloridalicense-com/licenses/get_license_complaints' \
  --options '{"detail_id":"E941FBE6942475F84E3177712B2CF505"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "myfloridalicense-com",
  "capability": "licenses/get_license_complaints",
  "options": {
    "detail_id": "E941FBE6942475F84E3177712B2CF505"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "myfloridalicense-com",
  "capability": "licenses/get_license_complaints",
  "options": {
    "detail_id": "E941FBE6942475F84E3177712B2CF505"
  }
}
```

## 6. Response data

The response includes `success`, `provider`, `capability`, `creditsCost` and `data`. This example shows the provider payload in `data`:

```json
{
  "complaints": [],
  "detail_id": "E941FBE6942475F84E3177712B2CF505",
  "internal_id": "830082",
  "name": "SMITH, LAWRENCE C",
  "observed_at_ms": 1791009707582,
  "source_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/ViewComplaint"
}
```

## API reference-derived contract

The following capability contract is generated from the same normalized Alexandria API reference exposed in the API spec.

### Get license complaints

- Capability: `licenses/get_license_complaints`
- Description: The public complaint list for a licensee (POST /portalsearches/VerifyLicensee/ViewComplaint): number, class, incident date, status, disposition, disposition date and the discipline date / description column, as the site's Complaint Details table shows them. Keyed by the 32-hex detail_id: the detail page is fetched first to resolve the numeric internal_id and to confirm the licensee exists (an unknown detail_id is not_found). An empty table is the common case and a valid result (`complaints: []`). The site itself notes the list may not include every public complaint and excludes confidential ones.
- Instructions: With a detail_id from search_licenses, to check for published complaints or discipline before the licensee detail.
- Cost: 5 credits per call
- Capability file: [Get license complaints](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_complaints)

Accepted options:
- `detail_id` (string, required): The 32-hex licensee id from search_licenses, or a pasted LicenseDetail URL. Example: `<detail_id>`

Response schema example:
```json
{
  "complaints": [],
  "detail_id": "E941FBE6942475F84E3177712B2CF505",
  "internal_id": "830082",
  "name": "SMITH, LAWRENCE C",
  "observed_at_ms": 1791009707582,
  "source_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/ViewComplaint"
}
```

### Get license detail

- Capability: `licenses/get_license_detail`
- Description: The licensee detail page (GET /portalsearches/VerifyLicensee/LicenseDetail?ID=<detail_id>, also where the legacy LicenseDetail.asp?id= links redirect): name with its name type, DBA name, main address and county, license type, rank, license number, status (primary and secondary), licensure and expiry dates, special qualifications with their effective dates, alternate names, and the site's numeric internal_id used by the related-license and complaint forms. An unknown or no-longer-published detail_id makes the site answer HTTP 500 'An error occurred while processing your request'; that is reported as not_found.
- Instructions: After search_licenses, with a row's detail_id, for the full license record and current status.
- Cost: 5 credits per call
- Capability file: [Get license detail](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_detail)

Accepted options:
- `detail_id` (string, required): The 32-hex licensee id from search_licenses, or a pasted LicenseDetail?ID= / LicenseDetail.asp?id= URL. Example: `<detail_id>`

Response schema example:
```json
{
  "alternate_names": [
    "AARDVARK PLUMBING CO"
  ],
  "county": "Hillsborough",
  "dba_name": "AARDVARK PLUMBING INC",
  "detail_id": "E941FBE6942475F84E3177712B2CF505",
  "expires": "2028-08-31",
  "internal_id": "830082",
  "license_number": "CFC056678",
  "license_type": "Certified Plumbing Contractor",
  "licensure_date": "1993-05-25",
  "main_address": "1515 E KNOLLWOOD STREET, TAMPA Florida 33610",
  "name": "SMITH, LAWRENCE C",
  "name_type": "Primary Name",
  "observed_at_ms": 1791009695986,
  "primary_status": "Current",
  "rank": "Cert Plumbing",
  "secondary_status": "Active",
  "source_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseDetail?ID=E941FBE6942475F84E3177712B2CF505",
  "special_qualifications": [
    {
      "effective": "2010-01-29",
      "name": "Construction Business"
    }
  ],
  "status": "Current,Active"
}
```

### Get license relations

- Capability: `licenses/get_license_relations`
- Description: Related license information for a licensee (POST /portalsearches/VerifyLicensee/LicenseRelation): the licensee header (name, license number, rank, primary and secondary status, original license and expiration dates) and the table of related licenses (qualifying agents, the businesses they qualify, financially responsible officers) with license number, status, related party, relationship type, relation effective date, rank and expiration date. Keyed by the 32-hex detail_id: the detail page is fetched first to resolve the site's numeric internal_id and to confirm the licensee exists (an unknown detail_id is not_found). A licensee without related licenses is a valid empty result (`relations: []`, `licensee: null`, the site's 'There are no related licenses found' message). The site's own filter form (license type category, names, dates) and its pagination beyond the first 10 rows are not exposed; a longer table is reported as partial.
- Instructions: With a detail_id from search_licenses, to see which business a contractor qualifies or who qualifies a business.
- Cost: 5 credits per call
- Capability file: [Get license relations](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/get_license_relations)

Accepted options:
- `detail_id` (string, required): The 32-hex licensee id from search_licenses, or a pasted LicenseDetail URL. Example: `<detail_id>`

Response schema example:
```json
{
  "detail_id": "E941FBE6942475F84E3177712B2CF505",
  "internal_id": "830082",
  "licensee": {
    "expiration_date": "2028-08-31",
    "license_number": "CFC056678",
    "name": "SMITH, LAWRENCE C",
    "original_license_date": "1993-05-25",
    "primary_status": "Current",
    "rank": "Certified Plumbing Contractor",
    "secondary_status": "Active"
  },
  "observed_at_ms": 1791009701646,
  "relations": [
    {
      "effective_date": "2010-01-29",
      "expiration_date": null,
      "license_number": null,
      "rank": "Construction Business Information",
      "related_party": "AARDVARK PLUMBING INC",
      "relationship_type": "Primary Qualifying Agent for Business",
      "status": "Current"
    }
  ],
  "source_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseRelation",
  "total_pages": 1
}
```

### Search licenses

- Capability: `licenses/search_licenses`
- Description: Search the Florida DBPR licensee registry (POST /portalsearches/VerifyLicensee/Results). Two modes: by license number (`license_number`, SearchType=SearchByLicenseNumber) or by name (`last_name` / `first_name` / `middle_name` for individuals, `org_name` for businesses and establishments; SearchType=SearchByName). Name searches accept the site's optional filters: `board` (2-3 digit DBPR board code, e.g. 06 Construction Industry, 25 Real Estate), `license_type` (4-digit code within the board), `county` (Florida county code, e.g. 39 Hillsborough, 47 Leon, 23 Dade), `city` and `state`, and `include_historic` for licenses no longer current. Returns the results table as displayed: one row per licensee name (a licensee with a DBA appears once as `Primary` and once as `DBA`, both with the same detail_id), with license type, license number and rank, status and expiry, the address block and the 32-hex detail_id that `get_license_detail`, `get_license_relations` and `get_license_complaints` take. `per_page` rows per page (default 10); the continuation cursor is `<page>:<total_records>` because the site needs the total echoed back to page. A search with no match is a valid empty result (the site's 'There were no records found' message with 'Search Results - 0 Records'), not an error. `data_as_of` is the site's nightly refresh stamp.
- Instructions: Start here to find a licensee and its detail_id; then call get_license_detail for the full record. Use license_number when you have it (fastest, usually 1-2 rows).
- Cost: 5 credits per call
- Capability file: [Search licenses](https://firecrawl.dev/alexandria/agents/providers/myfloridalicense-com/licenses/search_licenses)

Accepted options:
- `board` (string): DBPR board code as used by the site's Board select (e.g. 06 Construction Industry Licensing Board, 25 Real Estate Commission). Name searches only. Pattern: ^[0-9]{1,3}$. Example: `<board>`
- `city` (string): City of the main address, as the site spells it (e.g. TAMPA). Name searches only. Example: `<city>`
- `county` (string): Florida county code as used by the site's County select (e.g. 39 Hillsborough, 47 Leon, 23 Dade; 79 Out of State, 80 Foreign). Name searches only. Pattern: ^[0-9]{1,2}$. Example: `<county>`
- `cursor` (string): Continuation from a previous page: `<page>:<total_records>` as returned in `continuation`. Send the same search fields again. Pattern: ^[0-9]{1,6}:[0-9]{1,9}$. Example: `<page>:<total_records>`
- `exact_prefix` (boolean): The site's 'Search Names Beginning with Exactly What You Typed' checkbox (SearchPartName=True). In the recorded samples it did not change the result set. Example: `false`
- `first_name` (string): first_name Example: `<first_name>`
- `include_historic` (boolean): SearchHistoric=Y: also return licenses that are no longer current. Example: `false`
- `last_name` (string): Individual's last name (the site matches from the beginning of the name). Example: `<last_name>`
- `license_number` (string): Exact license number as printed by the DBPR (e.g. CFC056678, SL3295874, CAM9515). When given, the name fields and filters are ignored except include_historic and per_page. Example: `<license_number>`
- `license_type` (string): The site's LicenseType code within the board (e.g. 0604 with board 06). Name searches only; requires board. Pattern: ^[0-9]{1,6}$. Example: `<license_type>`
- `middle_name` (string): middle_name Example: `<middle_name>`
- `org_name` (string): Organization / establishment name or name fragment (e.g. AARDVARK). Example: `<org_name>`
- `per_page` (number): Rows per page (the site's RecordsPerPage choices). Example: `10`
- `state` (string): Two-letter state of the main address (e.g. FL). Name searches only. Pattern: ^[A-Za-z]{2}$. Example: `<state>`

Response schema example:
```json
{
  "data_as_of": "2026-10-03T02:40:00",
  "observed_at_ms": 1791009689386,
  "page": 1,
  "results": [
    {
      "addresses": [
        {
          "address": "1515 E KNOLLWOOD STREET TAMPA, FL 33610",
          "label": "Main Address"
        }
      ],
      "detail_id": "E941FBE6942475F84E3177712B2CF505",
      "detail_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseDetail?ID=E941FBE6942475F84E3177712B2CF505",
      "expires": "2028-08-31",
      "license_number": "CFC056678",
      "license_type": "Certified Plumbing Contractor",
      "name": "AARDVARK PLUMBING INC",
      "name_type": "DBA",
      "primary_status": "Current",
      "rank": "Cert Plumbing",
      "secondary_status": "Active",
      "status": "Current, Active"
    },
    {
      "addresses": [
        {
          "address": "1515 E KNOLLWOOD STREET TAMPA, FL 33610",
          "label": "Main Address"
        }
      ],
      "detail_id": "E941FBE6942475F84E3177712B2CF505",
      "detail_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/LicenseDetail?ID=E941FBE6942475F84E3177712B2CF505",
      "expires": "2028-08-31",
      "license_number": "CFC056678",
      "license_type": "Certified Plumbing Contractor",
      "name": "SMITH, LAWRENCE C",
      "name_type": "Primary",
      "primary_status": "Current",
      "rank": "Cert Plumbing",
      "secondary_status": "Active",
      "status": "Current, Active"
    }
  ],
  "search_type": "license_number",
  "source_url": "https://www.myfloridalicense.com/portalsearches/VerifyLicensee/Results",
  "total_pages": 1,
  "total_records": 2
}
```
