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.
Written by HyreRoof Research Primary-source research and fact checking
The finding
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
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
| City | Issuing authority | Credential | Cost and term | What the record says | Src |
|---|---|---|---|---|---|
| Denver, CO | Community Planning and Development | Specialty Class D licence + supervisor certificate | $250 licence + $60 certificate, each every 3 years | Three 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, CO | Building Division | Roofing contractor licence (AMC § 22-91(3)) | $164 licence + $131 supervisor | Requires 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, CO | Building Services | Roofing and Roofing+ specialized trade contractor licences | $300 new, $225 renewal, 2-year term | The 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, CO | Planning & Development Services | Class D-2 Roofing contractor licence | $153, annual | A 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, CO | Public Works | Class 5 Special registration, category (h) roofing and waterproofing | $80 first year, $210 for a 3-year renewal | Registration rather than licensing. ICC certificates are invited but not required, and no insurance limit is published for the specialty classes. | 11, 12 |
| San Antonio, TX | Development Services Department | Home Improvement Contractor registration, roofing endorsement | $150, 2-year term | The 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 Department | Residential Building Contractor registration, roofing endorsement | $170, 2-year term | Adds 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, TX | Building Inspection Division | Contractor registration, "roof contractor" is a defined category | $120, expires one year from issue | The 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, TX | Development Services Department | none 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, TX | not verified | not verified | not verified | The 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
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
| City | Permit for a residential re-roof? | What the code or department says |
|---|---|---|
| Denver, CO | Yes | Section 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, TX | Yes, above two roofing squares | Chapter 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, TX | Yes | The 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, TX | Not for the commonest case | Asphalt 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, TX | not verified | Retrieval 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 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 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 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 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 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 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?
Do Colorado cities license roofing contractors?
Which Colorado city asks the most of a roofer?
Why does Boulder check insurance but not skill?
Why is Colorado Springs missing?
Which city has the strictest municipal roofing requirements you verified?
Does a Denver roofing licence mean the roofer is insured?
Does a Denver roofing supervisor have to pass an exam?
What does a Dallas contractor registration actually prove?
Do I need a permit to replace my roof in Austin?
Do I need a permit to replace my roof in Dallas?
How much liability insurance must a San Antonio roofer carry?
Why does San Antonio want an FBI background check to replace a roof?
Does a city registration work in the next city over?
Is a municipal registration better than nothing?
Why is Houston missing from your table?
Why is your table only five programmes long?
Does the permit or the licence protect me more?
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
- 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.
- Denver Community Planning and Development , Specialty Class D Certificates, roofing scopes, experience requirements and "No test required" Retrieved 3 September 2026.
- Denver Community Planning and Development , Construction Certificates, Class A, B, B-2 and C, each with a required ICC examination Retrieved 3 September 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 licence application requests no insurance and no bond Retrieved 3 September 2026.
- City of Aurora , Aurora Municipal Code § 22-91, contractor licence classifications, including the roofing contractor scope of work Retrieved 3 September 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 3 September 2026.
- 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.
- 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.
- 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.
- 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.
- 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.
- City of Lakewood Public Works , Contractor registration information sheet, specialty class fees and the permissive ICC certification line Retrieved 3 September 2026.
- City of San Antonio Development Services , Home Improvement Contractor Registration Application, roofing endorsement, FBI background check, insurance limits, $150 fee Retrieved 3 September 2026.
- 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.
- City of San Antonio Development Services , Re-Roof Permit Application, city registration number required, residential fee basis Retrieved 3 September 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 3 September 2026.
- City of Dallas Building Inspection Division , Application for Contractor Registration, trades covered and $120.00 annual fee Retrieved 3 September 2026.
- City of Austin Development Services , Contractor Registration, mechanical, electrical and plumbing trades only Retrieved 3 September 2026.
- City of Austin Development Services , Work Exempt from Building Permits, asphalt shingle and roof covering replacement exemptions Retrieved 3 September 2026.
- Houston Permitting Center , Residential Roofing Permit, HTTP 403 on automated retrieval; recorded as unverified Retrieved 3 September 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 3 September 2026.
- 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.
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.