Use case
List Cuyahoga County HVAC Contractor Licences
Every OCILB HVAC contractor licence held in Cuyahoga County, Ohio, with company, address, phone where filed and expiry date.
Suppose you have just taken over the Cleveland territory for an HVAC equipment distributor, and your first quarter’s goal is to put a dealer pitch in front of every licensed HVAC contractor in Cuyahoga County. Your predecessor left a spreadsheet of 40 accounts and no prospect list. Commercial HVAC work in Ohio needs a licence from the Ohio Construction Industry Licensing Board (OCILB), so the full list exists, and on 2026-10-07 it held 265 HVAC licences whose holder is recorded in Cuyahoga County, spread across 250 companies.
The manual way, and what it costs
OCILB gives the roster away. On the eLicense site, tick OCILB, open “select criteria”, choose the HVAC licence type and Cuyahoga County, press Continue, and download the file it builds. For a one-time list that is a fair way to get it, and it costs nothing. If you do, check the State box: it defaults to Ohio, which is harmless for a county list but drops every out-of-state licence holder when you pull the state.
What you get back still needs work before a rep can use it. Phones arrive in mixed formats such as “2162554298” and “(724)962-5742” in one column, some licences appear twice because OCILB also lists them under a pseudo-company called ESCROW (12,493 rows for 12,484 licences statewide that day), and next quarter you start the form again from the beginning.
The faster way
Ohio Contractor License Lookup & Leads Scraper (OCILB) does the same search once and hands back every row at once.
{
"trade": "HV",
"county": "Cuyahoga",
"maxResults": 1000
}
“HV” is OCILB’s code for an HVAC contractor licence, so plumbing-only and electrical-only firms stay off the list. “Cuyahoga” matches the county OCILB records for the licence holder, the qualified person, which for a territory list is close to but not the same as where the company sits (more on that below). maxResults of 1000 is comfortably above the 265 that matched, so nothing is cut off. The run took 4.4 seconds on our machine on 2026-10-07, almost all of it downloading the statewide roster.
What comes back
{
"license_number": "HV.11969",
"trade_code": "HV",
"license_type": "HVAC Contractor",
"status": "ACTIVE",
"person_name": "TIMOTHY M LAVELLE",
"business_name": "GORMAN LAVELLE CORP",
"in_escrow": false,
"effective_date": "04/01/2026",
"expiration_date": "03/31/2029",
"address": "3459 E 52nd Pl",
"city": "Cleveland",
"address_state": "OH",
"zip_code": "44127-1659",
"phone": "(216) 641-4600",
"fax": null,
"email": null,
"county": "Cuyahoga",
"licensee_state": "OH",
"state": "OH",
"source_url": "https://elicense4.com.ohio.gov/Lookup/GenerateRoster.aspx"
}
| Field | Example value | Meaning |
|---|---|---|
license_number | HV.11969 | OCILB licence number with its trade prefix, e.g. HV.11969 — one row per licence |
license_type | HVAC Contractor | Electrical, HVAC, Hydronics, Plumbing or Refrigeration Contractor |
trade_code | HV | EL, HV, HY, PL or RE |
status | ACTIVE | ACTIVE or ACTIVE IN RENEWAL |
person_name | TIMOTHY M LAVELLE | The licensed individual (qualifying party) |
business_name | GORMAN LAVELLE CORP | Company the licence is attached to |
For a territory list, business_name with address and city is the row your rep works, and person_name is who to ask for, since it is the licensed individual. The company city splits 86 Cleveland, 17 Parma, 13 North Royalton and 10 Strongsville, with the rest across the suburbs, which is enough to cut call days. The weak column is phone: it is filled on 160 of the 265 licences, and grouping by company and address, 148 of the 250 companies have one. Email is on 7 rows, so this is a phone, visit and mail list. status matters for timing too: 46 licences are ACTIVE IN RENEWAL, every one of them expiring in 2026, mostly on 12/31/2026.
What you’d do with it
Export the dataset as CSV and collapse it to one row per company on business_name plus address; that turns 265 licences into 250 accounts, and 13 of them hold two or three HVAC licences, which is a hint at size. Load the 148 companies with a phone into your dialer, and put the 102 without one on a route sheet by city for drop-in visits or a mailer. Match business_name against your predecessor’s 40 accounts before anyone calls. Re-run it each quarter for $1.06 (265 licences at $0.004) to pick up newly licensed firms.
Worth knowing
The county is the licence holder’s, not the company’s. A name search for one Cleveland company on 2026-10-07 found two of its licences held by a person recorded in Geauga County, and those do not appear in a Cuyahoga search even though the shop is in Cleveland. If your territory is defined by where companies are, search by cities or zips instead. OCILB licenses commercial HVAC contractors only; Ohio has no statewide home-builder or general-contractor licence, so residential remodelers and handymen without an HVAC licence are not here. Only live licences are listed, and the actor adds no contact data of its own, so the 105 of these 265 rows with no phone will have none however you pull them.
Run it yourself: How to run Ohio Contractor License Lookup & Leads Scraper (OCILB) walks the whole thing step by step.
If you cover Iowa too, Iowa Contractor Registration Lookup & Leads Scraper (DIAL) has a phone on nearly every registration and can filter to plumbing and HVAC by NAICS code. To check one contractor across several states in a single run, use Multi-State Contractor & Trade License Lookup.
Last updated 2026-10-07