HyreRoof

Original research · Licensing

The Cities That License Your Roofer When the State Will Not

Two Texas cities 80 miles apart. In one, a roofer needs an FBI background check and half a million dollars of liability cover. In the other, the commonest re-roof in the city needs no licence, no registration and no permit.

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

Written by HyreRoof Research Primary-source research and fact checking

10 city programmes read at the municipal code or the application itself
$0 insurance Denver requires none to hold a roofing licence
4 metros, 4 answers Austin, Dallas, San Antonio and Houston, one state
20 sources primary documents cited, all dated

The finding

Where a state does not license roofing, the protection does not disappear, it fragments to the municipality, and the municipalities do not agree on anything. Across ten verified city programmes we found almost no two that check the same things. San Antonio requires a criminal background check and a liability certificate. Fort Collins requires an exam, three independently signed project verifications and $1m of cover. Aurora requires an exam and no insurance at all; Boulder requires insurance and, for residential work, no exam. Dallas requires a $120 fee and an address, and its own code says the registration "makes no statement of the technical competency" of the registrant. Austin does not register roofers at all. And Denver requires two years of documented field experience but no exam and not one dollar of insurance.

Where the state map stops

Our earlier study, Is Roofing Even Licensed Where You Live?, verified eight states against their own statutes and licensing authorities and found roofing regulated under six structurally different regimes. The last of those (regime 6) is the one where 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 then support: whatever protection exists is municipal, and it varies street by street. This page is the attempt to find out whether that is true, and how much it varies. It is the layer underneath the state map rather than a restatement of it.

HyreRoof analysis: the honest summary of what we found is that "the city handles it" is not a reassurance. It is a description of a system with no floor. A city can require a background check, an insurance certificate and documented experience. A city can also require a fee, an address and nothing else. Both of those are real, both are in Texas, and a homeowner has no way of knowing which one they live in without reading a municipal ordinance.

What five city programmes actually check

ExamExperienceLiability insuranceBackground checkDenver, 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
The four checks a jurisdiction can apply before issuing a roofing credential, across five verified municipal programmes. “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 3 September 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 municipal programme we read applies some subset of those four, and the subsets are close to arbitrary. Aurora and Boulder sit twenty miles apart in the same state and occupy opposite corners of the matrix: Aurora tests competence and ignores money, Boulder checks money and, for residential roofing, tests nothing.

A sparse row below 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 entirely hatched because it is entirely unverified, for reasons recorded in the limitations.

The verified municipal programmes

CityIssuing authorityCredentialCost and termWhat the record saysSrc
Denver, COCommunity Planning and DevelopmentSpecialty Class D licence + supervisor certificate$250 licence + $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 licence (AMC § 22-91(3))$164 licence + $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 licences$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 licence$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 register, No state licence, 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 3 September 2026.

Ten programmes 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

1234 Fort Collins, CO 3 of 4 · 1 unverified San Antonio, structural work 3 of 4 Aurora, CO 2 of 4 · 1 unverified San Antonio, TX 2 of 4 Denver, CO 1 of 4 · 1 unverified Boulder, CO 1 of 4 · 1 unverified Lakewood, CO 0 of 4 · 3 unverified Dallas, TX 0 of 4 Austin, TX 0 of 4
Verified checks applied, out of four, by municipal programme. 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 3 September 2026.

HyreRoof analysis: the ranking is not a ranking of roofing quality in those cities, and it should not be read as one. It measures how many barriers the municipality places between a person and the right to trade as a roofer. A city at the bottom of this chart may well have excellent roofers. It simply is not the city that established they were excellent.

What the chart does show cleanly is that the spread inside a single state is as wide as the spread across states. San Antonio and Austin are both in Texas, both large, both subject to the same absent state regulator, and one closes two or three of the four gates while the other closes none.

Denver: the most substantive municipal programme 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 scope distinctions are real and worth reading before you sign anything. Note particularly that Denver’s commercial certificate explicitly includes gutters and downspouts: the opposite of the position in Minnesota, where a state residential roofer licence covers roofing and specifically not gutters, soffit or fascia. Two jurisdictions, two credentials with the same colloquial name, and the boundary of the work drawn in different places.

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 per cent must be low-slope commercial roof installations.

HyreRoof analysis: that is a materially stricter evidence standard than most state licences apply. It is not "two years in the trade" on an honour-system form; it is a project log with a distribution requirement attached, designed so that somebody cannot present two busy months as two years. Denver is doing something real here.

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 licence 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, around $103 a year, or a fraction of the cost of a single re-roof.

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 the same department, on the same building: the general contractor who put the house up sat a written examination. The roofer who keeps the water out of it did not. The roofer instead documented two years of projects, which is arguably better evidence. But it is a different kind of evidence, 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 is the finding that surprised us most, so we went looking for it three ways and failed to find it three times.

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.

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 has built the most demanding competence check of any municipal roofing programme we verified, and attached no financial protection to it at all. A Denver roofing licence is evidence that somebody documented two years of real projects to a building official. It is not evidence that there is a policy behind them if the job goes wrong. Those are different assurances and the licence only supplies 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.

To get it, an applicant needs an ICC Roofing Contractor/Subcontractor certification and three job references, and the application asks for a list of jobs completed within the past five years. The fee is $164 for the licence plus $131 for the supervisor.

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

Fort Collins: the only verified city 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 both require three project verifications, each supported by a permit and a passing final inspection and: the detail that makes it real, "verified and signed by other than applicant, supervisor certificate holder, or anyone affiliated with the applicant’s current company".

Insurance is a condition, and it is 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 licence costs $300 for a two-year term.

Boulder, insurance yes, exam no

Boulder issues a Class D-2 Roofing licence, 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 jurisdiction in this study and regulates the carrier as well, 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, no state roofing licence above either of them, similar size, and exactly 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", and 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 licence 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.

Colorado has no state roofing licence to fall back on

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 licence. What it can say is that five Colorado cities have each built their own roofing programme from scratch, which is not what cities do when a state credential already exists.

And the five do not converge. Within one state, the requirement to roof a house ranges from an ICC exam plus verified projects plus $1m of cover in Fort Collins, to a $80 registration form in Lakewood. A contractor licensed in Fort Collins has cleared a bar that Lakewood does not set, and a homeowner in either city is told the same three words: licensed and insured.

One state, four metros, four different answers

Texas is the cleanest natural experiment available. The state regulator is verifiably absent from roofing, so whatever a Texas homeowner gets is entirely municipal. Four of the five largest cities in the state sit inside the same statutory vacuum and have filled it in four different ways.

The four metros in full

San Antonio, 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. Both require a Certificate of Liability Insurance from a carrier authorised in Texas, with the City of San Antonio named as certificate holder and the business name matching the registration.

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 requirement the other does not: either the registration holder or one affiliated agent must hold a Residential ICC Certification or another certification approved by the Building Official, 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, "asphaltum, pitch, tar, felt, glass fabric, urethane foam, metal roofing systems, flax, shakes, shingles, roof tile, 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 contractor\'s 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 most re-roofs, 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 published 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 and the ordinary Austin re-roof, asphalt shingles over asphalt shingles, outside the wildland interface, involves no state licence, no city registration, no permit, and therefore no municipal inspection of the finished work. That is not an accusation of anything. It is a description of where the responsibility for verification sits, which in that case is entirely with the homeowner.

Houston, we could not read it, so we are not going to say

Houston is the gap in this study. The Houston Permitting Center’s residential roofing page returned HTTP 403 to automated retrieval on 3 September 2026, and the Public Works document server hosting the registered-contractor list did not resolve at all. Secondary sources describe a voluntary roofing registration programme with insurance requirements attached, which would be a genuinely interesting fourth model. We have not confirmed it and so we are not publishing it as fact.

The most honest 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 licence and certifies no competence. Every marketing page describing a Dallas roofer as "city licensed" is contradicted by the ordinance the registration is issued under. We have not found a clearer statement of the distinction anywhere, in any jurisdiction, at any level of government.

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 licence for "any work requiring a permit", so in Denver the permit requirement is what makes the licence 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 per cent surcharge for residential work, and the form asks for the registration holder’s city registration number.
Austin, TXNot for the commonest caseAsphalt shingles replacing asphalt shingles are exempt, unless the property is in the Wildland-Urban Interface area and 50 per cent or more of the roofing is being replaced.
Houston, TXnot verifiedRetrieval failed on 3 September 2026. Recorded as unverified rather than assumed.

The permit question matters more than it looks. In several of these cities the permit is the mechanism that enforces the credential: no permit means no check that the person holding the ladder is registered at all, and no inspection of the finished roof.

What changes when you cross a city line

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

That is not hypothetical in the metros above. A roofer registered in San Antonio has passed a background check and filed an insurance certificate. Drive to Austin and that registration means nothing, because Austin does not register roofers, and neither does it need to mean anything, because on a shingle-over-shingle job nobody will ask. Drive to Dallas and the contractor must register there separately, 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 one is the one nobody asks.

It also means that unincorporated county land, where a great deal of suburban housing sits, may have no municipal programme at all 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

Licence
Issued by a state or a city after somebody assessed competence, normally an exam, often 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 programme 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
Usually issued by a trade body or a manufacturer, not a government. The 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, which is why the cities that exempt re-roofs from permits have quietly removed more protection than the licensing question alone suggests.

All four get compressed into "licensed and insured" on the side of a van. In the five 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. 1
    Find out which jurisdiction you are actually in

    City limits, not postal address. A great many houses with a city mailing address sit in unincorporated county land governed by neither the city programme nor a state one. Your building department will tell you which applies.

  2. 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 licence; San Antonio issues a Home Improvement Contractor registration; Dallas issues a contractor registration naming roof contractor as a category. Searching for "roofing licence" in a city that calls it something else returns nothing and feels like a red flag when it is not one.

  3. 3
    Ask what that credential required

    This is the step almost nobody takes and the one 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. 4
    Do not treat registration as an insurance check

    Denver is the demonstration: a genuine, experience-verified municipal roofing licence that carries no insurance requirement whatsoever. Ask for a certificate of insurance issued directly by the insurer and dated inside your project window.

  5. 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. 6
    Never pull the permit yourself

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

Method

For each city we identified the department that would license or register roofing if anyone did, and retrieved either the codified municipal ordinance or the department’s own current application form, and in Denver’s and Dallas’s case, both. Where a city publishes a code and a form that differ in emphasis, the code governs and the discrepancy is noted.

Requirements are recorded in three states: verified required, verified not required, and not verified. A city was recorded as not requiring an element only where the governing document sets out an enumerated list of what the application must contain and that element is absent from it, for example Dallas Section 1103.1, which lists six categories of required information, none of which is insurance. Where we simply did not reach the relevant document, the cell is left unverified and is drawn as unverified.

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 programme we read, and because they are separable.

Bonding was considered as a fifth and dropped: none of the five programmes required a surety bond and we could not verify its absence firmly enough in every case to publish a column that would have read as four verified negatives and a gap.

One correction is worth recording because it is the kind of error this page exists to fix. 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 commercial general liability requirement in the Dallas construction code, Section 301.4.4.1 sets combined single limits of not less than $500,000 per occurrence, with the city named as an additional insured. It attaches to a permit to barricade and occupy public property or 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 an application form, we treated a requirement as verified-absent only when the code was reachable. Lakewood is the case that shows the limit of this: its code states that "Fees and insurance schedules will vary with the class of registration held" without publishing the schedule, so its insurance cell is recorded as unverified rather than as zero, even though no insurance requirement appears on the form the city gives applicants.

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

Limitations

  • Ten programmes, not five hundred

    Nine cities and ten programmes are verified, across two states. The United States has roughly 19,000 municipalities. This page is a demonstration that the variation is real and large, not a survey of it, and it should not be read as representative of any city 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 3 September 2026, by automated fetch, by command line and in a real browser. The second-largest city in Colorado is therefore absent rather than estimated.

  • Westminster is described but not charted

    We read Westminster’s current contractor licence 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 3 September 2026, and the Public Works document server hosting the registered roofing contractor list failed DNS resolution on the same date. Houston is present in the dataset as an entirely unverified row rather than being filled in from secondary descriptions of its programme.

  • 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 3 September 2026. Where a city’s ordinance was reachable only through one of those, we used the city’s own published PDF of the chapter instead, which is how Dallas was verified, or left the city out. This is a real obstacle to anyone attempting this comparison, and part of why it has not been done well before.

  • 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 plainly runs a municipal roofing programme; we have not independently confirmed at a state source that Colorado has no state roofing licence, and this page does not assert it.

  • County and unincorporated areas are not covered

    Every programme here is a city programme. 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

    No surety bond requirement appeared in any of the five programmes, but we could not confirm its absence to the same standard in every case, 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 are amended frequently and with little notice. Confirm the current position with the building department itself before relying on it for a contract.

Questions

If my state does not license roofers, is anybody checking at all?
Sometimes, and it depends entirely on the city. In San Antonio a roofing contractor must register with the Development Services Department, submit an FBI criminal history record dated within 30 days, and file a certificate of liability insurance naming the city. In Austin, roofing is not among the trades that register with the city at all. Both cities are in the same state with 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 issues three Specialty Class D roofing certificates on documented experience with no exam and no insurance. Aurora issues a roofing contractor licence requiring an ICC certification and three job references, and requires no insurance. Fort Collins requires the ICC G14 exam, three independently verified projects and $1m of liability cover. Boulder issues a Class D-2 roofing licence requiring $1m of cover and, for residential work, no exam. Lakewood registers roofing as a Class 5 Special category with no exam and no published insurance limit.
Which Colorado city asks the most of a roofer?
Of the five we verified, Fort Collins. It is the only one that closes three of the four gates at once: the ICC National Standard Roofing Contractor exam G14, three project verifications each signed by somebody unaffiliated with the applicant’s company, and general liability insurance of $1,000,000 per person and $2,000,000 per accident under Municipal Code § 15-163. Section 15-154 then blocks permit issuance to any contractor without a licence or valid insurance.
Why does Boulder check insurance but not skill?
We can report the rule rather than the reasoning. Boulder Revised Code 4-1-8 requires workers’ compensation and general liability insurance of $1,000,000 per occurrence and $2,000,000 aggregate from a carrier rated at least A-VI by AM Best, with the city as an additional insured. Boulder’s own guidance says a Class D applicant "need only submit a completed application along with the certificate of insurance and the applicable fees". Only non-residential D-2 work triggers an experience or ICC certificate requirement.
Why is Colorado Springs missing?
Because we could not read its rules. Colorado Springs adopts the Pikes Peak Regional Building Code by reference at UDC § 7.4.1404, which puts the substantive roofing requirements with the Pikes Peak Regional Building Department. That department’s site refused every connection we attempted on 3 September 2026, automated fetch, command line and a real browser alike. Colorado’s second city is absent rather than estimated.
Which city has the strictest municipal roofing requirements you verified?
It depends what you mean by strict, which is the point. Denver applies by far the most demanding competence test: two years of documented field experience, evidenced as 24 projects across 24 different months, but requires no insurance whatsoever. San Antonio applies the most financial and character screening, liability insurance plus an FBI background check, but no exam. Neither is strictly stronger than the other; they are checking different things.
Does a Denver roofing licence mean the roofer is insured?
No. This surprised us and we checked it three ways. Denver’s contractor licence application asks for no certificate of insurance and no bond. Section 126.1 of the Denver Building and Fire Code lists eleven responsibilities of a licensed contractor and insurance is not among them. The only contractor insurance requirement in the administrative chapter is Section 126.4, which covers contractors demolishing or moving buildings. Ask for a certificate of insurance direct from the insurer instead.
Does a Denver roofing supervisor have to pass an exam?
No. Denver’s code provides that all certificate applicants must pass a written examination "with the exception of those who apply for a Construction D Supervisor Certificate", who are instead "examined for experience and training by a standard procedure established by the building official". The published requirements for all three of Denver’s roofing certificates say "No test required". Denver’s general building contractor certificates, by contrast, each require a specific ICC examination.
What does a Dallas contractor registration actually prove?
By the city’s own account, very little about skill. Dallas City Code Chapter 52, Section 1102.1 states that "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." What it does establish is that the business exists at a permanent place of business, has paid $120, and may lawfully obtain a permit, and that the building official can suspend or revoke the registration for incompetency, gross negligence or misconduct.
Do I need a permit to replace my roof in Austin?
Usually not. Austin’s published 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 the replacement of any roof covering that does not adversely affect the roof structure on the same condition. Exempt work must still comply with the building code, there simply is no city inspection confirming that it did.
Do I need a permit to replace my roof in Dallas?
Yes, unless the job is tiny. Dallas exempts "Reroofing if the work does not exceed the equivalent of two roofing squares or less", 200 square feet, because the code defines a roofing square as 100 square feet of roofing material. Above that threshold Section 301.4.6.3 requires a permit, and no final approval is given until proof is submitted that the reroofing debris went to a city of Dallas landfill or transfer station.
How much liability insurance must a San Antonio roofer carry?
It depends which registration the work falls under. For a Home Improvement Contractor registration, which covers nonstructural replacement work such as an ordinary re-roof, the application requires at least $300,000 per occurrence combined for property damage and bodily injury, at least $600,000 aggregate, and at least $300,000 aggregate for products and completed operations. For a Residential Building Contractor registration the figures are $500,000, $1,000,000 and $500,000. In both cases the City of San Antonio must be named as certificate holder.
Why does San Antonio want an FBI background check to replace a roof?
Both San Antonio contractor registrations require an official criminal history record from the FBI dated within 30 days of the application, and the application asks the applicant to disclose felony or moral-turpitude convictions, building-code convictions, and any loss or suspension of home improvement privileges in any Texas jurisdiction. The screening is aimed at fraud and theft rather than workmanship: the trade takes deposits and works at homes, often after storms.
Does a city registration work in the next city over?
No. That is the structural difference between municipal and state licensing. A state credential travels across the state; a municipal one stops at the city limit. A roofer fully registered in San Antonio holds nothing in Austin or Dallas, and must register separately in each city whose rules apply. It also means houses on unincorporated county land may sit under no municipal programme at all.
Is a municipal registration better than nothing?
Yes, but how much better varies enormously and the word does not tell you. San Antonio’s registration means somebody checked a criminal record and read an insurance certificate. Dallas’s registration means somebody confirmed a business address and banked $120, and the ordinance says so plainly. Both are correctly described as "registered with the city". The useful question is not whether the contractor is registered but what the registration required.
Why is Houston missing from your table?
Because we could not read Houston’s own sources. The Houston Permitting Center returned HTTP 403 to automated retrieval on 3 September 2026 and the Public Works document server hosting the registered roofing contractor list failed to resolve. Secondary sources describe a voluntary registration programme with insurance requirements, which would be a genuinely distinct fourth model, but we have not verified it and will not publish it as fact. Houston appears as an entirely unverified row.
Why is your table only five programmes long?
Because those are the ones we actually 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 of the major commercial platforms that host municipal codes blocked automated retrieval on the research date. A long table of plausible cities would be an aggregator page wearing a research page’s clothes.
Does the permit or the licence protect me more?
Usually the permit, because it produces an independent inspection of the finished work by somebody with no financial interest in it. A credential is checked once, at issue; a permit is checked on your roof. That is also why permit exemptions matter more than they appear to: a city that exempts ordinary re-roofs has removed the only routine external check on the work, whatever its licensing rules say.

Written and audited by

HyreRoof Research

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 we publish the figure with 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.

36
primary sources read and cited
16
federal and state government domains
36
citations carrying a retrieval date
3
researched pages published

How this desk works

  • Primary sources only. Statutes from the legislature’s own publishing system, licensing rules from the board that issues the licence, 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. Most comparisons collapse the third into the second, which turns 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 organisational. 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 3 September 2026. Authorship on this site is organisational: 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

  1. 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 3 September 2026.
  2. Denver Community Planning and Development , Specialty Class D Certificates, roofing scopes, experience requirements and "No test required" Retrieved 3 September 2026.
  3. Denver Community Planning and Development , Construction Certificates, Class A, B, B-2 and C, each with a required ICC examination Retrieved 3 September 2026.
  4. 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 licence application requests no insurance and no bond Retrieved 3 September 2026.
  5. City of Aurora , Aurora Municipal Code § 22-91, contractor licence classifications, including the roofing contractor scope of work Retrieved 3 September 2026.
  6. 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 3 September 2026.
  7. City of Fort Collins , Municipal Code Ch. 15 Art. V, § 15-154 licence and insurance as a condition of permit issuance; § 15-163 workers’ compensation and $1m/$2m general liability minimums Retrieved 3 September 2026.
  8. City of Fort Collins Building Services , Contractor licensing, Roofing and Roofing+ classes, ICC exam G14, three independently verified projects, fees and terms Retrieved 3 September 2026.
  9. 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 3 September 2026.
  10. City of Boulder , Contractor licensing, Class D-2 Roofing, the residential application standard, and the $153 annual fee at BRC 4-20-4 Retrieved 3 September 2026.
  11. 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 3 September 2026.
  12. City of Lakewood Public Works , Contractor registration information sheet, specialty class fees and the permissive ICC certification line Retrieved 3 September 2026.
  13. City of San Antonio Development Services , Home Improvement Contractor Registration Application, roofing endorsement, FBI background check, insurance limits, $150 fee Retrieved 3 September 2026.
  14. City of San Antonio Development Services , Residential Building Contractor Registration Application, roofing endorsement, ICC certification or 5 years, insurance limits, $170 fee Retrieved 3 September 2026.
  15. City of San Antonio Development Services , Re-Roof Permit Application, city registration number required, residential fee basis Retrieved 3 September 2026.
  16. 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 3 September 2026.
  17. City of Dallas Building Inspection Division , Application for Contractor Registration, trades covered and $120.00 annual fee Retrieved 3 September 2026.
  18. City of Austin Development Services , Contractor Registration, mechanical, electrical and plumbing trades only Retrieved 3 September 2026.
  19. City of Austin Development Services , Work Exempt from Building Permits, asphalt shingle and roof covering replacement exemptions Retrieved 3 September 2026.
  20. Houston Permitting Center , Residential Roofing Permit, HTTP 403 on automated retrieval; recorded as unverified Retrieved 3 September 2026.
  21. 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 3 September 2026.
  22. City of Westminster , Contractor License Application, revised April 2025, Class A general category at $110, with no roofing-specific class Retrieved 3 September 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 the useful 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 often. 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.