St. Louis, MO

A city that replaced a county, not one that sits inside one

The City of St. Louis has been independent of St. Louis County since 1876. Two separate governments, two separate building departments, and two separate adopted codes: the City's own list runs to the 2018 International Residential Code, and St. Louis County's own list runs to the 2015 edition, three cycles behind. Neither government has authority inside the other's territory under any circumstance, which means the address alone settles which document, and which fee schedule, a given St. Louis-area roof answers to.

By Kyle Hamrick, Founder

Two roofs a short drive apart here can answer to different building departments, different code editions, and different fee schedules, and none of that is a matter of degree. It is a matter of which government the parcel belongs to, and that question has exactly one correct answer for every address in this metro.

The Estimate Company is run by a licensed independent insurance adjuster, with claims experience across many states, writing for contractors nationwide. What we bring to a St. Louis file is code mechanism, carrier behavior, and claim pattern, confirmed for the address rather than assumed from a statewide rule. More about Kyle.

Why "St. Louis" is not one government, and never has been

The City left the County, and that was the whole event

Most American cities sit inside a county the way a room sits inside a house: the city runs its own affairs, but the county government still exists around and underneath it, holding certain functions the city does not duplicate. St. Louis does not have that structure. The City's own government page states it plainly: because the City of St. Louis is independent of any county, the judicial and revenue collection functions a county government would ordinarily perform are instead run inside the City itself, through eight separately elected offices. That arrangement has existed since 1876, when the City separated from St. Louis County by its own choice and has stood alone as its own independent city ever since.

This is not a naming quirk or an administrative curiosity. It means St. Louis County's government has no authority inside the City's boundary for any purpose, the same way Missouri has no authority inside a jurisdiction that has adopted its own code. A contractor working "the St. Louis market" is, from a permitting standpoint, working two separate governments that happen to share a name, and exactly one of them can ever be the correct answer for a given parcel.

The code gap is a symptom of the split, not a scheduling accident

The City's own published list of adopted codes shows the 2018 International Residential Code, enacted under Ordinance 70795 and dated adopted August 1, 2018, alongside the 2018 Building, Existing Building, and Energy Conservation Codes adopted the same day under their own ordinance numbers. St. Louis County's own current Codes and Ordinances page lists its Residential Building Code as Chapter 1116, the 2015 International Residential Code, and its Commercial Building Code as Chapter 1115, the 2015 IBC. Three edition cycles separate the two documents.

In most two-government metros, a gap like that is a matter of one board or council simply not having voted yet, and it can close the next time either government updates its own schedule. That framing undersells what is happening here. The City and County are not two departments of one broader government that could someday harmonize by ordinary administrative action. They have been two constitutionally separate governments for a century and a half, and the code gap between them is downstream of that separation rather than a lag either side is likely to close on its own timetable.

Inside the County, the layering does not stop at one document

St. Louis County itself contains dozens of separately incorporated municipalities, each with the authority to adopt its own further amendments on top of the County's 2015-vintage base. The County's own base adoption is the floor for unincorporated ground, not necessarily the ceiling for every address that carries a St. Louis County mailing address. A parcel's specific municipality, where one exists, has to be checked in its own right rather than assumed to follow the County's document unmodified.

None of that changes the fact that sits underneath all of it: whichever government actually holds the parcel, City or County, is answering from its own separately adopted edition, and the two editions are not the same book.

What each government's own document actually says, read directly

City of St. Louis: 2018 across the residential and building package

The City's own published Building Codes page names the 2018 International Residential Code, Ordinance 70795, adopted 08-01-18, as its current residential edition. Sitting beside it on that same page, sharing that same August date, are the 2018 International Building Code (Ordinance 70794), the 2018 International Existing Building Code (Ordinance 70797), and the 2018 International Energy Conservation Code (Ordinance 70799). One trade on the City's own list runs newer than the rest: plumbing moved to the 2021 Uniform Plumbing Code under a separate ordinance adopted in February 2023, which this page names only to show that even a single government's list is not automatically one uniform vintage. Verify with local building dept Pull the City's own published Building Codes page at the time the estimate is written, since it is the only document that controls whether a given edition still holds.

St. Louis County: a separate government, a separate and older edition

St. Louis County's own current Codes and Ordinances index, maintained by the County's Department of Transportation and Public Works, lists its Residential Building Code as Chapter 1116, the 2015 International Residential Code, and its Commercial Building Code as Chapter 1115, the 2015 International Building Code. Its Existing Building Code is Chapter 1117, the 2015 IEBC. None of the three carries a 2018 or newer edition on the County's own live page.

Two governments, zero shared territory, one correct answer per parcel

The City of St. Louis and St. Louis County do not overlap anywhere on the map. Nothing about the two governments' boundaries leaves room for a parcel that could plausibly belong to either one, so there is no faster path to the right answer than simply pulling the parcel and looking. Swap the two governments' documents, City edition on a County roof or County edition on a City roof, and the result is not a minor drift in vintage. It is a citation from an office that has no authority over that address at all. Verify with local building dept Confirm which government holds the parcel before either edition is cited, and confirm the specific municipality's own amendments where the parcel sits inside one of the many incorporated cities within County boundaries.

One name on the mailing address, two names on the permit

State Farm, Allstate, Farmers, American Family, Missouri Farm Bureau, and USAA all write policies across both sides of this metro, City and County alike, and none of them is the reason a St. Louis-area estimate goes wrong. The failure sits upstream of any single carrier. Everybody involved, adjuster and contractor both, learned to call this whole area St. Louis long before either one of them opened a code book, and that single word papers over a governmental boundary that has nothing to do with storm tracks, ZIP codes, or which desk gets assigned the claim. A carrier's own catastrophe deployment groups files by the storm footprint, not by which of two building departments will eventually review the permit, so a batch of St. Louis-area estimates can leave the same desk on the same afternoon citing the same code year for addresses that answer to two different governments entirely.

Untangling it is a lookup, not a negotiation. Pull the parcel, confirm whether the City or the County holds it, pull that specific government's own current edition, and check for a further municipal layer if the parcel sits inside one of the County's many incorporated cities. None of that requires arguing with an adjuster about which code applies; it requires having the right document in hand before the conversation starts. Where an estimate already went out built on the wrong government's assumptions, the reinspection supplement is where that gets corrected, with the actual governing document named rather than argued from memory. A separate track exists for depreciation recovery when the fight is about the withheld amount rather than the code citation, and the two tracks do not share evidence, because they are not the same dispute.

What gets recovered on a St. Louis roof file

Ordered by how often the item is missing when a file reaches our desk.

Status key: In scope. Usually omitted. Code driven. Verify with the authority having jurisdiction. Every status is spelled out in words beside the item, so nothing depends on color.

  • Reviewing government identified first: City of St. Louis or St. Louis County, never assumed from the mailing address

    Verify with local building dept

    These are two separate governments with no shared territory and no overlapping authority, so this is not a jurisdiction judgment call the way it is in most two-government metros. It is a lookup with exactly one correct answer, and every code citation below depends on getting it right before anything is written.

  • Roof covering assembly priced to the 2018 IRC where the City of St. Louis is the reviewing office

    Code driven

    The City's own published list names the 2018 International Residential Code, Ordinance 70795, adopted 08-01-18, as its currently enforced residential edition. Write the shingle assembly, the fastening schedule, or the underlayment call to anything earlier and the City's own plan reviewer is looking at a compliance path that stopped being valid the day this ordinance took effect.

  • Roof covering assembly confirmed separately against the 2015 IRC for an unincorporated County address

    Verify with local building dept

    St. Louis County's own current Codes and Ordinances page lists its Residential Building Code as Chapter 1116, the 2015 IRC, three edition cycles behind the City's 2018 adoption. Ask the identical roofing question on either side of that boundary and the correct citation changes underneath you, and nothing about the visible roof gives that away before an inspector says so.

  • Existing-building provisions checked against the correct government's own edition of the IEBC

    Code driven

    The City's own list separately names the 2018 International Existing Building Code, Ordinance 70797, same adoption date as its residential code. The County's own list separately names Chapter 1117, the 2015 IEBC. A repair-versus-replacement threshold question answers to whichever of these two documents the parcel's own government has adopted, not to whichever one a template happens to default to.

  • Municipality-level amendment confirmed for any of the many separately incorporated cities inside St. Louis County

    Verify with local building dept

    St. Louis County's own base adoption is the floor, not necessarily the ceiling, inside the many separately incorporated municipalities that sit within County boundaries. A parcel inside one of those municipalities can carry a further local amendment layered on top of the County's 2015-vintage base, and that layer has to be confirmed with the specific municipality rather than assumed from the County document alone.

  • Permit and inspection fee priced to the office that actually holds the file

    Verify with local building dept

    The City's Building Division and St. Louis County's Department of Transportation and Public Works run entirely separate fee schedules under entirely separate governments. Carrying one office's fee onto a supplement bound for the other office's parcel is a simple lookup error, and the fix is the same lookup done correctly: pull the parcel, name the government, price its actual published fee.

  • Overhead and profit where a single storm footprint crosses the City-County line in one work order

    In scope

    Crews dispatched across City and County addresses in the same week are not just juggling trades, they are running two administrative processes at once: separate permit intake, separate inspection scheduling, separate fee payment, under two governments that have never shared a building department. Xactimate's own O&P justification looks at management complexity, and a job split across two permitting systems clears that bar before a second trade even shows up.

  • Chimney flashing and counterflashing documented before tear-off on pre-war brick construction

    Usually omitted

    A meaningful share of the City's residential stock and its older inner-ring County suburbs predate both currently adopted codes by decades, and step flashing and counterflashing at a masonry chimney has to be photographed and measured before it disappears under new material, regardless of which government's edition ultimately governs the rest of the permit.

  • Board decking condition photographed before it is covered

    Usually omitted

    Older City and inner-suburb County construction frequently carries board decking rather than sheet product under the original covering, and a flat decking allowance written from a national template does not account for what a specific deck actually looks like once the old covering comes off. Document it while it is still visible.

  • Drip edge and starter course confirmed against whichever government's edition actually applies

    Code driven

    Both the City's 2018-vintage adoption and the County's 2015-vintage adoption carry their own answer on perimeter edge metal and starter requirements, and the two editions do not automatically agree. Confirm the specific requirement against the specific government's own current document rather than carrying one government's answer across the line into the other's territory.

  • Water intrusion and interior damage documented once the covering is off

    Usually omitted

    An adjuster standing in the yard cannot see what happened under the deck, and a scope written from that vantage point simply has nothing to write against ceiling staining or soaked insulation that only shows up once the old material is stripped away. That gap has nothing to do with which government reviews the permit; it is a limit of what a ground inspection can find, on either side of the line.

Each becomes a written line with a reason attached, inside a real Xactimate file. Depending on the claim it ships as a roofing supplement, an Xactimate supplement package, a supplemental estimate, or a full claim estimate written from scratch.

What happens to your file after you send it

  1. 01

    The parcel gets assigned to a government before it gets argued

    We confirm whether the address sits inside the City of St. Louis or in St. Louis County, and if it is in the County, whether a separately incorporated municipality inside County lines carries its own further amendment. Get that placement wrong here and every code section, every fee, and every inspection contact named afterward points at the wrong office.

  2. 02

    The reviewing government's own current edition gets pulled, not assumed from the metro name

    The City's own list runs to the 2018 IRC under Ordinance 70795. The County's own list runs to the 2015 IRC under Chapter 1116. We confirm which document is actually in force for the specific parcel before either edition is cited in writing.

  3. 03

    The supplement is written in Xactimate and delivered as a PDF

    Real file, real price list, real sketch. You get the PDF as the deliverable, and the ESX free any time you ask for it. Written same day or next day, submitted next day. One to three extra days on large commercial and multi structure work.

  4. 04

    We stay on the file until the carrier answers

    Follow-up, desk adjuster calls, and reinspection support when the carrier sends someone back to the roof. The file does not close on our side because it went quiet on theirs.

Two promises, stated separately

Promise one: the fee

The standard fee is 15 percent of supplemental recovery. If a file produces no additional approved recovery, you pay nothing on that claim. That is the whole fee structure, and it applies claim by claim.

Promise two: the guarantee

Send us an average of 2 claims per week for 12 months. If that volume does not produce a minimum of six figures in additional margin for your company, we write you a $5,000 check at the end of the 12 months. The volume, the 12 month term, the six figure threshold, and the $5,000 figure are one set of terms and they always travel together.

Two different promises, no overlap. The fee describes what a single claim costs you. The guarantee describes what a year of steady volume is worth. Nothing in the fee structure is a guarantee, and the guarantee does not change the fee.

St. Louis questions we get from contractors

Is St. Louis part of St. Louis County?

No. The City of St. Louis has been independent of any county since 1876, and the City's own government structure page states it directly: the judicial and revenue collection functions a county government normally performs are instead run inside the City government itself, through eight separately elected offices. St. Louis County is a different government entity with a different building department, a different border, and no authority inside the City limits under any circumstance. Naming St. Louis and St. Louis County as though the second contains the first is a structural error the City's own page corrects on sight.

Which residential code governs a re-roof permit inside the City of St. Louis?

The City's own published list of adopted codes names the 2018 International Residential Code, enacted by Ordinance 70795 and dated adopted 08-01-18. That same list shows the City adopting its Building Code, its Existing Building Code, and its energy code, all at the 2018 edition and all under that identical date, each carrying its own separate ordinance number. Naming the year 2018 without the ordinance number and the adoption date leaves out the specific proof that this is still the edition on the City's current list.

Does St. Louis County run the same code as the City?

No, and the gap is not a rounding error. St. Louis County's own Codes and Ordinances page, published and maintained by the County's own Department of Transportation and Public Works, lists its Residential Building Code as Chapter 1116, the 2015 International Residential Code, and its Commercial Building Code as Chapter 1115, the 2015 International Building Code. The City's own list, above, sits three edition cycles newer at 2018. A supplement written for a City address and a supplement written for an unincorporated County address a few miles away are not citing the same book, and the gap did not open recently. It has existed since the two governments split apart.

If the City and County both say St. Louis, how do you know which office actually reviews a given permit?

The address settles it, and it settles it completely, because there is no shared or overlapping territory between the two governments to create a gray area. A parcel inside the City limits reports to the City's own Building Division and its 2018-vintage list. A parcel in unincorporated St. Louis County reports to the County's Department of Transportation and Public Works and its 2015-vintage list instead. Municipalities incorporated inside the County can layer their own further amendments on top of the County's base adoption, which is a separate check this page does not attempt to catalog address by address. Pinning down the reviewing office by the parcel itself, never by the city name printed on the envelope, is the first fact settled on a St. Louis-area file.

Why does the City-County split matter more here than a typical city-versus-county code gap elsewhere?

Because most city-versus-county code gaps are the product of two governments updating their own adoption schedules at different speeds, which means the gap can close the next time either government votes to update. St. Louis City and St. Louis County are not on a shared schedule that could someday converge by ordinary means, because they have been two entirely separate governments, with no overlapping authority of any kind, since 1876. The 2018-versus-2015 edition gap is a symptom of that governmental split, not a scheduling accident, and treating it as a typical adoption-lag question undersells how structural the difference actually is.

How much does a supplement typically recover?

On claims where the roof is already approved for full replacement, our own closed files show a median recovery of about $4,000, with half landing between roughly $1,800 and $9,500. Claims that start denied or repair-only run far higher.

How fast is turnaround, and what does it cost?

Estimates are written same day or next day and submitted next day. Larger commercial and multi structure files take one to three extra days, said up front. Carrier response runs about three weeks as a general expectation. The standard fee is 15 percent of supplemental recovery, and a file with no additional approved recovery owes nothing on that claim.

St. Louis and the Missouri market

St. Louis anchors the eastern edge of the wider Missouri market, clear across the state from Kansas City, with Springfield and Joplin in the southwest corner, and Columbia sitting in the middle of the state between all three. None of those markets shares this page's argument: Kansas City's gap is a single city re-amending its own document on its own schedule, Springfield's is a wind-uplift table tied to one lot's surroundings, and Joplin's is a rebuilt housing stock clustered around one storm year. St. Louis's gap predates all of that, rooted in an 1876 separation rather than a scheduling difference. Closer in, files come from the many separately incorporated municipalities inside St. Louis County, from St. Charles County to the northwest, and from Jefferson County to the south, each with its own reviewing office to confirm before a single line is priced.

Send one St. Louis file and let the parcel set the document

Send over the carrier estimate, your measurements, any permit already on file, and the policy declarations. We start by placing the parcel with the right government, pull that government's own current edition, and build the scope against the document that actually has authority over the address, then turn the rebuilt file around by the next business day.