---
type: "firecrawl-provider"
description: "Public contractor license register of the Arizona Registrar of Contractors (ROC), served by the AZRoc Salesforce Experience Cloud site at azroc.my.site.com/AZRoc/s/contractor-search. Search licensed contractors by business or person name, ROC license number, license classification and city; read a license record with its personnel, surety bonds and public complaint history; list the classification picklist and the official scope description of a license's classification. Anonymous guest access to the site's Aura Apex actions (class ARCP_ContractorSearch); no login, token or cookie is needed."
use_when: "Public contractor license register of the Arizona Registrar of Contractors (ROC), served by the AZRoc Salesforce Experience Cloud site at azroc.my.site.com/AZRoc/s/contractor-search. Search licensed contractors by business or person name, ROC license number, license classification and city; read a license record with its personnel, surety bonds and public complaint history; list the classification picklist and the official scope description of a license's classification. Anonymous guest access to the site's Aura Apex actions (class ARCP_ContractorSearch); no login, token or cookie is needed."
categories: "Public records"
capabilities: 4
credits_per_call: 5
---
# Arizona Registrar of Contractors license register (azroc.my.site.com) on Firecrawl Alexandria

Public contractor license register of the Arizona Registrar of Contractors (ROC), served by the AZRoc Salesforce Experience Cloud site at azroc.my.site.com/AZRoc/s/contractor-search. Search licensed contractors by business or person name, ROC license number, license classification and city; read a license record with its personnel, surety bonds and public complaint history; list the classification picklist and the official scope description of a license's classification. Anonymous guest access to the site's Aura Apex actions (class ARCP_ContractorSearch); no login, token or cookie is needed.

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

## More

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

## Capabilities

- [Get classification description](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/get_classification_description): The official scope description of a license's classification (Aura action ARCP_ContractorSearch.getLicenseDescriptionDetail, the detail page's 'License Classification Description' panel): for the license's classification, the license type (e.g. 'Specialty Commercial'), the classification (e.g. 'C-37 Plumbing') and the Registrar's description of the work it covers, as plain text (paragraph breaks preserved) and as the site's HTML. Keyed by the Salesforce `license_id` from search_contractors. An unknown license_id is not_found.
- [Get license](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/get_license): One ROC license record (Aura actions ARCP_ContractorSearch.getLicenseDetail + getAllPersonnelDetail + getAllBondDetail + getAllComplaintsDetail, sent as one batch; the site's contractor detail page). Keyed by the Salesforce `license_id` from search_contractors (a pasted detail URL `.../contractor-search?licenseId=...` is accepted). Returns the license (ROC number, status and status-change date, issue date, renewal-through date, classification description, entity type, QP exemption, business and DBA names, city/state/ZIP, phone), the personnel on file (name, title, other positions), the surety bonds (number, type, status, effective and cancellation dates, bond, allotted, available, payout and repayment amounts in USD, surety company) and the public complaint summary (open, resolved and disciplined counts) with each complaint's number, status, nature, type, allegations, outcome, closed date and jobsite city. Complainant identities are not returned. An unknown license_id makes the site answer an Apex System.QueryException; that is reported as not_found.
- [List classifications](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/list_classifications): The license classification picklist of the Arizona ROC contractor search (Aura action ARCP_ContractorSearch.getLicensePickListValues): every classification string the site accepts in search_contractors `classifications`, in the site's order (engineering 'A', general 'B', commercial 'C', dual 'CR'/'K', residential 'R' families, e.g. 'C-42 Roofing').
- [Search contractors](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/search_contractors): Search the Arizona ROC contractor register (Aura action ARCP_ContractorSearch.getRecords, the site's 'Contractor Search'). `query` matches a business name, a person's name ('First Last'), or a ROC license number (6 digits, with or without the 'ROC ' prefix); `classifications` filters by license classification exactly as `list_classifications` spells them (e.g. 'C-42 Roofing'; the site matches the classification family loosely, a 'C-42 Roofing' filter also returns 'CR-42 Roofing' licenses); `city` filters by the licensee's Arizona city. At least one criterion is required. Results are grouped the way the site shows them: one row per business/account with its contacts (name and role) and every license it holds (license_id, ROC license number, status such as Active / Suspended / Revoked / Expired, classification, qualifying party or QP-exempt). The server returns the whole result set in one answer (a broad single-word query can be several hundred accounts and take a few seconds); this function pages through it client-side with `page_size` rows per page and an offset `cursor`, re-running the same search for each page. A search that matches nothing is a valid empty result (`accounts: []`).

## 1. Choose this provider when

Public contractor license register of the Arizona Registrar of Contractors (ROC), served by the AZRoc Salesforce Experience Cloud site at azroc.my.site.com/AZRoc/s/contractor-search. Search licensed contractors by business or person name, ROC license number, license classification and city; read a license record with its personnel, surety bonds and public complaint history; list the classification picklist and the official scope description of a license's classification. Anonymous guest access to the site's Aura Apex actions (class ARCP_ContractorSearch); no login, token or cookie is needed.

## 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": "azroc-my-site-com",
  "capability": "licenses/get_classification_description",
  "options": {
    "license_id": "a0ot0000000NcO3AAK"
  }
}
```

## 3. Add provider options

Use only the options needed for the task:

- `license_id` (string, required): Salesforce License__c id (15 or 18 characters) from search_contractors, or the detail page URL carrying ?licenseId=. Example: `<license_id>`

## 4. Request through your preferred interface

### JavaScript

```javascript
const result = await firecrawl.scrape({
  alexandria: {
    provider: "azroc-my-site-com",
    capability: "licenses/get_classification_description",
    options: {
      license_id: "a0ot0000000NcO3AAK",
    },
  },
});
```

### Python

```python
result = firecrawl.scrape_alexandria({
  "provider": "azroc-my-site-com",
  "capability": "licenses/get_classification_description",
  "options": {
    "license_id": "a0ot0000000NcO3AAK"
  }
})
```

### cURL

```sh
curl https://api.firecrawl.dev/v2/scrape \
  -H "Authorization: Bearer $FIRECRAWL_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "alexandria": {
    "provider": "azroc-my-site-com",
    "capability": "licenses/get_classification_description",
    "options": {
      "license_id": "a0ot0000000NcO3AAK"
    }
  }
}'
```

### CLI

```sh
firecrawl scrape 'azroc-my-site-com/licenses/get_classification_description' \
  --options '{"license_id":"a0ot0000000NcO3AAK"}'
```


### MCP

Call the FCX MCP retrieve tool with this object:

```json
{
  "provider": "azroc-my-site-com",
  "capability": "licenses/get_classification_description",
  "options": {
    "license_id": "a0ot0000000NcO3AAK"
  }
}
```

Ask for only the returned fields needed by the task.

## 5. Full request shape

```json
{
  "provider": "azroc-my-site-com",
  "capability": "licenses/get_classification_description",
  "options": {
    "license_id": "a0ot0000000NcO3AAK"
  }
}
```

## 6. Response data

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

```json
{
  "classifications": [
    {
      "classification": "C-37 Plumbing",
      "description": "C-37 PLUMBING\n\nInstallation, alteration, and repair of all plumbing when performed solely within property lines and not on public easements or right-of-ways, except as hereinafter provided.\n\nInstallation, alteration, and repair of all piping, fixtures, and appliances related to water supply, including pressure vessels and tanks (excluding municipal or related water supply systems); venting and sanitary drainage systems for all fluid, semi-fluid, and organic wastes; septic tanks and leaching lines; roof leaders; lawn sprinklers; water conditioning equipment; piping; and equipment for swimming pools.\n\nAlso included are piping, fixtures, appliances, and pressure vessels for manufactured and natural gases, compressed air and vacuum systems, petroleum, fuel oil, non-potable liquids, hot water heating, and hot water supply systems operating at pressures not exceeding 30 PSIG, or temperatures not exceeding 220?é?? F; steam heating and steam supply systems not exceeding 15 PSIG operating pressure; gas or oil fired space heaters and furnaces, excluding duct work. Piping for water cooling systems, excluding the refrigerant piping and equipment. Testing and balancing of hydronics systems.\n\nSewer, gas, water lines, and connections from structure to the nearest point of public supply or disposal may cross public or private easements or be installed within private easements or right-of-ways. Pipe installed across public property may not be increased in size, or make any other connection between the point of exit from private property to the point of connection at public supply or disposal. These lines shall not be installed parallel to main lines in public easements or right-of-ways.",
      "description_html": "C-37 PLUMBING<br><br>Installation, alteration, and repair of all plumbing when performed solely within property lines and not on public easements or right-of-ways, except as hereinafter provided.<br><br>Installation, alteration, and repair of all piping, fixtures, and appliances related to water supply, including pressure vessels and tanks (excluding municipal or related water supply systems); venting and sanitary drainage systems for all fluid, semi-fluid, and organic wastes; septic tanks and leaching lines; roof leaders; lawn sprinklers; water conditioning equipment; piping; and equipment for swimming pools.<br><br><br><br>Also included are piping, fixtures, appliances, and pressure vessels for manufactured and natural gases, compressed air and vacuum systems, petroleum, fuel oil, non-potable liquids, hot water heating, and hot water supply systems operating at pressures not exceeding 30 PSIG, or temperatures not exceeding 220?é?? F; steam heating and steam supply systems not exceeding 15 PSIG operating pressure; gas or oil fired space heaters and furnaces, excluding duct work. Piping for water cooling systems, excluding the refrigerant piping and equipment. Testing and balancing of hydronics systems.<br><br>Sewer, gas, water lines, and connections from structure to the nearest point of public supply or disposal may cross public or private easements or be installed within private easements or right-of-ways. Pipe installed across public property may not be increased in size, or make any other connection between the point of exit from private property to the point of connection at public supply or disposal. These lines shall not be installed parallel to main lines in public easements or right-of-ways.",
      "license_type": "Specialty Commercial"
    }
  ],
  "license_id": "a0ot0000000NcO3AAK",
  "observed_at_ms": 1791150400994,
  "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search?licenseId=a0ot0000000NcO3AAK"
}
```

## API reference-derived contract

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

### Get classification description

- Capability: `licenses/get_classification_description`
- Description: The official scope description of a license's classification (Aura action ARCP_ContractorSearch.getLicenseDescriptionDetail, the detail page's 'License Classification Description' panel): for the license's classification, the license type (e.g. 'Specialty Commercial'), the classification (e.g. 'C-37 Plumbing') and the Registrar's description of the work it covers, as plain text (paragraph breaks preserved) and as the site's HTML. Keyed by the Salesforce `license_id` from search_contractors. An unknown license_id is not_found.
- Instructions: After search_contractors or get_license, to explain what work a license's classification permits.
- Cost: 5 credits per call
- Capability file: [Get classification description](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/get_classification_description)

Accepted options:
- `license_id` (string, required): Salesforce License__c id (15 or 18 characters) from search_contractors, or the detail page URL carrying ?licenseId=. Example: `<license_id>`

Response schema example:
```json
{
  "classifications": [
    {
      "classification": "C-37 Plumbing",
      "description": "C-37 PLUMBING\n\nInstallation, alteration, and repair of all plumbing when performed solely within property lines and not on public easements or right-of-ways, except as hereinafter provided.\n\nInstallation, alteration, and repair of all piping, fixtures, and appliances related to water supply, including pressure vessels and tanks (excluding municipal or related water supply systems); venting and sanitary drainage systems for all fluid, semi-fluid, and organic wastes; septic tanks and leaching lines; roof leaders; lawn sprinklers; water conditioning equipment; piping; and equipment for swimming pools.\n\nAlso included are piping, fixtures, appliances, and pressure vessels for manufactured and natural gases, compressed air and vacuum systems, petroleum, fuel oil, non-potable liquids, hot water heating, and hot water supply systems operating at pressures not exceeding 30 PSIG, or temperatures not exceeding 220?é?? F; steam heating and steam supply systems not exceeding 15 PSIG operating pressure; gas or oil fired space heaters and furnaces, excluding duct work. Piping for water cooling systems, excluding the refrigerant piping and equipment. Testing and balancing of hydronics systems.\n\nSewer, gas, water lines, and connections from structure to the nearest point of public supply or disposal may cross public or private easements or be installed within private easements or right-of-ways. Pipe installed across public property may not be increased in size, or make any other connection between the point of exit from private property to the point of connection at public supply or disposal. These lines shall not be installed parallel to main lines in public easements or right-of-ways.",
      "description_html": "C-37 PLUMBING<br><br>Installation, alteration, and repair of all plumbing when performed solely within property lines and not on public easements or right-of-ways, except as hereinafter provided.<br><br>Installation, alteration, and repair of all piping, fixtures, and appliances related to water supply, including pressure vessels and tanks (excluding municipal or related water supply systems); venting and sanitary drainage systems for all fluid, semi-fluid, and organic wastes; septic tanks and leaching lines; roof leaders; lawn sprinklers; water conditioning equipment; piping; and equipment for swimming pools.<br><br><br><br>Also included are piping, fixtures, appliances, and pressure vessels for manufactured and natural gases, compressed air and vacuum systems, petroleum, fuel oil, non-potable liquids, hot water heating, and hot water supply systems operating at pressures not exceeding 30 PSIG, or temperatures not exceeding 220?é?? F; steam heating and steam supply systems not exceeding 15 PSIG operating pressure; gas or oil fired space heaters and furnaces, excluding duct work. Piping for water cooling systems, excluding the refrigerant piping and equipment. Testing and balancing of hydronics systems.<br><br>Sewer, gas, water lines, and connections from structure to the nearest point of public supply or disposal may cross public or private easements or be installed within private easements or right-of-ways. Pipe installed across public property may not be increased in size, or make any other connection between the point of exit from private property to the point of connection at public supply or disposal. These lines shall not be installed parallel to main lines in public easements or right-of-ways.",
      "license_type": "Specialty Commercial"
    }
  ],
  "license_id": "a0ot0000000NcO3AAK",
  "observed_at_ms": 1791150400994,
  "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search?licenseId=a0ot0000000NcO3AAK"
}
```

### Get license

- Capability: `licenses/get_license`
- Description: One ROC license record (Aura actions ARCP_ContractorSearch.getLicenseDetail + getAllPersonnelDetail + getAllBondDetail + getAllComplaintsDetail, sent as one batch; the site's contractor detail page). Keyed by the Salesforce `license_id` from search_contractors (a pasted detail URL `.../contractor-search?licenseId=...` is accepted). Returns the license (ROC number, status and status-change date, issue date, renewal-through date, classification description, entity type, QP exemption, business and DBA names, city/state/ZIP, phone), the personnel on file (name, title, other positions), the surety bonds (number, type, status, effective and cancellation dates, bond, allotted, available, payout and repayment amounts in USD, surety company) and the public complaint summary (open, resolved and disciplined counts) with each complaint's number, status, nature, type, allegations, outcome, closed date and jobsite city. Complainant identities are not returned. An unknown license_id makes the site answer an Apex System.QueryException; that is reported as not_found.
- Instructions: After search_contractors, with a license's license_id, to verify status, bonding and complaint history.
- Cost: 5 credits per call
- Capability file: [Get license](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/get_license)

Accepted options:
- `license_id` (string, required): Salesforce License__c id (15 or 18 characters, e.g. a0ot0000000NcO3AAK) from search_contractors, or the detail page URL carrying ?licenseId=. Example: `<license_id>`

Response schema example:
```json
{
  "address": "Peoria, AZ, 85345",
  "bonds": [
    {
      "allotted_amount": 25000,
      "available_amount": 25000,
      "bond_amount": 0,
      "bond_number": "BD408130",
      "cancellation_date": null,
      "effective_date": "2014-11-05",
      "record": "CBND.BD408130",
      "status": "Active",
      "surety": "Nationwide",
      "total_payout": 0,
      "total_repayment": 0,
      "type": "Surety"
    }
  ],
  "business_name": "Sunstate Plumbing Inc",
  "classification_description": "Specialty Commercial C-37 Plumbing",
  "complaints": {
    "disciplined_count": 0,
    "items": [],
    "open_count": 0,
    "resolved_count": 0
  },
  "dba_name": null,
  "entity_type": "Corporation",
  "issued_date": "1989-11-24",
  "license_id": "a0ot0000000NcO3AAK",
  "license_number": "ROC 084810",
  "observed_at_ms": 1791150392112,
  "personnel": [
    {
      "name": "Bonnie Wilson",
      "other_positions": "OFFICER",
      "record": "ACX-00776620",
      "title": "Officer"
    },
    {
      "name": "Thomas Earl Wilson Jr",
      "other_positions": "OFFICER",
      "record": "ACX-00874841",
      "title": "Officer"
    }
  ],
  "phone": "(623) 937-4258",
  "qp_exempt": true,
  "renewal_through": "2026-10-31",
  "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search?licenseId=a0ot0000000NcO3AAK",
  "status": "Active",
  "status_changed_date": "2018-10-17"
}
```

### List classifications

- Capability: `licenses/list_classifications`
- Description: The license classification picklist of the Arizona ROC contractor search (Aura action ARCP_ContractorSearch.getLicensePickListValues): every classification string the site accepts in search_contractors `classifications`, in the site's order (engineering 'A', general 'B', commercial 'C', dual 'CR'/'K', residential 'R' families, e.g. 'C-42 Roofing').
- Instructions: To pick the exact classification spelling before a filtered search_contractors call.
- Cost: 5 credits per call
- Capability file: [List classifications](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/list_classifications)

Accepted options:

Response schema example:
```json
{
  "classifications": [
    {
      "code": "A",
      "name": "General Engineering",
      "value": "A General Engineering"
    },
    {
      "code": "A-4",
      "name": "Drilling",
      "value": "A-4 Drilling"
    },
    {
      "code": "A-5",
      "name": "Excavating Grading and Oil Surfacing",
      "value": "A-5 Excavating Grading and Oil Surfacing"
    },
    {
      "code": "A-7",
      "name": "Piers and Foundations",
      "value": "A-7 Piers and Foundations"
    },
    {
      "code": "A-9",
      "name": "Swimming Pools",
      "value": "A-9 Swimming Pools"
    },
    {
      "code": "A-11",
      "name": "Steel and Aluminum Erection",
      "value": "A-11 Steel and Aluminum Erection"
    },
    {
      "code": "A-12",
      "name": "Sewers Drains and Pipe Laying",
      "value": "A-12 Sewers Drains and Pipe Laying"
    },
    {
      "code": "A-14",
      "name": "Asphalt Paving",
      "value": "A-14 Asphalt Paving"
    },
    {
      "code": "A-15",
      "name": "Seal Coating",
      "value": "A-15 Seal Coating"
    },
    {
      "code": "A-16",
      "name": "Waterworks",
      "value": "A-16 Waterworks"
    },
    {
      "code": "A-17",
      "name": "Electrical and Transmission Lines",
      "value": "A-17 Electrical and Transmission Lines"
    },
    {
      "code": "A-19",
      "name": "Swimming Pools, Including Solar",
      "value": "A-19 Swimming Pools, Including Solar"
    },
    {
      "code": "B",
      "name": "General Residential Contractor",
      "value": "B General Residential Contractor"
    },
    {
      "code": "B-1",
      "name": "General Commercial Contractor",
      "value": "B-1 General Commercial Contractor"
    },
    {
      "code": "B-2",
      "name": "General Small Commercial Contractor",
      "value": "B-2 General Small Commercial Contractor"
    },
    {
      "code": "B-3",
      "name": "General Remodeling and Repair Contractor",
      "value": "B-3 General Remodeling and Repair Contractor"
    },
    {
      "code": "B-4",
      "name": "General Residential Engineering Contractor",
      "value": "B-4 General Residential Engineering Contractor"
    },
    {
      "code": "B-4R",
      "name": "Sport Court Accessories",
      "value": "B-4R Sport Court Accessories"
    },
    {
      "code": "B-5",
      "name": "General Swimming Pool Contractor",
      "value": "B-5 General Swimming Pool Contractor"
    },
    {
      "code": "B-5R",
      "name": "Factory Fabricated Pools and Accessories",
      "value": "B-5R Factory Fabricated Pools and Accessories"
    },
    {
      "code": "B-5R",
      "name": "Swimming Pool Covers",
      "value": "B-5R Swimming Pool Covers"
    },
    {
      "code": "B-6",
      "name": "General Swimming Pool Contractor, Including Solar",
      "value": "B-6 General Swimming Pool Contractor, Including Solar"
    },
    {
      "code": "B-10",
      "name": "Pre-Manufactured Spas and Hot Tubs",
      "value": "B-10 Pre-Manufactured Spas and Hot Tubs"
    },
    {
      "code": "C-1",
      "name": "Acoustical Systems",
      "value": "C-1 Acoustical Systems"
    },
    {
      "code": "C-3",
      "name": "Awnings, Canopies, Carports and Patio Covers",
      "value": "C-3 Awnings, Canopies, Carports and Patio Covers"
    },
    {
      "code": "C-4",
      "name": "Boilers, Steamfitting and Process Piping",
      "value": "C-4 Boilers, Steamfitting and Process Piping"
    },
    {
      "code": "C-6",
      "name": "Swimming Pool Service and Repair",
      "value": "C-6 Swimming Pool Service and Repair"
    },
    {
      "code": "C-7",
      "name": "Carpentry",
      "value": "C-7 Carpentry"
    },
    {
      "code": "C-8",
      "name": "Floor Covering",
      "value": "C-8 Floor Covering"
    },
    {
      "code": "C-9",
      "name": "Concrete",
      "value": "C-9 Concrete"
    },
    {
      "code": "C-10",
      "name": "Drywall",
      "value": "C-10 Drywall"
    },
    {
      "code": "C-11",
      "name": "Electrical",
      "value": "C-11 Electrical"
    },
    {
      "code": "C-12",
      "name": "Elevators",
      "value": "C-12 Elevators"
    },
    {
      "code": "C-14",
      "name": "Fencing",
      "value": "C-14 Fencing"
    },
    {
      "code": "C-15",
      "name": "Blasting",
      "value": "C-15 Blasting"
    },
    {
      "code": "C-16",
      "name": "Fire Protection Systems",
      "value": "C-16 Fire Protection Systems"
    },
    {
      "code": "C-21",
      "name": "Hardscaping and Irrigation Systems",
      "value": "C-21 Hardscaping and Irrigation Systems"
    },
    {
      "code": "C-24",
      "name": "Ornamental Metals",
      "value": "C-24 Ornamental Metals"
    },
    {
      "code": "C-27",
      "name": "Lightweight Partitions",
      "value": "C-27 Lightweight Partitions"
    },
    {
      "code": "C-31",
      "name": "Masonry",
      "value": "C-31 Masonry"
    },
    {
      "code": "C-34",
      "name": "Painting and Wall Covering",
      "value": "C-34 Painting and Wall Covering"
    },
    {
      "code": "C-36",
      "name": "Plastering",
      "value": "C-36 Plastering"
    },
    {
      "code": "C-37",
      "name": "Plumbing",
      "value": "C-37 Plumbing"
    },
    {
      "code": "C-38",
      "name": "Signs",
      "value": "C-38 Signs"
    },
    {
      "code": "C-39",
      "name": "Air Conditioning and Refrigeration",
      "value": "C-39 Air Conditioning and Refrigeration"
    },
    {
      "code": "C-40",
      "name": "Insulation",
      "value": "C-40 Insulation"
    },
    {
      "code": "C-41",
      "name": "Septic Tanks and Systems",
      "value": "C-41 Septic Tanks and Systems"
    },
    {
      "code": "C-42",
      "name": "Roofing",
      "value": "C-42 Roofing"
    },
    {
      "code": "C-45",
      "name": "Sheet Metal",
      "value": "C-45 Sheet Metal"
    },
    {
      "code": "C-48",
      "name": "Ceramic, Plastic and Metal Tile",
      "value": "C-48 Ceramic, Plastic and Metal Tile"
    },
    {
      "code": "C-49",
      "name": "Refrigeration",
      "value": "C-49 Refrigeration"
    },
    {
      "code": "C-53",
      "name": "Water Well Drilling",
      "value": "C-53 Water Well Drilling"
    },
    {
      "code": "C-54",
      "name": "Water Conditioning Equipment",
      "value": "C-54 Water Conditioning Equipment"
    },
    {
      "code": "C-56",
      "name": "Welding",
      "value": "C-56 Welding"
    },
    {
      "code": "C-57",
      "name": "Wrecking",
      "value": "C-57 Wrecking"
    },
    {
      "code": "C-58",
      "name": "Comfort Heating, Ventilating and Evaporative Cooling",
      "value": "C-58 Comfort Heating, Ventilating and Evaporative Cooling"
    },
    {
      "code": "C-60",
      "name": "Finish Carpentry",
      "value": "C-60 Finish Carpentry"
    },
    {
      "code": "C-61",
      "name": "Carpentry, Remodeling and Repairs",
      "value": "C-61 Carpentry, Remodeling and Repairs"
    },
    {
      "code": "C-63",
      "name": "Appliances",
      "value": "C-63 Appliances"
    },
    {
      "code": "C-65",
      "name": "Glazing",
      "value": "C-65 Glazing"
    },
    {
      "code": "C-67",
      "name": "Low Voltage Communication Systems",
      "value": "C-67 Low Voltage Communication Systems"
    },
    {
      "code": "C-70",
      "name": "Reinforcing Bar and Wire Mesh",
      "value": "C-70 Reinforcing Bar and Wire Mesh"
    },
    {
      "code": "C-74",
      "name": "Boilers, Steamfitting & Process Piping, Including Solar",
      "value": "C-74 Boilers, Steamfitting & Process Piping, Including Solar"
    },
    {
      "code": "C-77",
      "name": "Plumbing Including Solar",
      "value": "C-77 Plumbing Including Solar"
    },
    {
      "code": "C-78",
      "name": "Solar Plumbing, Liquid Systems Only",
      "value": "C-78 Solar Plumbing, Liquid Systems Only"
    },
    {
      "code": "C-79",
      "name": "Air Conditioning and Refrigeration, Including Solar",
      "value": "C-79 Air Conditioning and Refrigeration, Including Solar"
    },
    {
      "code": "CR-1",
      "name": "Acoustical Systems",
      "value": "CR-1 Acoustical Systems"
    },
    {
      "code": "CR-2",
      "name": "Excavating Grading and Oil Surfacing",
      "value": "CR-2 Excavating Grading and Oil Surfacing"
    },
    {
      "code": "CR-3",
      "name": "Awnings, Canopies, Carports and Patio Covers",
      "value": "CR-3 Awnings, Canopies, Carports and Patio Covers"
    },
    {
      "code": "CR-4",
      "name": "Boilers, Steamfitting and Process Piping",
      "value": "CR-4 Boilers, Steamfitting and Process Piping"
    },
    {
      "code": "CR-5",
      "name": "As Restricted by the Registrar",
      "value": "CR-5 As Restricted by the Registrar"
    },
    {
      "code": "CR-6",
      "name": "Swimming Pool Service and Repair",
      "value": "CR-6 Swimming Pool Service and Repair"
    },
    {
      "code": "CR-7",
      "name": "Carpentry",
      "value": "CR-7 Carpentry"
    },
    {
      "code": "CR-8",
      "name": "Floor Covering",
      "value": "CR-8 Floor Covering"
    },
    {
      "code": "CR-9",
      "name": "Concrete",
      "value": "CR-9 Concrete"
    },
    {
      "code": "CR-10",
      "name": "Drywall",
      "value": "CR-10 Drywall"
    },
    {
      "code": "CR-11",
      "name": "Electrical",
      "value": "CR-11 Electrical"
    },
    {
      "code": "CR-12",
      "name": "Elevators",
      "value": "CR-12 Elevators"
    },
    {
      "code": "CR-14",
      "name": "Fencing",
      "value": "CR-14 Fencing"
    },
    {
      "code": "CR-15",
      "name": "Blasting",
      "value": "CR-15 Blasting"
    },
    {
      "code": "CR-16",
      "name": "Fire Protection Systems",
      "value": "CR-16 Fire Protection Systems"
    },
    {
      "code": "CR-17",
      "name": "Steel and Aluminum Erection",
      "value": "CR-17 Steel and Aluminum Erection"
    },
    {
      "code": "CR-21",
      "name": "Hardscaping and Irrigation Systems",
      "value": "CR-21 Hardscaping and Irrigation Systems"
    },
    {
      "code": "CR-24",
      "name": "Ornamental Metals",
      "value": "CR-24 Ornamental Metals"
    },
    {
      "code": "CR-29",
      "name": "Machinery",
      "value": "CR-29 Machinery"
    },
    {
      "code": "CR-31",
      "name": "Masonry",
      "value": "CR-31 Masonry"
    },
    {
      "code": "CR-34",
      "name": "Painting and Wall Covering",
      "value": "CR-34 Painting and Wall Covering"
    },
    {
      "code": "CR-36",
      "name": "Plastering",
      "value": "CR-36 Plastering"
    },
    {
      "code": "CR-37",
      "name": "Plumbing",
      "value": "CR-37 Plumbing"
    },
    {
      "code": "CR-38",
      "name": "Signs",
      "value": "CR-38 Signs"
    },
    {
      "code": "CR-39",
      "name": "Air Conditioning and Refrigeration",
      "value": "CR-39 Air Conditioning and Refrigeration"
    },
    {
      "code": "CR-40",
      "name": "Insulation",
      "value": "CR-40 Insulation"
    },
    {
      "code": "CR-41",
      "name": "Septic Tanks and Systems",
      "value": "CR-41 Septic Tanks and Systems"
    },
    {
      "code": "CR-42",
      "name": "Roofing",
      "value": "CR-42 Roofing"
    },
    {
      "code": "CR-45",
      "name": "Sheet Metal",
      "value": "CR-45 Sheet Metal"
    },
    {
      "code": "CR-48",
      "name": "Ceramic, Plastic and Metal Tile",
      "value": "CR-48 Ceramic, Plastic and Metal Tile"
    },
    {
      "code": "CR-53",
      "name": "Water Well Drilling",
      "value": "CR-53 Water Well Drilling"
    },
    {
      "code": "CR-54",
      "name": "Water Conditioning Equipment",
      "value": "CR-54 Water Conditioning Equipment"
    },
    {
      "code": "CR-56",
      "name": "Welding",
      "value": "CR-56 Welding"
    },
    {
      "code": "CR-57",
      "name": "Wrecking",
      "value": "CR-57 Wrecking"
    },
    {
      "code": "CR-58",
      "name": "Comfort Heating, Ventilating and Evaporative Cooling",
      "value": "CR-58 Comfort Heating, Ventilating and Evaporative Cooling"
    },
    {
      "code": "CR-60",
      "name": "Finish Carpentry",
      "value": "CR-60 Finish Carpentry"
    },
    {
      "code": "CR-61",
      "name": "Carpentry, Remodeling and Repairs",
      "value": "CR-61 Carpentry, Remodeling and Repairs"
    },
    {
      "code": "CR-63",
      "name": "Appliances",
      "value": "CR-63 Appliances"
    },
    {
      "code": "CR-65",
      "name": "Glazing",
      "value": "CR-65 Glazing"
    },
    {
      "code": "CR-66",
      "name": "Seal Coating",
      "value": "CR-66 Seal Coating"
    },
    {
      "code": "CR-67",
      "name": "Low Voltage Communication Systems",
      "value": "CR-67 Low Voltage Communication Systems"
    },
    {
      "code": "CR-69",
      "name": "Asphalt Paving",
      "value": "CR-69 Asphalt Paving"
    },
    {
      "code": "CR-70",
      "name": "Reinforcing Bar and Wire Mesh",
      "value": "CR-70 Reinforcing Bar and Wire Mesh"
    },
    {
      "code": "CR-74",
      "name": "Boilers, Steamfitting & Process Piping, Including Solar",
      "value": "CR-74 Boilers, Steamfitting & Process Piping, Including Solar"
    },
    {
      "code": "CR-77",
      "name": "Plumbing Including Solar",
      "value": "CR-77 Plumbing Including Solar"
    },
    {
      "code": "CR-78",
      "name": "Solar Plumbing, Liquid Systems Only",
      "value": "CR-78 Solar Plumbing, Liquid Systems Only"
    },
    {
      "code": "CR-79",
      "name": "Air Conditioning and Refrigeration, Including Solar",
      "value": "CR-79 Air Conditioning and Refrigeration, Including Solar"
    },
    {
      "code": "CR-80",
      "name": "Sewers, Drains and Pipe Laying",
      "value": "CR-80 Sewers, Drains and Pipe Laying"
    },
    {
      "code": "KA-5",
      "name": "Dual Swimming Pool Contractor",
      "value": "KA-5 Dual Swimming Pool Contractor"
    },
    {
      "code": "KA-6",
      "name": "Dual Swimming Pool Contractor, Including Solar",
      "value": "KA-6 Dual Swimming Pool Contractor, Including Solar"
    },
    {
      "code": "KA",
      "name": "Dual Engineering",
      "value": "KA Dual Engineering"
    },
    {
      "code": "KB-1",
      "name": "Dual Building Contractor",
      "value": "KB-1 Dual Building Contractor"
    },
    {
      "code": "KB-2",
      "name": "Dual Residential and Small Commercial",
      "value": "KB-2 Dual Residential and Small Commercial"
    },
    {
      "code": "KE",
      "name": "As Restricted by the Registrar",
      "value": "KE As Restricted by the Registrar"
    },
    {
      "code": "KO",
      "name": "As Restricted by the Registrar",
      "value": "KO As Restricted by the Registrar"
    },
    {
      "code": "R-1",
      "name": "Acoustical Systems",
      "value": "R-1 Acoustical Systems"
    },
    {
      "code": "R-2",
      "name": "Excavating, Grading and Oil Surfacing",
      "value": "R-2 Excavating, Grading and Oil Surfacing"
    },
    {
      "code": "R-3",
      "name": "Awnings, Canopies, Carports and Patio Covers",
      "value": "R-3 Awnings, Canopies, Carports and Patio Covers"
    },
    {
      "code": "R-4",
      "name": "Boilers, Steamfitting and Process Piping",
      "value": "R-4 Boilers, Steamfitting and Process Piping"
    },
    {
      "code": "R-4R",
      "name": "Boilers",
      "value": "R-4R Boilers"
    },
    {
      "code": "R-6",
      "name": "Swimming Pool Service and Repair",
      "value": "R-6 Swimming Pool Service and Repair"
    },
    {
      "code": "R-7",
      "name": "Carpentry",
      "value": "R-7 Carpentry"
    },
    {
      "code": "R-8",
      "name": "Floor Covering",
      "value": "R-8 Floor Covering"
    },
    {
      "code": "R-9",
      "name": "Concrete",
      "value": "R-9 Concrete"
    },
    {
      "code": "R-10",
      "name": "Drywall",
      "value": "R-10 Drywall"
    },
    {
      "code": "R-11",
      "name": "Electrical",
      "value": "R-11 Electrical"
    },
    {
      "code": "R-12",
      "name": "Elevators",
      "value": "R-12 Elevators"
    },
    {
      "code": "R-13",
      "name": "Asphalt Paving",
      "value": "R-13 Asphalt Paving"
    },
    {
      "code": "R-14",
      "name": "Fencing",
      "value": "R-14 Fencing"
    },
    {
      "code": "R-15",
      "name": "Blasting",
      "value": "R-15 Blasting"
    },
    {
      "code": "R-16",
      "name": "Fire Protection Systems",
      "value": "R-16 Fire Protection Systems"
    },
    {
      "code": "R-17",
      "name": "Structural Steel and Aluminum",
      "value": "R-17 Structural Steel and Aluminum"
    },
    {
      "code": "R-21",
      "name": "Hardscaping and Irrigation Systems",
      "value": "R-21 Hardscaping and Irrigation Systems"
    },
    {
      "code": "R-22",
      "name": "House Moving",
      "value": "R-22 House Moving"
    },
    {
      "code": "R-24",
      "name": "Ornamental Metals",
      "value": "R-24 Ornamental Metals"
    },
    {
      "code": "R-31",
      "name": "Masonry",
      "value": "R-31 Masonry"
    },
    {
      "code": "R-34",
      "name": "Painting and Wall Covering",
      "value": "R-34 Painting and Wall Covering"
    },
    {
      "code": "R-36",
      "name": "Plastering",
      "value": "R-36 Plastering"
    },
    {
      "code": "R-37",
      "name": "Plumbing, Including Solar",
      "value": "R-37 Plumbing, Including Solar"
    },
    {
      "code": "R-37R",
      "name": "Plumbing",
      "value": "R-37R Plumbing"
    },
    {
      "code": "R-38",
      "name": "Signs",
      "value": "R-38 Signs"
    },
    {
      "code": "R-39",
      "name": "Air Conditioning and Refrigeration, Including Solar",
      "value": "R-39 Air Conditioning and Refrigeration, Including Solar"
    },
    {
      "code": "R-39R",
      "name": "Air Conditioning and Refrigeration",
      "value": "R-39R Air Conditioning and Refrigeration"
    },
    {
      "code": "R-40",
      "name": "Insulation",
      "value": "R-40 Insulation"
    },
    {
      "code": "R-41",
      "name": "Septic Tanks and Systems",
      "value": "R-41 Septic Tanks and Systems"
    },
    {
      "code": "R-42",
      "name": "Roofing",
      "value": "R-42 Roofing"
    },
    {
      "code": "R-45",
      "name": "Sheet Metal",
      "value": "R-45 Sheet Metal"
    },
    {
      "code": "R-48",
      "name": "Ceramic, Plastic and Metal Tile",
      "value": "R-48 Ceramic, Plastic and Metal Tile"
    },
    {
      "code": "R-53",
      "name": "Drilling",
      "value": "R-53 Drilling"
    },
    {
      "code": "R-54",
      "name": "Water Conditioning Equipment",
      "value": "R-54 Water Conditioning Equipment"
    },
    {
      "code": "R-56",
      "name": "Welding",
      "value": "R-56 Welding"
    },
    {
      "code": "R-57",
      "name": "Wrecking",
      "value": "R-57 Wrecking"
    },
    {
      "code": "R-60",
      "name": "Finish Carpentry",
      "value": "R-60 Finish Carpentry"
    },
    {
      "code": "R-61",
      "name": "Carpentry, Remodeling and Repairs",
      "value": "R-61 Carpentry, Remodeling and Repairs"
    },
    {
      "code": "R-62",
      "name": "Minor Home Improvements",
      "value": "R-62 Minor Home Improvements"
    },
    {
      "code": "R-63",
      "name": "Appliances",
      "value": "R-63 Appliances"
    },
    {
      "code": "R-65",
      "name": "Glazing",
      "value": "R-65 Glazing"
    },
    {
      "code": "R-67",
      "name": "Low Voltage Communication Systems",
      "value": "R-67 Low Voltage Communication Systems"
    },
    {
      "code": "R-70",
      "name": "Reinforcing Bar and Wire Mesh",
      "value": "R-70 Reinforcing Bar and Wire Mesh"
    }
  ],
  "count": 165,
  "observed_at_ms": 1791150396555,
  "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search"
}
```

### Search contractors

- Capability: `licenses/search_contractors`
- Description: Search the Arizona ROC contractor register (Aura action ARCP_ContractorSearch.getRecords, the site's 'Contractor Search'). `query` matches a business name, a person's name ('First Last'), or a ROC license number (6 digits, with or without the 'ROC ' prefix); `classifications` filters by license classification exactly as `list_classifications` spells them (e.g. 'C-42 Roofing'; the site matches the classification family loosely, a 'C-42 Roofing' filter also returns 'CR-42 Roofing' licenses); `city` filters by the licensee's Arizona city. At least one criterion is required. Results are grouped the way the site shows them: one row per business/account with its contacts (name and role) and every license it holds (license_id, ROC license number, status such as Active / Suspended / Revoked / Expired, classification, qualifying party or QP-exempt). The server returns the whole result set in one answer (a broad single-word query can be several hundred accounts and take a few seconds); this function pages through it client-side with `page_size` rows per page and an offset `cursor`, re-running the same search for each page. A search that matches nothing is a valid empty result (`accounts: []`).
- Instructions: Start here to find a contractor and the `license_id` of each of its licenses; then call get_license for the full record, bonds and complaints.
- Cost: 5 credits per call
- Capability file: [Search contractors](https://firecrawl.dev/alexandria/agents/providers/azroc-my-site-com/licenses/search_contractors)

Accepted options:
- `city` (string): Arizona city of the licensee (e.g. 'Flagstaff'). Example: `<city>`
- `classifications` (string[]): License classifications to filter by, spelled as list_classifications returns them (e.g. 'C-37 Plumbing'). Example: `[]`
- `cursor` (string): `next_cursor` of the previous page (an offset into the same search). Example: `next_cursor`
- `page_size` (number): Accounts per page (client-side paging over the full server result). Example: `25`
- `query` (string): Business name, person name ('First Last') or ROC license number ('084810' or 'ROC 084810'). Optional when classifications or city is given. Example: `<query>`

Response schema example:
```json
{
  "accounts": [
    {
      "account_id": "001t000000MIrY7AAL",
      "address": "Peoria, AZ, 85345",
      "contacts": [
        {
          "name": "Bonnie Wilson",
          "role": "Officer"
        },
        {
          "name": "Thomas Earl Wilson Jr",
          "role": "Officer"
        }
      ],
      "dba_name": null,
      "licenses": [
        {
          "classification": "C-37 Plumbing",
          "license_id": "a0ot0000000NcO3AAK",
          "license_number": "ROC 084810",
          "qp_exempt": true,
          "qualifying_party": null,
          "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search?licenseId=a0ot0000000NcO3AAK",
          "status": "Active"
        },
        {
          "classification": "R-37 Plumbing, Including Solar",
          "license_id": "a0ot0000000NrpMAAS",
          "license_number": "ROC 091700",
          "qp_exempt": true,
          "qualifying_party": null,
          "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search?licenseId=a0ot0000000NrpMAAS",
          "status": "Active"
        }
      ],
      "name": "Sunstate Plumbing Inc",
      "phone": "(623) 937-4258"
    }
  ],
  "city": null,
  "classifications": null,
  "next_cursor": null,
  "observed_at_ms": 1791150386336,
  "offset": 0,
  "query": "Sunstate Plumbing",
  "source_url": "https://azroc.my.site.com/AZRoc/s/contractor-search",
  "total_accounts": 1,
  "total_licenses": 2
}
```
