← Use cases

Use case

Verify Arizona ROC Contractor Licenses

Look up Arizona contractors by ROC licence number or business name and get each licence's status (active, suspended, revoked...), class, phone and principals.

Say you manage subcontractors for a general contractor in Arizona, and before each quarter’s jobs start you have to confirm that every sub on the approved list still holds an active Registrar of Contractors (ROC) licence in the right class: a suspended or revoked licence on a job is your problem, not just theirs. The list is a spreadsheet of company names and, for most of them, the ROC number from their bid paperwork. ROC licences can be Active, Suspended, Expired, Inactive, Revoked, Voluntarily Cancelled or Frozen, and only the first one should be on a job site.

The manual way, and what it costs

The Arizona Registrar of Contractors Contractor Search page
ROC's Contractor Search: type a licence number or a name, read the status. One search at a time.

ROC’s Contractor Search is free and is the official answer. Type the six-digit licence number, open the result, read the status and class. For a list of 15 subs that is a quarter of an hour, and it is the right way to do it.

It stops being reasonable when the list is long or has no numbers on it. A name search returns every account whose name matches, in any status, and you have to work out which one is yours. The Posting List CSV on roc.az.gov does not help here: it holds active licences only, so a suspended or revoked sub is simply missing from it, which reads the same as a typo in the name.

The faster way

Arizona Contractor License Lookup & Leads Scraper (ROC) runs the same search for every line of your list in one run.

{
  "queries": [
    "234021",
    "Arcadia Roofing"
  ],
  "maxResults": 50
}

queries takes one licence number or name per line, as many as you have. A number returns that licence exactly; a name returns every licence on every matching account. maxResults caps each name at 50 licences, which is generous for a company name and stops a one-word name such as “Desert” from returning hundreds. On Apify on 2026-10-11 this two-line input took 7 seconds.

What comes back

The licence number returned the one licence it names. The name returned two different businesses:

license_numberbusiness_namestatusclassification_detailphone
234021Arcadia Roofing, LLCActiveCR-42 Roofing(602) 840-7663
045652Arcadia Roofing CoRevokedCR-42 Roofing—

That second row is the reason to verify by number wherever you have one. Both firms are roofers with a Phoenix mailing address and almost the same name, and only one of them can legally work. A name-only check that stops at the first hit can land on either.

Each row also carries person_name (the qualifying party), principals (everyone on the licence, with roles), and city, state and ZIP. matched_by says whether the row came from a number (license_number) or a name (name), so when a 200-line batch comes back you can tell exact matches from name matches at a glance.

What you’d do with it

Export to CSV and match it back to your approved-sub list on license_number. Anything that is not Active goes to whoever owns the sub relationship, and so does any sub whose classification_detail does not cover the work you hired them for (a CR-42 roofer is not licensed for the CR-11 electrical on the same job). For subs you only have a name for, read the name rows by hand once, record the right licence number, and verify by number from then on. Re-run the batch before each job starts; at $0.004 a licence, 200 subs cost $0.80.

Worth knowing

A lookup reads ROC’s search, so its rows have no street address and no issue or expiry date; for those, run an export with nameFilter set to the company, which reads ROC’s Posting List of active licences. The search shows ROC’s current record, not its history: it tells you a licence is revoked, not when or why, and complaint and bond details are on the licence’s page on ROC’s site, not in this output. A name that matches nothing adds no row and is logged as “no match”, so check the run log for which lines of a batch came back empty.


Run it yourself: How to run Arizona Contractor License Lookup & Leads Scraper (ROC) covers lookups and exports step by step.

To build a list of new contractors rather than check existing ones, Export Phoenix, Arizona Roofing Contractors exports every active roofer in Phoenix with a phone. If some of your subs also work in Nevada, Nevada Contractor License Lookup & Verify (NSCB) checks their Nevada licences the same way.

Last updated 2026-10-11