---
title: "Parcel polygons as GeoJSON for a bounding box"
method: GET
path: "/api/v1/parcels/geojson"
tags: ["Parcels"]
---

# Parcel polygons as GeoJSON for a bounding box

`GET /api/v1/parcels/geojson`

## Request

- Base URL: `https://propraven.com`
- URL: `https://propraven.com/api/v1/parcels/geojson`
- Auth: HTTP bearer

Returns parcel polygons inside a bounding box as a GeoJSON FeatureCollection. Only served at zoom ≥ 14 to limit data volume — coarser bbox returns an empty collection. Each feature's properties include parcel_id, county_fips, owner_name, assessed value, and basic attributes for rendering popups.

## Query parameters

- `bbox` string, required
- `zoom` integer, required

## Response `200`

GeoJSON FeatureCollection. Empty `features` array if zoom < 14 or bbox is too wide (>0.15° span).

- ParcelGeoJSON: GeoJSON FeatureCollection of parcel polygons. Each feature's properties carry the basic parcel summary for popup rendering.
  - `type` string, required
  - `features` ParcelGeoFeature[], required
    - `type` string, nullable, required
    - `geometry` object, required
      - `type` string, nullable, required
      - `coordinates` array[], required: GeoJSON polygon coordinate rings: outer ring first, then any inner rings.
        - array[]
          - number[]
    - `properties` object, required
      - `id` string, required
      - `county_fips` string, required
      - `address` string, nullable, required
      - `city` string, nullable, required
      - `state` string, nullable, required
      - `owner` string, nullable, required
      - `value` number, nullable, required
      - `type` string, nullable, required
      - `year_built` integer, nullable, required
      - `parcel_id` string
      - `owner_name` string, nullable
      - `total_assessed_value` number, nullable
      - `property_type` string, nullable
      - `latitude` number, double, nullable
      - `longitude` number, double, nullable

## Other responses

- `400`: Invalid bbox.
- `401`: Missing, malformed or invalid credential.
- `405`: The endpoint exists but does not support this method. `Allow` lists the methods it does.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error. The body never carries database or driver text.
- `504`: The query did not finish in time. Retry after `Retry-After` seconds or narrow the request.

---

[API](https://skmtc.dev/propraven/apis/propraven-api.md) · [All operations](https://skmtc.dev/propraven/apis/propraven-api/llms.txt) · [OpenAPI document](https://skmtc.dev/propraven/apis/propraven-api/revisions/37f8158c4eda?raw)
