Building permit expiry, progress and renewal rules by jurisdiction
How long a building permit stays valid, what keeps it alive, what it costs to renew once it has lapsed, and how the local rule differs from the model-code section it amends. One record is one rule for one jurisdiction, placed next to the adopted code section it replaces. Answers 'how long is a building permit valid before it expires', 'does an inspection reset the permit clock', 'my building permit expired what do I do', 'building permit renewal fee after expiration', and 'IRC 105.5 permit expiration'. The memorised answer is 180 days and it is wrong in the places people ask about: unincorporated San Diego County allows two years to start work, then requires a passed inspection every 180 days, with an outer life of three years and renewal at one-half of current permit fees — one-quarter if only a final inspection remains. DC's adopted code gives one year to begin, with a 180-day carve-out for residential work and no more than four extensions per permit.
The data
| Jurisdiction | Source type | Permit type | Deadline to start work | Inactivity window | Code citation | Maximum permit life | Renewal fee basis | Extension rule |
|---|---|---|---|---|---|---|---|---|
| District of Columbia | adopted code | building permit | null and void if the authorized work is not begun and inspected pursuant to Section 109 within one year after the permit is issued | if the authorized work is suspended, abandoned or not inspected pursuant to Section 109 for a period of one year | 105.5 | |||
| San Diego County | department page | building permit | it will expire if the work is not started within two years. To meet this requirement, the permittee must call for, and pass a valid inspection | passing a valid inspection at least every 180 days (six months) | Sec. 91.1.105.5.2 | all work must be completed within three years | One-half of current permit fees are due upon renewal unless progress has been made (and approved) so that only a final inspection is needed, then one-quarter of current permit fees are due | |
| District of Columbia | adopted code | building permit — extension of permit | 105.5.1 Extension of Permit | extensions of time not to exceed 180 days per extension. Not more than four extensions of time will be granted to any permit. The code official may issue an extension for a period of 365 days upon demonstration of need at the time of extension application, but, in no event, shall the aggregate extensions of time exceed two years | ||||
| District of Columbia | adopted code | premises deemed to be unsafe or unfit for human occupancy, or abandoned or deteriorated property | invalid if the authorized work is not begun within 30 days after the permit is issued | 105.5.1 | completed within six months after the date work is begun | unless the permit is extended in accordance with Section 105.5.1 | ||
| District of Columbia | adopted code | Residential Code | invalid if the authorized work is not begun within 180 days after the permit is issued | suspended or abandoned for a period of 180 days after the date work is begun as evidenced by lack of continuous work | ||||
| District of Columbia | adopted code | Special Flood Hazard Area | invalid if the authorized work is not begun within 180 days after the permit is issued | suspended or abandoned for a period of 180 days after the date work is begun as evidenced by a lack of continuous work | ||||
| Creve Coeur, MO | department page | temporary certificate of occupancy | a fee of $65 each month until the final building inspection is approved | may be renewed, at the discretion of the building official, every 30 days |
Where this came from
Every record above links the page it was taken from and quotes the sentence that states it. These are the 3 sources this dataset was assembled from.
- up.codeshttps://up.codes/s/expiration-of-permit
- sandiegocounty.govhttps://www.sandiegocounty.gov/content/sdc/pds/bldg-perm-exp.html
- crevecoeurmo.govhttps://www.crevecoeurmo.gov/86/Sequence-of-Inspections
Machine-readable
- data.jsonThe whole dataset — every record with its source URL and source quote.
- Open Knowledge Format bundleOne JSON object per line — every record's frontmatter and quoted span exactly as it is held here, in one fetch.
- How this is made and checkedWhat "verified against source" does and does not mean.