AHJ database

    What is an AHJ database? A guide for residential solar & storage projects

    An AHJ database is one of the most searched, and most misunderstood, tools in residential solar and storage development. This page covers what an AHJ database actually is, how to find the right AHJ for a given address, and what separates a database that genuinely prevents delays from one that just looks comprehensive.

    Last updated: July 13, 2026

    Fordje

    From Fordje — AI code and regulatory data for residential clean-energy projects.

    Part of the Residential Solar & Storage Guide.

    What is an AHJ?

    AHJ stands for Authority Having Jurisdiction: the government agency responsible for reviewing and approving a construction project in a specific location, including residential solar and battery storage installations.

    Depending on where a project sits, that authority might be a city building department, a county planning office, a fire marshal, or — separately from the building permit itself — the utility handling interconnection. There are over 28,000 AHJs in the U.S. — from city to county to state — plus thousands more unincorporated territories that typically default to county or state rules instead. Within a single jurisdiction, rules can already vary block to block because of zoning overlays, historic district designations, or a local comprehensive plan — before you even get to the fact that every jurisdiction sets its own code adoptions, setback rules, and submission requirements on top of that, with wildly uneven levels of documentation and transparency. Getting the AHJ wrong, or missing one of its specific requirements, can mean a rejected permit application, a bounced interconnection request, or a failed inspection — each one means reworking and resubmitting, and each submission typically comes with its own fee that isn't refunded when it's rejected. That adds weeks and real dollars to a project a homeowner is already waiting on.

    What is an AHJ database?

    An AHJ database is a structured, searchable record of what each Authority Having Jurisdiction requires: which building, electrical, and fire codes it enforces, what structural and setback rules apply to solar and battery installations, what forms and documentation a submission needs, and who to contact.

    Instead of a design or permitting team researching all of this from scratch — through a mix of municipal websites, phone calls, and prior project files — an AHJ database centralizes it in one place. Many databases are actually built this way in the first place: a team submits a permit or interconnection application, sees what comes back wrong, corrects it, and records the result as the jurisdiction's requirement — a submit-and-pray method that works, but leaves most databases only as current as their last rejection. Rather than being refreshed on a proactive schedule, they're typically updated only when a project is rejected and the team records what changed, which is a costly way to maintain data. SEIA has documented that residential soft costs run to 65% of total system cost, with permitting alone adding roughly $1 per watt in direct and indirect cost once the labor of navigating inconsistent jurisdiction practices is included, and that each week of delay from permitting, inspection, or interconnection increases customer cancellation risk by 10%. A database that actually reduces those costs needs three things: current data checked on a real cadence (not just after a rejection forces the issue), coverage that spans more than one code category (a clean electrical review doesn't help if the fire marshal's setback rule is what gets a submission bounced), and a clear path for the jurisdictions that aren't fully documented yet — even the largest registries have uneven depth.

    How do I find the AHJ for an address?

    Start with the two entities that actually govern a project: the local building department (city or county, depending on the parcel) and the utility that serves the address for interconnection — these can be two entirely separate authorities with separate requirements.

    The most reliable way to confirm both is to match the exact parcel location (address or lat/long) against jurisdiction boundary data, either through a public tool like SunSpec's AHJ Registry or a database built into the design/permitting software already in use. A ZIP code or city name alone isn't a reliable stand-in for this step. A property with a Fairfax, Virginia address, for example, could fall under Fairfax County or the separate, independent Fairfax City — two different building departments with two different permitting processes. Baltimore City and Baltimore County split the same way. Identifying the city is also only the first layer: the county and state above it often hold authority over specific pieces of the same project even when the city issues the base permit — a state fire marshal's office setting battery storage setback rules, or a county holding separate authority over floodplain or structural review, for example. Mapping which authority governs which specific requirement, not just landing on a single jurisdiction name, is what a first-pass-ready submission actually requires. Confirming the AHJ by parcel match rather than assumption is what prevents a permit and interconnection application from going to the wrong office — see the utility interconnection & PTO guide for what happens once that application is filed.

    Is there a free AHJ database?

    Yes — SunSpec's AHJ Registry (part of its Orange Button initiative) is a public, crowdsourced database of AHJ contact and requirement information, built with contributions from NREL and open for anyone to search by address.

    It's a legitimate starting point, particularly for identifying which AHJ governs a given address. Where a free, crowdsourced registry runs into limits is depth and freshness at scale: accuracy depends on ongoing community edits, and coverage of the more detailed, project-specific requirements (structural and setback rules for storage, jurisdiction-specific submission forms, current code-cycle adoption) tends to be thinner than address- and contact-level data. For a team relying on this information to build permit- and interconnection-ready designs across many jurisdictions, the free tier is often a useful first lookup — not a complete substitute for a database maintained specifically for design and submission accuracy.

    What happens if a jurisdiction isn't in an AHJ database yet?

    Coverage is uneven across the industry: some AHJs are large and well-documented, others are small, rural, or simply haven't digitized their requirements, so even a well-maintained database can have partial information, or none, for a given jurisdiction.

    Until a jurisdiction is fully documented, the fallback is direct research: pulling whatever the jurisdiction has published, calling the permitting office directly, and in some cases filing a public records request for code adoption or setback information that isn't posted anywhere. A database that treats this well surfaces the gap upfront — rather than silently returning nothing or outdated data — and has an active, ongoing process for closing it, so a partially-documented jurisdiction today doesn't stay that way indefinitely.

    Does an AHJ database replace calling the local permitting office directly?

    Not always. A good AHJ database provides accurate information at the start — when a project is first being designed — so downstream teams in permitting or interconnection aren't stuck making expensive, time-consuming changes later in the build lifecycle.

    It also eliminates the repetitive, low-value work — looking up which codes apply, what forms are needed, what a jurisdiction's setback rules are — so a team isn't starting from zero on every project. What it doesn't replace is judgment calls that depend on a specific reviewer's interpretation, complex projects that fall outside scoped codes and requirements, or edge cases the documented rules don't clearly cover. In practice, teams that rely on an AHJ database still end up calling a permitting office directly on a meaningful minority of projects — usually when something in the submission is ambiguous, complex, or genuinely undocumented. The value of the database is twofold: it keeps straightforward projects moving quickly through each stage of the lifecycle by preventing avoidable issues at milestones like permitting, interconnection, and inspection, and for the more complex ones, it surfaces the issues early, before a submission goes in, rather than through a rejection weeks later. Getting every element right upfront — the right forms, the right code references, the right supplemental documentation — means a team knows on day one whether a project needs direct contact with the permitting office, instead of discovering it after weeks of silence and having to go back to the customer with a delay nobody saw coming. See the permitting requirements guide for what "every element right" actually means on a plan set.

    Do AHJ databases include the actual submission forms, or just code requirements?

    It depends on the database. Many focus narrowly on code and structural requirements — setbacks, electrical standards, fire code — without going further into what a jurisdiction actually requires to act on that code in a submission.

    Knowing the code is one thing; knowing what specific form, declaration, or documentation a jurisdiction requires to demonstrate compliance with it is another, and the two don't always map in an obvious way. A more complete AHJ database tracks both together: the underlying code requirement, and the local submission requirement that applies it — plus, where applicable, direct links to the permit or interconnection applications themselves. That combination is what actually prevents a stalled submission, since a code reference alone doesn't tell a team what piece of paper a jurisdiction is going to ask for.

    Where Fordje fits. Fordje is an AI code and regulatory data platform, and the AHJ database is the foundation it's built on — but built for design and submission accuracy, not just address-to-AHJ lookup. It ladders code requirements to the local submission requirements that apply them, keeps data current as jurisdictions revise code adoptions, and flags gaps upfront rather than returning silence for an undocumented jurisdiction. Rather than treating incomplete coverage as a permanent limitation, Fordje actively closes jurisdiction gaps as they're identified, so the data underneath a project keeps getting more complete over time.


    Related questions

    How is an AHJ database different from an AHJ registry?

    In practice the terms overlap, but "registry" more often refers to a free, address-to-AHJ lookup tool (like SunSpec's), while "database" more often implies deeper requirement-level detail — code specifics, setback rules, submission forms — layered on top of that identification step.

    Can I add a jurisdiction that's missing from an AHJ database?

    With most databases, yes in some form — either by requesting it directly from the provider or, for crowdsourced registries, submitting the information yourself for review. How quickly that gets incorporated varies widely by provider.