← Utah ADU planning

Utah ADU Builder

Data · 102 cities · updated 2026-10-17

Utah ADU data for developers and AI assistants

The same city research and Utah Code rules behind the property map, as a free JSON API, an MCP server for AI assistants, and a checker you can embed on your own site.

How Utah ADU Builder data flows: four sources feed one rules engine, which serves five outputsUtah Code10-21-303, 10-21-304, 57-8aCity codes102 cities, dated checksParcel recordsUGRC statewide parcelsCouncil recordsOpenUtah transcriptsRules engineinternal and detached rule traceengine 2026-10-17Property maputahadubuilder.comCity pages, CSV, Markdown/cities, /utah-adu-rules-by-cityREST API/api/v1/citiesMCP server/api/mcpEmbeddable checker/embed/check
Every output reads the same city research and statute rules, so the map, the API and an AI assistant give the same answer for the same city.

Endpoints

No key needed. Responses are JSON with CORS enabled, cached for an hour, and rebuilt on every deploy.

Public endpoints
MethodPathReturns
GET/api/v1/citiesEvery city and town on file with its full rules record (JSON).
GET/api/v1/cities/{slug}One city, for example /api/v1/cities/orem. Unknown slugs return 404.
GET/utah-adu-rules-by-city.csvThe rules table as CSV, one row per city.
GET/changes/feed.jsonDated rule changes as a JSON Feed (RSS at /changes/feed.xml).
GET/cities/{slug}/index.mdEach city page as Markdown, with sources.
GET/openapi.jsonOpenAPI 3.1 description of the API.
POST/api/mcpModel Context Protocol server for AI assistants (JSON-RPC 2.0).
curl https://utahadubuilder.com/api/v1/cities/orem

Response excerpt, generated from today’s data for Orem. The full record also has size limits, setbacks, height, zones, process, pending proposals and sources.

{
  "version": "1.0",
  "city": {
    "slug": "orem",
    "name": "Orem",
    "county": "Utah",
    "specifiedMunicipalitySB284": true,
    "internal": {
      "status": "generally-allowed",
      "lotRule": "none",
      "minLotSqft": null,
      "ownerOccupancy": "The owner must live in either the main home or the ADU as their primary residence (listed as such on their property taxes, tax returns and driver's license). The people living there must hold at least 50% ownership (trusts and companies qualify only in limited cases), and a temporary absence of up to three years for a job assignment, sabbatical or voluntary service is allowed. The city's accessory-apartment checklist also asks the owner to sign an affidavit not to rent both units."
    },
    "detached": {
      "status": "generally-allowed",
      "lotRule": "minimum",
      "minLotSqft": 11000,
      "parking": "Two dedicated spaces must be verified for the main home, plus one more for a unit of 200-650 sq ft or two more for a unit over 650 sq ft (each at least 8 x 16 ft and paved). Garage spaces count only if the garage holds more than two cars. ADU parking can't be in the home's front setback or farther back on the lot than the ADU's front-facing wall."
    },
    "verifiedAt": "2026-10-17",
    "page": "https://utahadubuilder.com/cities/orem"
  }
}

Lot minimums are numbers in sq ft. A value ending in 001, such as 6001, means the lot must be larger than the round number; lotRule says whether a city minimum is on file (minimum), a city source shows no separate minimum (none), or no rule has been confirmed (not_verified). How each rule was checked is in certainty and the city’s verifiedAt date. Pending proposals are listed separately and are not law.

MCP server for AI assistants

Add the endpoint below as a remote MCP server (Streamable HTTP) in any client that supports one. It is read-only and needs no sign-in.

https://utahadubuilder.com/api/mcp
MCP tools
ToolArgumentsReturns
get_city_adu_rulescityInternal and detached rules for one city, with review date and official sources.
list_utah_adu_citiesnoneEvery city with status, lot rule and S.B. 284 status.
recent_adu_rule_changessince, limitAdopted ordinances, proposals and denials, newest first.
screen_utah_propertyaddressPreliminary internal and detached screen for a Utah address, with the rule trace and flood, fault, landslide and wildfire map checks. 60 per hour per client.
curl -X POST https://utahadubuilder.com/api/mcp \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
       "params":{"name":"get_city_adu_rules","arguments":{"city":"Orem"}}}'

Embeddable checker

For city websites, brokerages and lenders: a small form that answers “Can I add an ADU here?” for any Utah address and links to the full rule trace. It follows the visitor’s light or dark setting.

<iframe src="https://utahadubuilder.com/embed/check"
  title="Utah ADU property check"
  width="100%" height="430" loading="lazy"
  style="border:0;border-radius:16px;max-width:720px"></iframe>

Terms, license and attribution

Planning information from Utah ADU Builder, not legal advice or a permit. Attribute https://utahadubuilder.com and link the city page when you republish. Confirm rules with the city before relying on them.

The city rules data (the API, the CSV, the Markdown city pages and the Utah ADU Index figures) is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0). Credit “Utah ADU Builder (utahadubuilder.com)” and link the city page you used. Parcel screens draw on public county records through UGRC, which carry their own terms. Site text, design and tools stay under our terms of use.

How the screen decides: how it works. Rules for every city in one table: Utah ADU rules by city. Found an error in a city record? Tell us and include the ordinance or page that shows the correct rule.