zoning

Search zoning

Finds the zoning at a place, or lists the zoning classifications in a jurisdiction.

For the zoning at a place, send one location: address, parcel, lat with lon, or bbox. A place has one base district and any number of overlays.

For every classification in an area, send jurisdiction or fips with no location. Add code for one district.

allowances and standards are included with include=allowance and include=standard. A use missing from allowances is not prohibited: unlisted_uses holds the ordinance's rule for it.

get/v1/zoning

Request

  • Base URL: http://localhost:3030
  • URL: http://localhost:3030/v1/zoning
  • Auth: HTTP bearer

Query parameters

addressstring nullable

A street address, with city or postal code where known, such as 4516 Printer Ln, Raleigh NC 27613. Zoning is looked up at the center of the best-matching parcel.

latnumber nullable

Latitude, in WGS 84. Requires lon.

lonnumber nullable

Longitude, in WGS 84. Requires lat.

parcelstring nullable

A parcel id.

Example:prc_01h455vb4pex5vsknk084sn02q

A parcel id. Zoning is looked up at the parcel's center.

bboxstring nullable

A bounding box, as west,south,east,north in WGS 84. Results are limited to classifications that intersect it.

jurisdictionstring nullable

A jurisdiction id.

Example:jur_01h455vb4pex5vsknk084sn02q

A jurisdiction id. Results are limited to classifications it adopted or that lie wholly or partly within it.

fipsstring nullable

A Census GEOID: 2 digits for a state or 5 for a county, such as 48 or 48453. Results are limited to classifications that lie wholly or partly within it.

codestring nullable

A district code, such as R-1. Requires jurisdiction or fips.

kind'base' | 'overlay' nullable

District type. One of base or overlay.

usestring nullable

A use, as named in the ordinance. Results are limited to classifications whose allowances list it.

result'permitted' | 'conditional' | 'prohibited' | 'unknown' nullable

The result for use. One of permitted, conditional, prohibited or unknown. Requires use.

legal_status'adopted' | 'proposed' nullable

Legal status. One of adopted or proposed. Defaults to adopted.

includestring nullable

Comma-separated sections to include. Any of allowance (allowances), standard (standards) and geometry (every mapped area, as GeoJSON).

format'json' | 'geojson'

Response format. One of json (a list) or geojson (a FeatureCollection). Defaults to json. Accept: application/geo+json also selects geojson.

cursorstring nullable

A cursor for pagination: the next_cursor from the previous page.

sizeinteger nullable

Number of results per page, between 1 and 200. Defaults to 20.

totalboolean

Whether to include total, the count of all matches, on the first page. Defaults to false.

Response

A page of zoning classifications.

object'list' required

The object's type. Always list.

has_moreboolean required

Whether there are more results after this page.

next_cursorstring nullable required

The cursor for the next page. Send it as cursor. Null on the last page.

suppressedinteger required

The number of matching results withheld because the plan does not include them.

Example response

{
  "data": [
    {
      "id": "zon_01h455vb4pex5vsknk084sn02q",
      "code": "R-4",
      "name": "Residential-4",
      "applies_over": {
        "codes": [
          "R-4",
          "R-6"
        ],
        "citation": {
          "section": "2.2.1",
          "passage": "The R-4 district is intended for single-unit living at up to 4 units per acre.",
          "url": "https://udo.raleighnc.gov/book/export/html/76",
          "effective": "2013-09-01"
        }
      },
      "precedence": {
        "rank": 1,
        "citation": {
          "section": "2.2.1",
          "passage": "The R-4 district is intended for single-unit living at up to 4 units per acre.",
          "url": "https://udo.raleighnc.gov/book/export/html/76",
          "effective": "2013-09-01"
        }
      },
      "jurisdiction": {
        "id": "jur_01h455vb4pex5vsknk084sn02q",
        "name": "Raleigh",
        "type": "city",
        "fips": "3755000",
        "href": "/v1/jurisdiction/jur_01h455vb4pex5vsknk084sn02q"
      },
      "within": [
        {
          "id": "jur_01h455vb4pex5vsknk084sn02q",
          "name": "Wake",
          "tier": "subregion",
          "type": "county",
          "fips": "37183"
        }
      ],
      "category": {
        "code": "RHS",
        "description": "Residential Less Than 10 Acres",
        "standard": "residential"
      },
      "purpose": "Residential-4 is primarily intended for single-unit living, at up to 4 units per acre.",
      "ordinance": {
        "citation": "Raleigh Unified Development Ordinance",
        "section": "2.2.1",
        "url": "https://udo.raleighnc.gov/book/export/html/76",
        "adopted": "2013-02-18",
        "effective": "2013-09-01"
      },
      "effective": {
        "from": "2013-09-01"
      },
      "mapped_area_m2": 153558663.9,
      "allowances": [
        {
          "use": {
            "code": "1100",
            "name": "Two-unit living",
            "category": "Household Living"
          },
          "result": "conditional",
          "qualification": "See the definitions and use standards in Sec. 6.2.1.B.",
          "process": "Special use permit",
          "citation": {
            "section": "2.2.1",
            "passage": "The R-4 district is intended for single-unit living at up to 4 units per acre.",
            "url": "https://udo.raleighnc.gov/book/export/html/76",
            "effective": "2013-09-01"
          }
        }
      ],
      "unlisted_uses": {
        "process": "Use Determination by the Zoning Administrator",
        "citation": {
          "section": "2.2.1",
          "passage": "The R-4 district is intended for single-unit living at up to 4 units per acre.",
          "url": "https://udo.raleighnc.gov/book/export/html/76",
          "effective": "2013-09-01"
        }
      },
      "standards": [
        {
          "type": "setback_front",
          "label": "D1 Principal building (max)",
          "value": {
            "min": 10,
            "max": 40,
            "unit": "ft"
          },
          "text": "20 feet from the right-of-way",
          "qualification": "Applies to lots created after September 1, 2013.",
          "citation": {
            "section": "2.2.1",
            "passage": "The R-4 district is intended for single-unit living at up to 4 units per acre.",
            "url": "https://udo.raleighnc.gov/book/export/html/76",
            "effective": "2013-09-01"
          }
        }
      ],
      "geometry": {
        "type": "Polygon",
        "coordinates": [
          [
            [
              -78.6999,
              35.849
            ],
            [
              -78.6993,
              35.849
            ],
            [
              -78.6993,
              35.8494
            ],
            [
              -78.6999,
              35.8494
            ],
            [
              -78.6999,
              35.849
            ]
          ]
        ]
      },
      "sources": [
        {
          "url": "https://maps.raleighnc.gov/arcgis/rest/services/Planning/Zoning/MapServer/0",
          "acquired": "2026-10-01"
        }
      ],
      "as_of": "2026-10-01",
      "href": "/v1/zoning/zon_01h455vb4pex5vsknk084sn02q"
    }
  ],
  "next_cursor": "eyJrIjoiMjAyNi0xMC0wMSIsInQiOjQyfQ"
}

Changes

No recorded changes to this operation across all 1 revision of this API.