HyreRoof

Original research · Licensing

The cities that license your roofer when the state will not

Ten city roofing programs in Colorado and Texas, each read at its own ordinance or application form, and which of four checks each one applies.

Updated September 3, 2026 · Data as of September 3, 2026

Written by HyreRoof Research Desk Primary-source research and fact checking

10 city programs read at the municipal code or the application itself
$0 insurance Denver requires none to hold a roofing license
4 Texas metros, no shared rule Austin, Dallas and San Antonio verified; Houston could not be read
22 sources primary documents cited, all dated

The finding

Where a state does not license roofing, the job falls to cities, and the cities do not agree. Across ten verified programs, few check the same things. San Antonio requires a background check and liability insurance. Fort Collins requires an exam, three verified projects and $1m of cover.

Aurora tests but requires no insurance; Boulder requires insurance and, for houses, no test. Dallas registers roofers for $120 and says that makes "no statement of the technical competency". Austin does not register them at all.

Where the state map stops

Our earlier study, Is Roofing Even Licensed Where You Live?, checked eight states against their own statutes and found six different regimes. In the last, regime 6, the state does nothing at all.

Texas is the verified example: roofing is absent from the occupations the Texas Department of Licensing and Regulation regulates, while air-conditioning contractors, electricians and residential solar retailers all appear on it.

That study ended with a sentence it could not yet support: whatever protection exists is municipal, and it varies street by street. This page tests that sentence. It is the layer under the state map, not a restatement of it.

HyreRoof analysis: "the city handles it" is not a reassurance. It describes a system with no floor. One city can require a background check, an insurance certificate and documented experience. Another can require a fee, an address and nothing else.

Both are real, both are in Texas, and a homeowner cannot tell which one they live in without reading a municipal ordinance.

What each city program checks

ExamExperienceInsuranceBackgroundDenver, COnot requiredrequirednot requirednot verifiedAurora, COrequiredrequirednot requirednot verifiedFort Collins, COrequiredrequiredrequirednot verifiedBoulder, COnot requirednot requiredrequirednot verifiedLakewood, COnot requirednot verifiednot verifiednot verifiedSan Antonio, TXnot requirednot requiredrequiredrequiredSan Antonio (structural work)not requiredrequiredrequiredrequiredDallas, TXnot requirednot requirednot requirednot requiredAustin, TXnot requirednot requirednot requirednot requiredHouston, TXnot verifiednot verifiednot verifiednot verified Verified required Verified not required Not verified ExamExperienceInsuranceBackgroundDenver, COnoyesno?Aurora, COyesyesno?Fort Collins, COyesyesyes?Boulder, COnonoyes?Lakewood, COno???San Antonio, TXnonoyesyesSan Antonio (structural work)noyesyesyesDallas, TXnonononoAustin, TXnonononoHouston, TX???? yes = required no ? = not verified
The four checks a jurisdiction can apply before issuing a roofing credential, across the nine charted municipal programs and one unverified city. Westminster, the tenth program, is described in the text. “Not verified” means we did not confirm that element at the primary source. It does not mean the requirement is absent. Built from the table below; retrieved September 3, 2026.

Four things a jurisdiction can check before it lets somebody trade as a roofing contractor: whether they can pass an exam, whether they have done the work before, whether they carry liability insurance, and whether they have a criminal record relevant to the trade.

Every program we read applies some subset of those four, and the subsets vary widely. Aurora and Boulder, in the same state, sit in opposite corners: Aurora tests competence and asks for no insurance, Boulder checks insurance and, for residential roofing, tests nothing.

A sparse row is either a city that checks very little or an element we have not confirmed. Those are different things, so they are drawn differently. Houston is fully hatched because it is fully unverified, for reasons given in the limitations.

The verified municipal programs

CityIssuing authorityCredentialCost and termWhat the record saysSrc
Denver, COCommunity Planning and DevelopmentSpecialty Class D license + supervisor certificate$250 license + $60 certificate, each every 3 yearsThree separate roofing certificates. No written exam for any of them: the building official assesses documented field experience instead, and no insurance is required at all.1, 2, 3, 4
Aurora, COBuilding DivisionRoofing contractor license (AMC § 22-91(3))$164 license + $131 supervisorRequires an ICC Roofing Contractor certification and three job references, and requires no insurance whatsoever. Liability cover and a $20,000 bond apply only to right-of-way contractors.5, 6
Fort Collins, COBuilding ServicesRoofing and Roofing+ specialized trade contractor licenses$300 new, $225 renewal, 2-year termThe only verified Colorado city that closes three gates: ICC exam G14, three independently signed project verifications, and $1m/$2m liability insurance under Municipal Code § 15-163.7, 8
Boulder, COPlanning & Development ServicesClass D-2 Roofing contractor license$153, annualA residential D-2 applicant "need only submit a completed application along with the certificate of insurance and the applicable fees". Non-residential work requires documented experience or an ICC certificate.9, 10
Lakewood, COPublic WorksClass 5 Special registration, category (h) roofing and waterproofing$80 first year, $210 for a 3-year renewalRegistration rather than licensing. ICC certificates are invited but not required, and no insurance limit is published for the specialty classes.11, 12
San Antonio, TXDevelopment Services DepartmentHome Improvement Contractor registration, roofing endorsement$150, 2-year termThe only verified city here that requires both an FBI criminal background check and a certificate of liability insurance naming the city.13, 15
San Antonio, TX
structural work
Development Services DepartmentResidential Building Contractor registration, roofing endorsement$170, 2-year termAdds an ICC certification requirement, satisfiable instead by five years of continuous registration with no violations, which is why experience reads as required here and not on the home-improvement tier.14, 15
Dallas, TXBuilding Inspection DivisionContractor registration, "roof contractor" is a defined category$120, expires one year from issueThe code states in terms that registration "makes no statement of the technical competency of those so registered, and no manner of license is proffered."16, 17
Austin, TXDevelopment Services Departmentnone for roofing, only mechanical, electrical and plumbing registerNo city roofing credentialNo state license, no city registration, and for the commonest re-roof in the city, no permit and therefore no inspection.18, 19
Houston, TXnot verifiednot verifiednot verifiedThe Houston Permitting Center returned HTTP 403 to automated retrieval and the Public Works document server did not resolve. Recorded as unverified rather than filled in from secondary summaries.20

Each row read at the city’s own municipal code or its own application form on September 3, 2026.

Ten programs is a small sample and it is deliberate. There are roughly 19,000 municipalities in the United States, none of their contractor ordinances are centrally indexed, and several of the platforms that host municipal codes blocked automated retrieval on the research date.

A short table of cities we read beats a long table of cities we assumed.

Ranked by how many checks each city closes

1234Fort Collins, CO3 of 4 · 1 unverifiedSan Antonio, structural work3 of 4Aurora, CO2 of 4 · 1 unverifiedSan Antonio, TX2 of 4Denver, CO1 of 4 · 1 unverifiedBoulder, CO1 of 4 · 1 unverifiedLakewood, CO0 of 4 · 3 unverifiedDallas, TX0 of 4Austin, TX0 of 41234Fort Collins, CO3 of 4 · 1 unverifiedSan Antonio, structural work3 of 4Aurora, CO2 of 4 · 1 unverifiedSan Antonio, TX2 of 4Denver, CO1 of 4 · 1 unverifiedBoulder, CO1 of 4 · 1 unverifiedLakewood, CO0 of 4 · 3 unverifiedDallas, TX0 of 4Austin, TX0 of 4
Verified checks applied, out of four, by municipal program. Computed from the matrix above rather than assigned. A count of verified-required elements only. An unverified element is never counted as a requirement. Retrieved September 3, 2026.

HyreRoof analysis: this is not a ranking of roofing quality. It counts the checks a city places between a person and the right to trade as a roofer. A city at the bottom may have excellent roofers; it is just not the city that established it.

What the chart does show is a wide spread inside one state. San Antonio and Austin are both in Texas, under the same absent state regulator. One closes two or three of the four gates; the other closes none.

Denver: the strictest experience check we found

Three roofing credentials, not one

Denver Community Planning and Development issues three separate Specialty Class D supervisor certificates covering roofing. Roof Covering/Waterproofing covers "installation of commercial and residential roof coverings, including valleys, gutters, downspouts and waterproofing". Roofing-Shingles covers "installation of residential only roofing systems". Roofing – Green Roof Systems Only covers "installation of landscaped rooftop vegetation systems only".

The scopes are worth reading before you sign anything. Denver’s commercial certificate includes gutters and downspouts. In Minnesota, a state residential roofer license covers roofing and specifically not gutters, soffit or fascia. Same colloquial name, different boundaries.

Two years of documented experience, project by project

For the commercial roofing certificate, Denver requires two years of field experience across residential and commercial roofing systems, documented as a minimum of 24 projects drawn from 24 different months, of which at least 75 percent must be low-slope commercial roof installations.

HyreRoof analysis: this is not "two years in the trade" on an honor-system form. It is a project log with a spread requirement, so nobody can present two busy months as two years.

And no exam at all

Denver’s own code sets out the exception.

Section 122.2 of the 2022 Denver Building and Fire Code Administration provides that "All applicants for a certificate shall pass a written examination with the exception of those who apply for a Construction D Supervisor Certificate. Such applicants shall be examined for experience and training by a standard procedure established by the building official."

The department’s published requirements for all three roofing certificates confirm the practical effect in one phrase: "No test required."

What it costs

Denver’s published fee schedule sets the Specialty Class D contractor license at $250.00, renewable every three years, and the supervisor certificate at $60.00, also every three years. A Denver roofing credential therefore costs $310 for a three-year term, about $103 a year.

The inversion inside one building department

Denver’s construction supervisor certificates each require a specific ICC examination: Class A the National Standard General Building Contractor exam, Class C the National Standard Residential Building Contractor exam, and so on. The Specialty Class D certificates, the ones that cover roofing, require no test.

So in one department, on one building: the general contractor who put the house up sat a written exam. The roofer who keeps the water out did not.

The roofer documented two years of projects instead, which is arguably better evidence, but a different kind, and nobody tells the homeowner which one they are looking at.

What Denver does not require: any insurance at all

Denver requiring no insurance at all surprised us, so we looked for an insurance rule three ways and found none.

First, the application. Denver’s Contractor License Application sets out twelve numbered steps and a document checklist: a supervisor certificate, a Supervisor Statement of Responsibility, Secretary of State filings, photo identification, an affidavit of lawful presence, and the fee. It asks for no certificate of insurance and no bond.

Second, the code. Section 126.1 of the Denver Building and Fire Code Administration lists eleven responsibilities of a licensed contractor: safety measures, employing a certified supervisor, obtaining permits, hiring licensed subcontractors, and building to the approved drawings.

The remaining six are completing the work, obtaining inspections, paying fees, obeying orders, providing toilet facilities, and maintaining a current mailing address.

Third, the one place insurance does appear. Section 126.4 is headed "Demolition and Moving Liability Insurance" and requires an ACORD certificate from "any contractor demolishing or moving any building, structure, or equipment". It is the only contractor insurance requirement in the administrative chapter, and it does not reach roofing.

HyreRoof analysis: Denver built the most demanding experience check of any program we verified and attached no financial protection to it. A Denver roofing license shows somebody documented two years of projects to a building official.

It does not show there is a policy behind them if the job goes wrong. Those are different assurances, and the license supplies only one.

Five Colorado cities, five different bargains

Aurora: an exam, and no insurance at all

Aurora licenses roofing as its own class. Aurora Municipal Code § 22-91(3) defines a "Roofing contractor" as covering "Installation, repair, and removal of all types of roof coverings on all building types", with a scope that expressly includes valleys, gutters and downspouts, and residential siding.

An applicant needs an ICC Roofing Contractor/Subcontractor certification and three job references, and lists jobs completed in the past five years. The fee is $164 for the license plus $131 for the supervisor.

And Aurora requires no insurance and no bond for it. The city’s contractor license fee and requirements sheet carries liability and bond figures, $1,000,000 general liability, $1,000,000 property damage and a $20,000 license and permit bond, under the heading "INSURANCE REQUIREMENTS FOR RIGHT OF WAY CONTRACTORS". They do not apply to roofing.

Fort Collins: the only Colorado city here that closes three gates

Fort Collins licenses roofing twice: a Roofing class for pitched roofs above 2:12 and a Roofing+ class for flat and low-slope work. Both require the ICC National Standard Roofing Contractor/Subcontractor exam G14 and three project verifications, each backed by a permit and a passing final inspection.

The detail that makes it real: each is "verified and signed by other than applicant, supervisor certificate holder, or anyone affiliated with the applicant’s current company".

Insurance is a condition, written into the code rather than left on a form.

Fort Collins Municipal Code § 15-163 requires every such contractor to "maintain workers' compensation insurance as required by state law, and general liability insurance in the minimum amounts as follows: one million dollars ($1,000,000.) per person, two million dollars ($2,000,000.) per accident and two million dollars ($2,000,000.) per accident involving public property."

Section 15-154 supplies the enforcement: "No building permits shall be issued to any contractor who has not obtained a license, does not have valid insurance as set forth herein, is delinquent in the payment of the biennial license fee". The license costs $300 for a two-year term.

Boulder: insurance yes, exam no

Boulder issues a Class D-2 Roofing license, one of nine Class D specialty classes, at $153 a year.

Boulder Revised Code 4-1-8(a) requires a licensee to "at all times maintain in force worker’s compensation insurance as required by state law and general liability insurance with minimum limits of $1,000,000 per occurrence and a $2,000,000 aggregate limit", with the City of Boulder named as an additional insured.

BRC 4-1-8(c)(3) goes further than any other city in this study and regulates the carrier too, requiring the policy to issue from a company "having an AM Best rating of at least A-VI".

Competence is another matter. A Class D applicant "need only submit a completed application along with the certificate of insurance and the applicable fees". Only a D-2 contractor working on non-residential structures must supply experience with Class A and Class B roof covering materials or an ICC Roofing Contractor certificate.

HyreRoof analysis: Boulder and Aurora are the cleanest pair on this page. Same state, and inverted answers. In Aurora the roofer passed an exam and may carry no insurance. In Boulder the roofer carries $1m of cover from an A-VI rated carrier and, on a house, was never tested.

Lakewood and Westminster: the quiet end

Lakewood registers rather than licenses. Municipal Code § 14.11.090(5) lists a Class 5 Special category (h), "Roofing and waterproofing". The city’s information sheet invites applicants to "attach any ICC certifications held by registrant or employees": permissive, not required.

No insurance limit is published for the specialty classes; the code says only that "Fees and insurance schedules will vary with the class of registration held". Registration is $80 for the first year.

Westminster does not break roofing out at all.

Its contractor license application offers Class A "Contractor (general category)" at $110, alongside plumbing, electrical and architect, and roofing falls inside the general class with no exam and no experience requirement stated. Westminster is absent from the matrix above because we could not identify the governing code chapter, not because we doubt the form.

Why the Colorado spread matters

Our state study recorded Colorado as unverified because the Department of Regulatory Agencies page returned HTTP 403, and this page does not assert that Colorado has no state roofing license. What it can say is that five Colorado cities each run their own roofing program.

The five do not converge. Within one state, the bar to roof a house runs from an ICC exam, verified projects and $1m of cover in Fort Collins to an $80 registration form in Lakewood.

A Fort Collins roofer has cleared a bar Lakewood does not set, yet a homeowner in either city can hear the same three words: licensed and insured.

One state, four metros, no shared rule

Texas makes a clean comparison. The state regulator is verifiably absent from roofing, so whatever a Texas homeowner gets is municipal. We looked at four of the five largest cities in the state. We could read three of them, and they fill it three different ways.

The four metros in full

San Antonio: a background check, insurance and a tiered registration

San Antonio runs two registrations under Chapter 10-115 of its Code of Ordinances, and both carry an explicit roofing endorsement on the application form.

The Home Improvement Contractor registration covers "nonstructural repair, replacement, remodeling, alteration, conversion, or modernization to any existing building", which is where an ordinary re-roof lands. The Residential Building Contractor registration covers "constructing, structural alteration, or enlarging any one or two-family detached dwelling".

Both require an FBI criminal history record dated within 30 days of the application, and a Certificate of Liability Insurance from a carrier authorized in Texas, naming the City of San Antonio as certificate holder.

The home-improvement tier requires at least $300,000 per occurrence combined for property damage and bodily injury, $600,000 aggregate, and $300,000 aggregate for products and completed operations. The residential-building tier requires $500,000 per occurrence, $1,000,000 aggregate, and $500,000 products and completed operations.

The residential-building tier adds a competence test: the holder or one affiliated agent must hold a Residential ICC Certification or another the Building Official approves, or the company must have "a minimum of 5 years of continued registration with no violations… suspensions, or revocation."

Fees are $150 and $170 respectively, each for a two-year term.

Dallas: a defined roofing category with nothing behind it

Dallas does define roofing. Chapter 52 of the Dallas City Code, Subchapter 11, defines "ROOF CONTRACTOR" as "a person engaged in the business of installing and repairing products and surfaces that seal, waterproof, and weatherproof structures", and lists the materials, from asphaltum and pitch to shingles, roof tile and slate.

Section 1102.1 makes it unlawful to do that work in the city without a valid registration, and bars an unregistered roof contractor from obtaining a permit.

What the registration requires is set out in Section 1103.1, and it is a list of contact details: the name, mailing address, email address and telephone number of the firm; the same for the responsible person; the name, address and telephone number of the place of business.

Section 1103.2 requires an established place of business at a permanent location. Section 1104.1 sets the fee at $120.00. Section 1105.1 expires it after one year. There is no exam, no experience requirement, no bond and no insurance anywhere in the subchapter.

Austin: no registration, and for a shingle re-roof, no permit

Austin’s Development Services Department registers trade contractors, but the trades it names are "Mechanical, Electrical, and Plumbing (MEP) Trade Contractors". Roofing is not among the trades that register with the city.

Austin then goes further than any other city we read.

Its list of work exempt from building permits includes "Asphalt shingles that replace existing asphalt shingles, unless the property is located in the Wildland-Urban Interface area and 50% or more of the roofing is being replaced", and separately "Replacement of any roof covering that does not adversely affect the roof structure" on the same condition.

HyreRoof analysis: stack those two facts. An Austin re-roof of asphalt shingles over asphalt shingles, outside the wildland interface, involves no state license, no city registration, no permit, and so no city inspection of the finished work.

That is not an accusation. It says where the job of checking sits: with the homeowner.

Houston: we could not read it, so we do not say

Houston is the gap in this study. The Houston Permitting Center’s residential roofing page returned HTTP 403 to automated retrieval on September 3, 2026, and the Public Works document server hosting the registered-contractor list did not resolve.

Secondary sources describe a voluntary roofing registration with insurance requirements, which would be a fourth model. We have not confirmed it, so we do not publish it as fact.

The plainest sentence in any code we read

Dallas City Code Chapter 52, Section 1102.1, on what its contractor registration means:

"In extending the rights and privileges of such registration, the city makes no statement of the technical competency of those so registered, and no manner of license is proffered."

A city wrote into its own ordinance that its contractor registration is not a license and certifies no competence. A Dallas roofer described as "city licensed" is contradicted by the ordinance the registration is issued under. We found no clearer statement of the difference in any code we read.

When a re-roof needs a permit

CityPermit for a residential re-roof?What the code or department says
Denver, COYesSection 130.1 requires a permit for work regulated by the code, and roofing does not appear anywhere in the 39-item exemption list at Section 130.3. Section 121.2 then requires a license for "any work requiring a permit", so in Denver the permit requirement is what makes the license requirement bite.
Dallas, TXYes, above two roofing squaresChapter 52 exempts "Reroofing if the work does not exceed the equivalent of two roofing squares or less", 200 square feet, since the code defines a roofing square as 100 square feet. Above that, Section 301.4.6.3 requires a permit, a final inspection, and proof the debris went to a city landfill or transfer station.
San Antonio, TXYesThe city publishes a dedicated Re-Roof Permit Application, priced at $25 plus processing and a 6 percent surcharge for residential work, and the form asks for the registration holder’s city registration number.
Austin, TXNot for shingles over shinglesAsphalt shingles replacing asphalt shingles are exempt, unless the property is in the Wildland-Urban Interface area and 50 percent or more of the roofing is being replaced.
Houston, TXnot verifiedRetrieval failed on September 3, 2026. Recorded as unverified rather than assumed.

The permit matters more than it looks. In several of these cities it is what enforces the credential: no permit means no check that the roofer is registered, and no inspection of the finished roof.

What changes when you cross a city line

State licensing has one property municipal licensing cannot have: it travels. A state credential is good across the state. A city credential stops at the city limit, and a contractor fully registered on one side of a boundary may hold nothing on the other.

A roofer registered in San Antonio has passed a background check and filed an insurance certificate. In Austin that registration means nothing, because Austin does not register roofers, and on a shingle-over-shingle job nobody will ask.

In Dallas the roofer must register again, at $120 a year, on a form that asks for an address.

HyreRoof analysis: the practical consequence is that in a regime-6 state the question "is this roofer licensed?" has no stable answer. The right question is "is this roofer registered in the jurisdiction where my house is, and what did that jurisdiction actually check?" Those are two questions, and the second matters more.

It also means unincorporated county land, where some suburban housing sits, may have no municipal program above it. We did not verify county-level requirements for any of these metros and make no claim about them.

Four words that are not synonyms

License
Issued by a state or a city after somebody assessed competence, by exam or documented experience. Denver issues one for roofing. Texas does not.
Registration
A record that a business exists and may pull permits. Dallas says explicitly that its registration is "no manner of license" and makes no statement of technical competency.
San Antonio calls its program a registration too, and attaches an insurance certificate and a background check to it, so the word alone does not tell you the standard.
Certification
Issued by a trade body or a manufacturer, not a government. One exception worth knowing: San Antonio has folded a private certification into public law, by accepting a Residential ICC Certification as one route to satisfying its residential building contractor requirement.
Permit
Permission for a specific job at a specific address, with an inspection at the end. It is the only one of the four that produces an independent check on the finished work, so a city that exempts re-roofs from permits removes more protection than the licensing question suggests.

All four get compressed into "licensed and insured" on the side of a van. In the cities here, that phrase can mean a documented two-year project log, a filed insurance certificate and an FBI check, or a $120 fee and a mailing address.

How to check a roofer in a state that licenses nobody

1
Find out which jurisdiction you are actually in

City limits, not postal address. A house with a city mailing address can sit on unincorporated county land, outside the city program. Your building department will tell you which applies.

2
Ask the building department what the credential is called

It will not be called the same thing in the next city.

Denver issues a Specialty Class D license; San Antonio issues a Home Improvement Contractor registration; Dallas issues a contractor registration naming roof contractor as a category.

Searching for "roofing license" where the city calls it something else finds nothing, which is not a red flag.

3
Ask what that credential required

This is the step that carries the information. A registration that required an insurance certificate and a background check is a different object from one that required a fee. Both are real registrations.

4
Do not treat registration as an insurance check

Denver shows why: an experience-verified municipal roofing license with no insurance requirement. Ask for a certificate of insurance issued directly by the insurer and dated inside your project window.

5
Establish whether your job needs a permit, and insist on it if it does

The permit is the independent check. In Dallas the code requires a final inspection and proof the debris reached a city landfill. In Austin an ordinary shingle re-roof is exempt, so no inspection will happen unless you arrange one privately.

6
Do not pull the permit yourself for a contractor

A contractor who asks you to pull your own permit is asking you to take on responsibility for the work meeting code, which their credential exists to carry.

Method

For each city we found the department that would license or register roofing, and retrieved the codified ordinance, the department’s current application form, or, for Denver and Dallas, both. Where code and form differ, the code governs and we note the difference.

Each requirement is recorded in one of three categories: verified required, verified not required, and not verified. "Not required" means the governing document lists what an application must contain and the element is missing, as in Dallas Section 1103.1.

Where we did not reach the relevant document, the cell stays unverified and is drawn that way.

The four gates in the matrix, exam, experience, liability insurance, criminal background check, were chosen because each appeared as a real requirement in at least one program we read, and because they are separable.

Bonding was considered as a fifth check and dropped: we could not confirm its presence or absence to the same standard in every program.

One correction is worth recording. Several secondary sources state that Dallas requires roofing contractors to carry $300,000 in general liability insurance naming the City of Dallas as certificate holder.

There is a liability requirement in the Dallas construction code: Section 301.4.4.1 sets combined single limits of at least $500,000 per occurrence, with the city as additional insured. It attaches to a permit to barricade or occupy a public way during construction.

It is not a condition of registering as a roof contractor, and it is not $300,000.

Where a city publishes both a code and a form, we treated a requirement as verified-absent only when the code was reachable. Lakewood’s code says "Fees and insurance schedules will vary with the class of registration held" but publishes no schedule.

So its insurance cell reads unverified, not zero, even though the application form asks for no insurance.

No claim on this page is taken from a secondary summary, a contractor directory, a licensing service or another guide.

Limitations

Ten programs, not five hundred

Nine cities and ten programs are verified, across two states. The United States has roughly 19,000 municipalities. This page shows the variation is real and large; it is not a survey, and it says nothing about cities not named.

Colorado Springs could not be retrieved

Colorado Springs adopts the Pikes Peak Regional Building Code by reference at UDC § 7.4.1404, so its roofing requirements live with the Pikes Peak Regional Building Department, whose site refused every connection we attempted on September 3, 2026, by automated fetch, command line and a real browser. So Colorado Springs is absent rather than estimated.

Westminster is described but not charted

We read Westminster’s current contractor license application and can say it has no roofing-specific class. We could not identify the governing chapter of the Westminster Municipal Code, so it is discussed in the text and kept out of the matrix.

Houston could not be retrieved

The Houston Permitting Center returned HTTP 403 to automated retrieval on September 3, 2026, and the Public Works document server hosting the registered roofing contractor list failed DNS resolution the same day. Houston appears as a fully unverified row rather than being filled in from secondary descriptions.

Two major code platforms blocked retrieval

American Legal Publishing returned an interactive challenge and Municode serves its ordinances only to a JavaScript client, so neither could be read programmatically on September 3, 2026.

Where a city’s ordinance was reachable only through one of those, we used the city’s own PDF of the chapter instead, which is how Dallas was verified, or left the city out.

Colorado’s state position is still unconfirmed

Our state study recorded Colorado as unverified because the Department of Regulatory Agencies page returned HTTP 403. That has not changed. Denver runs a municipal roofing program; we have not confirmed at a state source that Colorado has no state roofing license, and this page does not assert it.

County and unincorporated areas are not covered

Every program here is a city program. Suburban housing on unincorporated county land may sit under a county building department, a different set of requirements, or none. We verified no county and make no claim about any.

Bonding was not resolved

We could not confirm the presence or absence of a surety bond to the same standard in every program, so bonding is discussed rather than charted.

Forms and codes drift apart

Dallas is the example: the code defines "roof contractor" as its own registration category, while the department’s published application form folds roofing into the General Contractor tick-box. Both require registration, so nothing turns on it here, but it is a reminder that a form is not the law.

This is not legal advice

Municipal ordinances change. Confirm the current position with the building department before relying on it for a contract.

Questions

If my state does not license roofers, is anybody checking at all?
Sometimes, and it depends on the city. In San Antonio a roofing contractor must register, submit an FBI criminal history record dated within 30 days, and file a liability insurance certificate naming the city. In Austin, roofing is not among the trades that register with the city. Both cities share the same absent state regulator.
Do Colorado cities license roofing contractors?
The five we verified all do something, and no two do the same thing. Denver licenses on documented experience, with no exam or insurance. Aurora requires an ICC certification but no insurance. Fort Collins requires an exam, verified projects and $1m of cover. Boulder requires $1m of cover and, for houses, no exam. Lakewood registers.
Which Colorado city asks the most of a roofer?
Fort Collins, of the five we verified. It closes three of the four gates: the ICC G14 roofing exam, three project verifications signed by someone outside the applicant’s company, and $1,000,000/$2,000,000 liability insurance under Municipal Code § 15-163. Section 15-154 then blocks permits for anyone without a license or valid insurance.
Why does Boulder check insurance but not skill?
The code gives the rule, not the reasoning. Boulder Revised Code 4-1-8 requires $1,000,000 per occurrence and $2,000,000 aggregate liability cover from an A-VI rated carrier. A Class D applicant "need only submit a completed application along with the certificate of insurance and the applicable fees". Only non-residential work adds an experience test.
Why is Colorado Springs missing?
Because we could not read its rules. Colorado Springs adopts the Pikes Peak Regional Building Code by reference, which puts roofing requirements with the Pikes Peak Regional Building Department. Its site refused every connection we tried on September 3, 2026, so the city is absent rather than estimated.
Which city has the strictest municipal roofing requirements you verified?
It depends what you mean by strict. Denver has the most demanding experience test we found, 24 projects across 24 different months, but requires no insurance. San Antonio applies liability insurance and an FBI background check, but no exam. They check different things; neither is simply stronger.
Does a Denver roofing license mean the roofer is insured?
No. Denver’s license application asks for no insurance certificate and no bond. Section 126.1 of its Building and Fire Code lists eleven contractor responsibilities, and insurance is not one. The only contractor insurance rule, Section 126.4, covers demolition and moving. Ask for a certificate direct from the insurer.
Does a Denver roofing supervisor have to pass an exam?
No. Denver’s code requires a written exam "with the exception of those who apply for a Construction D Supervisor Certificate", who are "examined for experience and training" instead. The requirements for all three roofing certificates say "No test required". Denver’s general building contractor certificates each require an ICC exam.
What does a Dallas contractor registration actually prove?
Little about skill, by the city’s own account. Chapter 52, Section 1102.1 says the city "makes no statement of the technical competency of those so registered, and no manner of license is proffered." It shows the business has a permanent place of business, paid $120, and may pull a permit.
Do I need a permit to replace my roof in Austin?
Not for asphalt shingles replacing asphalt shingles, unless the property is in the Wildland-Urban Interface and 50% or more of the roofing is replaced. Austin also exempts roof covering replacement that does not affect the structure, on the same condition. The work must still meet code; no city inspection checks it.
Do I need a permit to replace my roof in Dallas?
Yes, unless the job is tiny. Dallas exempts reroofing of two roofing squares or less, 200 square feet. Above that, Section 301.4.6.3 requires a permit, and final approval waits for proof the debris went to a city of Dallas landfill or transfer station.
How much liability insurance must a San Antonio roofer carry?
It depends on the registration. A Home Improvement Contractor, which covers an ordinary re-roof, needs at least $300,000 per occurrence, $600,000 aggregate and $300,000 products and completed operations. A Residential Building Contractor needs $500,000, $1,000,000 and $500,000. Both must name the City of San Antonio as certificate holder.
Why does San Antonio want an FBI background check to replace a roof?
The forms do not say why, but they show what is screened. Both registrations require an FBI criminal history record dated within 30 days, and ask about felony or moral-turpitude convictions, building-code convictions, and any loss of home improvement privileges in Texas. That screens conduct, not workmanship.
Does a city registration work in the next city over?
No. A state credential travels across the state; a city one stops at the city limit. A roofer fully registered in San Antonio holds nothing in Austin or Dallas, and must register separately wherever the rules apply. Houses on unincorporated county land may sit under no city program at all.
Is a municipal registration better than nothing?
Yes, but by how much varies, and the word does not tell you. San Antonio’s registration means someone checked a criminal record and an insurance certificate. Dallas’s means someone confirmed a business address and took $120. Ask what the registration required, not just whether there is one.
Why is Houston missing from your table?
Because we could not read Houston’s own sources. The Houston Permitting Center returned HTTP 403 on September 3, 2026, and the server hosting the registered roofing contractor list did not resolve. Secondary sources describe a voluntary registration, but we have not verified it, so Houston appears as an unverified row.
Why does the study cover only ten programs?
Because those are the ones we read at the municipal code or the application form. There are roughly 19,000 municipalities in the United States, their contractor ordinances are not centrally indexed, and two major code platforms blocked automated retrieval. We would rather publish ten we read than fifty we assumed.
Does the permit or the license protect me more?
The permit does something a license cannot: it brings an independent inspection of the finished work, by someone with no financial stake in it. A credential is checked once, at issue; a permit is checked on your roof. So a city that exempts re-roofs from permits removes the routine outside check.

Written and audited by

HyreRoof Research Desk

Primary-source research, data analysis and fact checking

We are a research desk, not a sales floor. We read the statute, the licensing board’s own pages, the code section or the federal dataset ourselves, and every figure we publish carries the document it came from and the date we retrieved it.

Where a number cannot be traced to a primary source, we publish the shorter page and say what we could not verify.

On our first study that rule removed a Minnesota exam statistic and left two states blank. Those gaps are on the page, not in a file somewhere.

155
primary sources read and cited
53
government domains among them
181
citations carrying a retrieval date
11
research studies published

How this desk works

  • Primary sources only. Statutes from the legislature’s own publishing system, licensing rules from the board that issues the license, datasets from the agency that collected them. Never a directory, an aggregator or another guide.
  • Three states, not two. A requirement is recorded as verified present, verified absent, or not verified. Folding the third into the second would turn an unchecked cell into a factual claim.
  • Retrieval dates on everything. Regulation changes. A citation without the date it was read is not a citation.
  • Failures are published. When a source blocks automated retrieval we record the failure and leave the row empty, rather than filling it from a secondary summary.
  • Authorship is organizational. Research is attributed to this desk, never to an invented expert. Outside commentary, where used, is attributed to named and verifiable people.

Data as of September 3, 2026. Authorship on this site is organizational: the analysis belongs to the desk rather than to a named individual, and we do not publish credentials we do not hold. Our editorial policy sets out how we source, date and correct what we publish.

Sources & retrieval dates

City and County of Denver, 2022 Denver Building and Fire Code, Administration, Sections 121–127 (licensing, 122.2 exam exception, 126.1 contractor responsibilities, 126.4 demolition insurance) and 130 (permits and exemptions). Retrieved September 3, 2026.
Denver Community Planning and Development, Specialty Class D Certificates, roofing scopes, experience requirements and "No test required". Retrieved September 3, 2026.
Denver Community Planning and Development, Construction Certificates, Class A, B, B-2 and C, each with a required ICC examination. Retrieved September 3, 2026.
Denver Community Planning and Development, Fees for contractor licenses and supervisor certificates, Specialty Class D $250.00 and Supervisor Certificate $60.00, each every 3 years. The license application requests no insurance and no bond. Retrieved September 3, 2026.
City of Aurora, Aurora Municipal Code § 22-91, contractor license classifications, including the roofing contractor scope of work. Retrieved September 3, 2026.
City of Aurora Building Division, Contractor licensing, ICC roofing certification and three job references; liability and bond figures apply to right-of-way contractors only. Retrieved September 3, 2026.
City of Fort Collins, Municipal Code Ch. 15 Art. V, § 15-154 license and insurance as a condition of permit issuance; § 15-163 workers’ compensation and $1m/$2m general liability minimums. Retrieved September 3, 2026.
City of Fort Collins Building Services, Contractor licensing, Roofing and Roofing+ classes, ICC exam G14, three independently verified projects, fees and terms. Retrieved September 3, 2026.
City of Boulder, Boulder Revised Code 4-1-8, workers’ compensation and general liability minimums of $1,000,000 per occurrence and $2,000,000 aggregate, and the AM Best A-VI carrier condition. Retrieved September 3, 2026.
City of Boulder, Contractor licensing, Class D-2 Roofing, the residential application standard, and the $153 annual fee at BRC 4-20-4. Retrieved September 3, 2026.
City of Lakewood, Lakewood Municipal Code Ch. 14.11, § 14.11.090(5)(h) roofing and waterproofing as a Class 5 Special registration category. Retrieved September 3, 2026.
City of Lakewood Public Works, Contractor registration information sheet, specialty class fees and the permissive ICC certification line. Retrieved September 3, 2026.
City of San Antonio Development Services, Home Improvement Contractor Registration Application, roofing endorsement, FBI background check, insurance limits, $150 fee. Retrieved September 3, 2026.
City of San Antonio Development Services, Residential Building Contractor Registration Application, roofing endorsement, ICC certification or 5 years, insurance limits, $170 fee. Retrieved September 3, 2026.
City of San Antonio Development Services, Re-Roof Permit Application, city registration number required, residential fee basis. Retrieved September 3, 2026.
City of Dallas, Dallas City Code Chapter 52, Administrative Procedures for the Construction Codes, Subchapter 11 (roof contractor definition, §1102.1, §1103.1, §1104.1), §301.4.4.1 and §301.4.6.3. Retrieved September 3, 2026.
City of Dallas Building Inspection Division, Application for Contractor Registration, trades covered and $120.00 annual fee. Retrieved September 3, 2026.
City of Austin Development Services, Contractor Registration, mechanical, electrical and plumbing trades only. Retrieved September 3, 2026.
City of Austin Development Services, Work Exempt from Building Permits, asphalt shingle and roof covering replacement exemptions. Retrieved September 3, 2026.
Houston Permitting Center, Residential Roofing Permit, HTTP 403 on automated retrieval; recorded as unverified. Retrieved September 3, 2026.
City of Colorado Springs, UDC § 7.4.1404 adopting the Pikes Peak Regional Building Code by reference. The Pikes Peak Regional Building Department site itself refused every connection on the research date. Retrieved September 3, 2026.
City of Westminster, Contractor License Application, revised April 2025, Class A general category at $110, with no roofing-specific class. Retrieved September 3, 2026.

Still working out what the job actually is?

Licensing decides who may do the work. If you are earlier than that, deciding whether the roof needs replacing at all, these two are good starting points, and neither asks for your details.

Repair or replace Roof life calculator

HyreRoof does not perform roofing work and has no commercial relationship with any city, building department or contractor named on this page. Municipal ordinances change. If a city’s position here is out of date or wrong, tell us and we will fix it in place and note the correction.