← Use cases

Use case

Build a Utah County HVAC Contractors List (with Davis County)

HVAC contractors in Utah County and Davis County, Utah, listed in DOPL's Construction Business Registry, with phone, email, licence number and qualifier name.

Suppose you are the territory rep for an HVAC equipment distributor, and your company is putting a new will-call counter between Lehi and Layton. Your quota for the first quarter is new dealer accounts, so you want every heating and air business in Utah County and Davis County with a phone, an email and the name of the licence holder. On 2026-10-06 Utah’s Division of Professional Licensing (DOPL) listed 81 HVAC contractors in Utah County and 33 in Davis County in its Construction Business Registry (CBR).

Read the registry’s own warning before you size the territory off it. DOPL’s landing page says the CBR “does not list every licensed contractor in Utah”: it shows only businesses with an active licence that opted in. So 114 is a floor, not a count of every HVAC shop between Provo and Bountiful. For a sales rep that trade-off is mostly good news. Each of the 114 chose to be listed so that buyers could reach them, which makes your first call a lot warmer than a cold list scraped from map pins.

The Construction Business Registry landing page on DOPL's website, with its opt-in notice and Advanced Search form
DOPL's Construction Business Registry. The notice under the heading says it lists only licensees who opted in.

The manual way, and what it costs

The CBR at services.commerce.utah.gov/cbr is free, with no login. Choose Contractor, then the S350 HVAC classification, and it returned 401 HVAC listings statewide on 2026-10-06. Advanced Search adds City and ZipCode boxes but no county filter, so a Utah County pull means one search per city: Orem (14 listings), Provo (11), Lehi (9), Springville and American Fork (7 each), and on through the 19 Utah County towns that had a listing that day. Davis County has its own trap. 3 of its 33 HVAC listings are in North Salt Lake, which a “Salt Lake” city search hands to the wrong county.

For a one-time call sheet the free route is good enough. Run the statewide S350 search and copy the 401 rows into a spreadsheet, then delete every row whose city is not in Utah or Davis County. What the table does not give you is the licence number, the expiry date, the street address or the qualifier’s name. Each of those sits behind a Details pop-up, so getting them is 114 clicks, and again next quarter when new shops opt in.

The faster way

Utah Contractor Directory & Leads Scraper (DOPL) runs the same S350 search once and opens every Details pop-up for you. This is the input of the published example task, “List HVAC Contractors in Utah County and Davis County”:

{
  "counties": ["Utah", "Davis"],
  "trade": "HVAC"
}
The input form for Utah Contractor Directory & Leads Scraper (DOPL) in the Apify Console
The actor's input form in the Apify Console.

“HVAC” resolves to DOPL’s S350 HVAC Contractor classification. Each county name is matched against the US Census Bureau’s 2020 place-to-county table rather than as text, which is why North Salt Lake lands in Davis. The actor reads the 401 statewide listings once, keeps 81 for Utah County and 33 for Davis, and returns one dataset of 114 rows with no duplicate licence numbers. Our run took 7.5 seconds of scraping, timed outside Apify on 2026-10-06.

What comes back

{
  "business_name": "Advanced Heating and Cooling Utah LLC",
  "phone": "(801) 618-5249",
  "email": "lwallace@advancedhc-utah.com",
  "address": "2511 South 1800 West Site 7",
  "city": "Woods Cross",
  "zip_code": "84087",
  "county": "Davis",
  "county_method": "city",
  "license_number": "12359754-5501",
  "expiration_date": "11/30/2027",
  "person_name": "Joshua Seth lee",
  "classifications": "S350 - HVAC Qualifier",
  "cbr_id": "6601710",
  "requested_trade": "S350 - HVAC Contractor",
  "requested_county": "Davis"
}
The output fields returned by Utah Contractor Directory & Leads Scraper (DOPL)
The output view for a run in the Apify Console.

Here is how complete the two counties were on 2026-10-06, counted from that run:

FieldUtah County (81)Davis County (33)
phone7829
email8028
address (street)3817
zip_code8133
license_number and expiration_date8133
person_name (licence qualifier)8133

For a dealer pitch, person_name is the column you would otherwise click 114 Details pop-ups for. It is the licence qualifier, filled on all 114 rows, so your call opens with a name instead of “who handles purchasing?”. Email is nearly complete in Utah County (80 of 81) but 48 of the 108 emails across both counties are @gmail.com addresses, a sign of one-truck operations rather than offices. Every one of the 114 licences runs to 11/30/2027, so licence status is not what separates prospects this quarter.

What you’d do with it

Export the dataset as CSV, sort by zip_code and cut it into call days: Orem, Provo and Lehi together are 34 of the 81 Utah County shops, and Layton alone is 10 of Davis County’s 33. Load it into your CRM with cbr_id as the external ID, so a re-run updates the same accounts instead of creating duplicates. A quarterly Apify schedule catches shops that opt in later; at today’s count each run is 114 listings at $0.002, about $0.23. If your territory later stretches north to Salt Lake County, the Salt Lake County roofing list shows the same actor on a different trade.

Worth knowing

This is the opt-in registry, not DOPL’s licence roll, and the contact details are whatever each business typed in. Only 55 of the 114 rows carry a street address (38 in Utah County, 17 in Davis), so a printed mailer would miss half of them. County is derived from the city: 1 Utah County row, in Santaquin, sits in a city that straddles a county line and carries county_method: city_primary. All 114 rows list S350 as their only classification, and DOPL notes a classification can cover a broader scope than its name suggests. Confirm a licence on DOPL’s Online License Verification before you open a credit account on it.


Run it yourself: How to run Utah Contractor Directory & Leads Scraper (DOPL) walks the whole thing step by step.

Covering a Texas territory too? Texas Contractor Directory & Leads Scraper (TDLR) builds county lists from the state’s own licence records rather than an opt-in registry; the Travis County HVAC list is the Texas version of this page.

Last updated 2026-10-06