Input and Output Formats

Structure of our API

The structure of our API is streamlined to allow straight forward searching/finding and filtering parcels that fulfill your specific attributes. It uses an open standard format of GeoJSON where applicable.

GeoJSON

GeoJSON is the open standard format for encoding geographic data. For a consistent view of parcel data and ease of interoperability with our endpoints and other tools we strive to accept GeoJSON formatted input and return GeoJSON structured results.

Geometries Supported

We support every favored GeoJSON geometry type in our geojson request parameter. This includes Polygon, MultiPolygon, Point, MultiPoint, LineString and MultiLineString. Regrid parcels are returned with either a GeoJSON Polygon or MultiPolygon geometry.

Objects Supported

Feature Collections and Features are the larger wrapper objects supported by our API for both input and output.

For all endpoints that accept the geojson parameter, one can populate this value with a single GeoJSON geometry directly, a Feature containing a geometry (this is the form of a Regrid parcel record) or if there are multiple Geometries to represent, one can POST a FeatureCollection of Features containing any of the various types of GeoJSON geometries.

Many requests will be a single/simple geometry type like a Point, list of points in a MultiPoint or a single Polygon, however there may be cases where one has an assortment of geometry types to query upon. In that case we suggest using a FeatureCollection containing a list of Features of each geometry type. This can allow a request for say, a polygon of a neighborhood or a neighboring parcel or a road (using LineString) to be combined in a single request.

Please note we do not support a GeometryCollection, as although it is part of the GeoJSON spec, many tools do not offer full support and the same results can be achieved using a FeatureCollection containing Features of mixed geometry types.

Input Format

  • As mentioned above all endpoints that support a geojson parameter accepts a Feature Collection, Feature, or GeoJSON geometry.

  • Parameters that start with return_ accept a boolean true/false value. This includes parameters like return_count, return_field_labels, return_stacked, return_custom, etc.

  • Parameters that start with return_matched_buildings, return_matched_addresses and return_enhanced_ownership are optional parameters that allow one to remove results if these add-ons have been purchased. For example, if you have upgraded your account to return Match Building Footprints, they will be included in results by default unless the parameter return_matched_buildings is set to false.

Output Format

All responses that return parcels are formatted as a list of GeoJSON Features within a Feature Collection, whether it be a list of parcels from the Query by Fields endpoint, or partial parcel records returned in a Typeahead response.

All endpoints return a JSON object containing keys corresponding to the data being returned. This top-level namespacing allows for multiple values to be returned with parcels (or other results).

The 'features' object is an array of parcels in GeoJSON form. The parcel's geometry is contained in the same named key geometry. There the GeoJSON geometry lives. Regrid parcels usually contain a GeoJSON Polygon. Sometimes a single parcel contains multiple polygons in the form of a GeoJSON MultiPolygon.

The next key properties in the parcel Feature contains the bulk of Regrid parcel data.

properties object described

  • headline: a human-friendly display address for the parcel. If no address is available, it falls back to the parcel number.
  • path: The parcel's unique identifier as described above in "Parcel Paths Above"
  • fields: Columns from the parcel table. These include Regrid Schema where available, plus additional columns varying by the particular county & data available.
  • field_labels: Human-friendly labels for each key in fields.
  • context: Information about the city or county where this parcel is found, including a path one can use for further searches on endpoints accepting a path parameter.
  • addresses: If add-on is available on your account, an array of additional matched addresses.
  • enhanced_ownership: If add-on is available on your account, an array of additional ownership records on the parcel
  • score: 0-100 available on some responses
  • ll_uuid: The Regrid Universally Unique Identifier guaranteed to be stable over time and allow direct parcel lookups from a couple endpoints including api/v2/parcels/query and api/v2/parcels/:ll_uuid

Lastly there is an id field containing an integer ID. This is not an identifier for the parcel record. If you are in need of a stable identifier we recommend using the ll_uuid field in properties.fields.

See this truncated response below highlighting the high-level structured described.

Standard Response Format

  {
    "parcels": {
      "type": "FeatureCollection",
      "features": [
        {
          "type": "Feature",
          "geometry": {
            "type": "Polygon",
            "coordinates": []
          },
          "properties": {
            "headline": "1435 Randolph St",
            "path": "/us/mi/wayne/detroit/182127",
            "fields": {
              "ogc_fid": 182127,
              "geoid": "26163",
              "parcelnumb": "01003946-7",
              "usecode": "22420"
            },
            "field_labels": {},
            "context": {
              "path": "/us/mi/wayne/detroit"
            },
            "ll_uuid": "83cf8982-b8f8-415e-8cba-f388978f7367",
          },
          "id": 182127
        }
      ]
    }
  }

GET and POST Requests

  • GET requests are accepted for most endpoints. This can sometimes be simpler to craft a request directly in the URL as query parameters. Other times when an input geometry is too large for the URL (over ~2k characters) or the number of parameters becomes unwieldy, making POST requests is a practical choice.

  • When making a POST request any URL parameters are still used by merging in the POST body. This means the POST parameters take precedence over potentially duplicated URL parameters.


Matched Add-Ons

Matched Building Footprints

If your account has Matched Building Footprints enabled, then by default any Parcel API endpoints that return parcels will also return building data. This can be controlled with the following parameter:

  • return_matched_buildings: Set to false to disable building footprint data in the response. Default is true when the account supports it.

Response Format

In the standard response format, there is an additional top-level buildings Feature Collection of Features. Each Feature in the is a building record.

  • See the Buildings Schema document for descriptions of the properties of each building GeoJSON Feature, or inspect the buildings schema in json form using the API.
  • Each building has one or more ll_uuids listed in its properties. These specify which of the parcels contain or overlap these building footprints and correspond to the ll_uuid field in each of the parcels in the parcels Feature Collection in the response.

An example response is below, with some coordinates and parcel fields removed for brevity.

Example response
    {
      "parcels": {
        "type": "FeatureCollection",
        "features": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Polygon",
              "coordinates": []
            },
            "properties": {
              "headline": "758 N Larrabee St",
              "path": "/us/il/cook/chicago/384636",
              "fields": {},
              "field_labels": {},
              "context": {},
              "ll_uuid": "e753a02b-a911-4ef4-826b-f7adc71e35d3"
            },
            "id": 384636
          }
        ]
      },
      "buildings": {
        "type": "FeatureCollection",
        "features": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Polygon",
              "coordinates": [
                [
                  [
                    -87.643172927,
                    41.8958528640001
                  ],
                  [
                    -87.64317102099994,
                    41.8957157240001
                  ],
                  [
                    -87.64319676699995,
                    41.8957155300001
                  ],
                  [
                    -87.643194921,
                    41.895582807
                  ],
                  [
                    -87.643259287,
                    41.8955823220001
                  ],
                  [
                    -87.643258628,
                    41.895534921
                  ],
                  [
                    -87.64323288199995,
                    41.895535115
                  ],
                  [
                    -87.643231959,
                    41.895468754
                  ],
                  [
                    -87.643618152,
                    41.895465841
                  ],
                  [
                    -87.643618094,
                    41.895461713
                  ],
                  [
                    -87.643812708,
                    41.895458841
                  ],
                  [
                    -87.643814608,
                    41.8955833410001
                  ],
                  [
                    -87.64381930699994,
                    41.8958766420001
                  ],
                  [
                    -87.643836103,
                    41.896345947
                  ],
                  [
                    -87.643688345,
                    41.896347061
                  ],
                  [
                    -87.643687818,
                    41.8963091410001
                  ],
                  [
                    -87.64364919799993,
                    41.8963094320001
                  ],
                  [
                    -87.643649792,
                    41.8963520930001
                  ],
                  [
                    -87.64318829,
                    41.896355574
                  ],
                  [
                    -87.643181607,
                    41.8961376410001
                  ],
                  [
                    -87.64317840699994,
                    41.896031642
                  ],
                  [
                    -87.64317490799993,
                    41.895916642
                  ],
                  [
                    -87.643172927,
                    41.8958528640001
                  ]
                ]
              ]
            },
            "properties": {
              "ed_str_uuid": "c7c9f1a0-e035-11eb-9390-989096a9a072",
              "ed_bld_uuid": "dab689b4-e035-11eb-adf3-989096a9a072",
              "ed_geoid": "17031",
              "ed_lat": 41.8958966420001,
              "ed_lon": -87.6434971547822,
              "ed_bldg_footprint_sqft": 55507,
              "ed_source": "Aerial Imagery",
              "ed_source_date": "2019-08-01 20:00:00 -0400",
              "ll_uuids": [
                "e753a02b-a911-4ef4-826b-f7adc71e35d3"
              ]
            },
            "id": 413621873
          }
        ]
      }
    }
  

Matched Secondary Addresses

Requests

If your account has Matched Secondary Addresses enabled, then by default any of the Parcel API endpoints will include these addresses. You can select this per-call with the following query parameter:

  • return_matched_addresses: Set to false to disable matched addresses data in the response. Default is true when the account supports it.

Response Format In the standard response format, the secondary addresses will appear in each parcel feature's properties.addresses array.

An example response is below, with some coordinates and parcel fields removed for brevity.

Example response
    {
      "parcels": {
        "type": "FeatureCollection",
        "features": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Polygon",
              "coordinates": []
            },
            "properties": {
              "headline": "1435 Randolph St",
              "path": "/us/mi/wayne/detroit/182127",
              "fields": {
                "ogc_fid": 182127,
                "geoid": "26163",
                "parcelnumb": "01003946-7",
                "usecode": "22420"
              },
              "field_labels": {},
              "context": {},
              "ll_uuid": "27cb36f3-75e5-4390-9b8f-d4755b8beaa9",
              "addresses": [
                {
                  "a_id": "84157777",
                  "a_address": "1435 Randolph St Ste 202",
                  "a_saddno": "1435",
                  "a_saddpref": null,
                  "a_saddstr": "Randolph",
                  "a_saddsttyp": "St",
                  "a_saddstsuf": null,
                  "a_sunit": "Ste 202",
                  "a_szip5": "48226",
                  "a_szip": "48226-2257",
                  "a_carte": "C025",
                  "a_crtype": "C",
                  "a_scity": "Detroit",
                  "a_state2": "MI",
                  "a_county": "WAYNE",
                  "a_delvseqno": "00189",
                  "a_usps_elotseq": "0155",
                  "a_usps_elotsort": "A",
                  "a_resbus": "B",
                  "a_pmbdesc": null,
                  "a_pmbno": null,
                  "a_dpv_confirm": "Y",
                  "a_dpv_footnotes": "AABB",
                  "a_default_match": "0",
                  "a_lacsflag": "0",
                  "a_usps_vacancy": "N",
                  "a_nostats": "Y",
                  "a_error_code": "0",
                  "a_extrainfo": null,
                  "a_dpv_type": "H",
                  "a_geocodetype": "LI",
                  "a_moddate": "Oct 22 2021  6:52AM",
                  "a_census_blockgroup": "261635172002",
                  "a_lat": "42.335614",
                  "a_lon": "-83.045687",
                  "a_geoid": "26163",
                  "ll_uuid": "27cb36f3-75e5-4390-9b8f-d4755b8beaa9"
                },
                {
                  "a_id": "84157778",
                  "a_address": "1435 Randolph St Ste 203",
                  "a_saddno": "1435",
                  "a_saddpref": null,
                  "a_saddstr": "Randolph",
                  "a_saddsttyp": "St",
                  "a_saddstsuf": null,
                  "a_sunit": "Ste 203",
                  "a_szip5": "48226",
                  "etc": "etc"
                }
              ]
            },
            "id": 182127
          }
        ]
      }
    }
  

Enhanced Ownership

Requests If your account has Enhanced Ownership enabled, then by default any of the Parcel API endpoints will include this extra ownership data. You can select this per-call with the following query parameter:

  • enhanced_ownership: Set to false to disable enhanced ownership data in the response. Default is true when the account supports it.

Response Format In the standard response format, results is an array of parcel GeoJSON features. The enhanced ownership will appear in a parcel feature's properties.enhanced_ownership array.

An example response is below, with some coordinates and parcel fields removed for brevity.

Example response
    {
      "parcels": {
        "type": "FeatureCollection",
        "features": [
          {
            "type": "Feature",
            "geometry": {
              "type": "Polygon",
              "coordinates": []
            },
            "properties": {
              "headline": "1435 Randolph St",
              "path": "/us/mi/wayne/detroit/182127",
              "fields": {
                "ogc_fid": 182127,
                "geoid": "26163",
                "parcelnumb": "01003946-7",
                "usecode": "22420"
              },
              "field_labels": {},
              "context": {},
              "ll_uuid": "83cf8982-b8f8-415e-8cba-f388978f7367",
              "enhanced_ownership": [
                {
                  "eo_owner": "HUYNH COMPANYLLC",
                  "eo_ownerfirst": "HUYNH",
                  "eo_ownermiddle": null,
                  "eo_ownerlast": "COMPANYLLC",
                  "eo_ownersuffix": null,
                  "eo_owner2": "BUI COMPANYLLC",
                  "eo_owner2first": "BUI",
                  "eo_owner2middle": null,
                  "eo_owner2last": "COMPANYLLC",
                  "eo_owner2suffix": null,
                  "eo_owner3": "KAR WASH KWIK",
                  "eo_owner3first": "KAR",
                  "eo_owner3middle": "WASH",
                  "eo_owner3suffix": "KWIK",
                  "eo_owner3last": null,
                  "eo_owner4": null,
                  "eo_owner4first": null,
                  "eo_owner4middle": null,
                  "eo_owner4last": null,
                  "eo_owner4suffix": null,
                  "eo_mail_county": "HARRIS",
                  "eo_mail_geoid": "48201",
                  "eo_mail_address": "9534 BENDING WILLOW LN",
                  "eo_mail_addno": "9534",
                  "eo_mail_addpref": null,
                  "eo_mail_addstr": "BENDING WILLOW",
                  "eo_mail_addstsuf": "LN",
                  "eo_mail_adddir": null,
                  "eo_mail_unitpref": null,
                  "eo_mail_unit": null,
                  "eo_mail_city": "HOUSTON",
                  "eo_mail_state2": "TX",
                  "eo_mail_zip": "77064",
                  "eo_mail_zip4": "5736",
                  "eo_mail_carte": "C016",
                  "eo_mail_addressinfoformat": "S",
                  "eo_deedowner": "HUYNH BUI COMPANYLLC KAR WASH",
                  "eo_deedownerfirst": "HUYNH",
                  "eo_deedownermiddle": "BUI",
                  "eo_deedownerlast": "COMPANYLLC KAR WASH",
                  "eo_deedownersuffix": null,
                  "eo_deedowner2": "KWIK KAR WASH",
                  "eo_deedowner2first": "KWIK",
                  "eo_deedowner2middle": "KAR",
                  "eo_deedowner2last": "WASH",
                  "eo_deedowner2suffix": null,
                  "eo_deedowner3": null,
                  "eo_deedowner3first": null,
                  "eo_deedowner3middle": null,
                  "eo_deedowner3last": null,
                  "eo_deedowner3suffix": null,
                  "eo_deedowner4": null,
                  "eo_deedowner4first": null,
                  "eo_deedowner4middle": null,
                  "eo_deedowner4last": null,
                  "eo_deedowner4suffix": null,
                  "eo_lastrefresh": "12-14-2022",
                  "ll_uuid": "83cf8982-b8f8-415e-8cba-f388978f7367",
                  "attom_id": "166499168"
                }
              ]
            },
            "id": 182127
          }
        ]
      }
    }
  

Standardized Zoning

If your account has Standardized Zoning enabled, then by default any Parcel API endpoints that return parcels will also return zoning data. This can be controlled with the following parameter:

  • return_zoning: Set to false to disable zoning data in the response. Default is true when the account supports it.

Response Format

In the standard response format, there is an additional top-level zoning Feature Collection of Features. Each Feature in this is a zoning record.

  • See the Standardized Zoning Schema document for descriptions of the properties of each zoning GeoJSON Feature, or inspect the standardized zoning schema in json form using the API.
  • Each Standardized Zoning record has a zoning_id listed in its properties. These specify which of the parcels contain or overlap the zoning area and correspond to the ll_uuid field in each of the parcels in the parcels Feature Collection in the response.

An example response is below, with some coordinates and parcel fields removed for brevity

Example response
   {
        "type": "FeatureCollection",
        "features": [
            {
                "type": "Feature",
                "geometry": {
                    "type": "MultiPolygon",
                    "coordinates": [
                        [
                            [
                                [
                                    -83.072598851,
                                    42.364985222
                                ],
                                [
                                    -83.073245365,
                                    42.364776778
                                ],
                                [
                                    -83.073709921,
                                    42.365587038
                                ],
                                [
                                    -83.072504812,
                                    42.365967597
                                ],
                                [
                                    -83.072045084,
                                    42.365161939
                                ],
                                [
                                    -83.072598851,
                                    42.364985222
                                ]
                            ]
                        ]
                    ]
                },
                "properties": {
                    "zoning_id": 10070643,
                    "zoning": "SD2",
                    "zoning_description": "Special Development District Mixed Use",
                    "zoning_type": "Planned",
                    "zoning_subtype": "Planned",
                    "zoning_objective": null,
                    "zoning_code_link": "https://www.zoneomics.com/code/detroit-MI/chapter_11/#SD2",
                    "permitted_land_uses": {
                        "OTHER": [
                            "Multiple",
                            "ACCESSORY"
                        ],
                        "RETAIL": [
                            "PERSONAL SERVICES",
                            "PROFESSIONAL SERVICES",
                            "RESTRICTED RETAIL",
                            "EATING AND DRINKING ESTABLISHMENTS",
                            "GENERAL RETAIL"
                        ],
                        "LODGING": [
                            "HOTEL/MOTEL"
                        ],
                        "PARKING": [
                            "PARKING GARAGE OR LOT"
                        ],
                        "COMMUNITY": [
                            "SCHOOLS AND UNIVERSITIES",
                            "MEDICAL",
                            "PUBLIC, QUASI-PUBLIC, AND GOVERNMENT",
                            "RESIDENTIAL CARE FACILITIES",
                            "TRANSPORTATION FACILITIES AND INFRASTRUCTURE"
                        ],
                        "COMMERCIAL": [
                            "PROFESSIONAL OFFICE",
                            "AUTOMOBILE RELATED USES",
                            "NON-RETAIL SALES",
                            "ENTERTAINMENT"
                        ],
                        "INDUSTRIAL": [
                            "MANUFACTURING",
                            "GENERAL RETAIL"
                        ],
                        "MECHANICAL": [
                            "UTILITY STRUCTURES"
                        ],
                        "AGRICULTURE": [
                            "AGRICULTURAL AND HUNTING"
                        ],
                        "RESIDENTIAL": [
                            "MULTI FAMILY DWELLING",
                            "MULTI FAMILY DWELLING MIXED USE",
                            "COMMUNAL HOUSING",
                            "DWELLINGS (UNSPECIFIED)"
                        ]
                    },
                    "permitted_land_uses_as_of_right": "multi_family_permitted, industrial_uses_permitted",
                    "permitted_land_uses_conditional": "multi_family_permitted, commercial_uses_permitted, industrial_uses_permitted",
                    "min_lot_area_sq_ft": -5555.0,
                    "min_lot_width_ft": -5555.0,
                    "max_building_height_ft": -9999.0,
                    "max_far": -5555.0,
                    "min_front_setback_ft": -5555.0,
                    "min_rear_setback_ft": -5555.0,
                    "min_side_setback_ft": -9999.0,
                    "max_coverage_pct": -9999.0,
                    "max_impervious_coverage_pct": -9999.0,
                    "min_landscaped_space_pct": -9999.0,
                    "min_open_space_pct": -9999.0,
                    "max_density_du_per_acre": -9999.0,
                    "zoning_data_date": "2023-04-27",
                    "municipality_id": 195,
                    "municipality_name": "Detroit",
                    "geoid": "26163"
                },
                "id": 10070643
            }
        ]
    }
  
In this section