Reference Source

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.

Records7
Sources3
Verified
Review by
LicenceFacts extracted from freely published municipal and county building department pages and from published jurisdiction-amended code sections, with a short attributed quote and a link back. Expiry periods and renewal fee bases are facts about a legal requirement, not reproductions of a standards developer's expression. UpCodes is used only for the amended-section value with a short attributed quote, never as a bulk source: its product IS the compilation of code text and it is in active litigation with ICC and ASTM over exactly that. Prefer the jurisdiction's own publication wherever it exists.

The data

JurisdictionSource typePermit typeExtension ruleRenewal fee basisDeadline to start workInactivity windowCode citationMaximum permit life
Creve Coeur, MOdepartment pagetemporary certificate of occupancymay be renewed, at the discretion of the building official, every 30 daysa fee of $65 each month until the final building inspection is approved
District of Columbiaadopted codebuilding permitnull and void if the authorized work is not begun and inspected pursuant to Section 109 within one year after the permit is issuedif the authorized work is suspended, abandoned or not inspected pursuant to Section 109 for a period of one year105.5
District of Columbiaadopted codebuilding permit — extension of permitextensions 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 years105.5.1 Extension of Permit
District of Columbiaadopted codepremises deemed to be unsafe or unfit for human occupancy, or abandoned or deteriorated propertyunless the permit is extended in accordance with Section 105.5.1invalid if the authorized work is not begun within 30 days after the permit is issued105.5.1completed within six months after the date work is begun
District of Columbiaadopted codeResidential Codeinvalid if the authorized work is not begun within 180 days after the permit is issuedsuspended or abandoned for a period of 180 days after the date work is begun as evidenced by lack of continuous work
District of Columbiaadopted codeSpecial Flood Hazard Areainvalid if the authorized work is not begun within 180 days after the permit is issuedsuspended or abandoned for a period of 180 days after the date work is begun as evidenced by a lack of continuous work
San Diego Countydepartment pagebuilding permitOne-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 dueit will expire if the work is not started within two years. To meet this requirement, the permittee must call for, and pass a valid inspectionpassing a valid inspection at least every 180 days (six months)Sec. 91.1.105.5.2all work must be completed within three years

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.

Machine-readable

From your own code

Same records, same quotes, without scraping the page: refsource is on PyPI and npm. Each value comes back carrying the URL it was read from and the sentence on that page that states it — .source and .quote sit on the value itself rather than in a side channel, so the checking step is available instead of skipped.

pip install refsource
refsource lookup building-permit-validity-and-renewal jurisdiction="Creve Coeur, MO"

npx -y refsource lookup building-permit-validity-and-renewal jurisdiction="Creve Coeur, MO"

Set your AI assistant up to use this

Two files and no account. Put this in .mcp.json at the root of your project — Claude Code, Cursor, Windsurf, VS Code and Codex all read that file — and your assistant can look this dataset up instead of recalling it. The server is remote, keyless and read-only.

{
  "mcpServers": {
    "referencesource": {
      "type": "http",
      "url": "https://referencesource.org/mcp"
    }
  }
}

Add to Cursor · or, on the command line: claude mcp add --transport http referencesource https://referencesource.org/mcp --scope project

Then one line in the project's CLAUDE.md or AGENTS.md, so the assistant knows when to reach for it:

When a question needs "Building permit expiry, progress and renewal rules by jurisdiction", call the referencesource MCP server at https://referencesource.org/mcp (tool `search_records`, dataset_slug `building-permit-validity-and-renewal`) instead of answering from memory — every record it returns carries its source URL and a verbatim quote from that page.

What each tool does, and the servers built over single registers: Connect your AI assistant.

7 records. last verified against source . due for re-check by .

Licence. Facts extracted from freely published municipal and county building department pages and from published jurisdiction-amended code sections, with a short attributed quote and a link back. Expiry periods and renewal fee bases are facts about a legal requirement, not reproductions of a standards developer's expression. UpCodes is used only for the amended-section value with a short attributed quote, never as a bulk source: its product IS the compilation of code text and it is in active litigation with ICC and ASTM over exactly that. Prefer the jurisdiction's own publication wherever it exists.