Documentation menu

← Parcels

API reference

Get a parcel

GET/v1/parcel/{parcel_id}

The parcel, with its identifiers, jurisdiction, area, addresses, owners, accounts, latest assessment, building, sale and legal description.

Its id does not change when its number or its shape does. One credit, and free to fetch again for a day.

Parameters

path

parcel_idrequiredstring
The parcel's id.

query

includestring | null
Comma-separated sections to add. geometry adds the boundary as GeoJSON.
format"json" | "geojson"
json for the parcel, geojson for it as a Feature with its boundary. Accept: application/geo+json does the same.

Responses

200
Parcel
The parcel.
401
ProblemDetail
credential_missing, credential_invalid or credential_expired: send a live API key as Authorization: Bearer <key>.
402
ProblemDetail
quota_exhausted: the balance can't cover the call. Nothing was charged and nothing was returned.
403
ProblemDetail
scope_missing, person_required or entitlement_missing: this credential or plan can't do this. detail says which.
404
empty
no_such_resource: no parcel has this id.
409
ProblemDetail
version_conflict: the record changed since you read it. Read it again and resend.
422
ProblemDetail
parameter_invalid, id_malformed or a cursor code: a parameter's value isn't one this operation takes.
429
ProblemDetail
rate_limited: wait for Retry-After, then send it again. Not charged.
501
empty
not_available: no parcels are published yet.

Example request

curl -X GET 'https://api.placestack.com/v1/parcel/parcel_id_123' \
  -H "Authorization: Bearer $PLACESTACK_API_KEY"

Example response

{
  "object": "parcel",
  "id": "prc_01h455vb4pex5vsknk084sn02q",
  "number": {
    "scheme": "<Scheme>",
    "value": "<Value>",
    "normalized": "<Normalized>"
  },
  "identifier": [
    {
      "scheme": "<Scheme>",
      "value": "<Value>",
      "normalized": "<Normalized>",
      "primary": true
    }
  ],
  "jurisdiction": {
    "id": "jur_01h455vb4pex5vsknk084sn02q",
    "name": "<Name>",
    "type": "<Type>",
    "href": "<Href>",
    "fips": "string"
  },
  "within": [
    {
      "id": "jur_01h455vb4pex5vsknk084sn02q",
      "name": "<Name>",
      "tier": "national",
      "type": "<Type>",
      "fips": "string"
    }
  ],
  "status": "<Status>",
  "type": "string",
  "area": {
    "sq_m": 1.25,
    "acres": 1.25,
    "stated_acres": 1.25
  },
  "centroid": {
    "lat": 1.25,
    "lon": 1.25
  },
  "address": [
    {
      "formatted": "<Formatted>",
      "role": "<Role>",
      "primary": true,
      "number": "string",
      "street": "string",
      "unit": "string",
      "city": "string",
      "state": "string"
    }
  ],
  "owner": [
    {
      "name": "<Name>",
      "kind": "<Kind>",
      "order": 1,
      "mailing_address": "string",
      "mailing_recipient": "string"
    }
  ],
  "account": [
    {
      "number": "string",
      "type": "string",
      "tax_district": "string",
      "assessor": "string"
    }
  ],
  "assessment": {
    "tax_year": 1,
    "class": "<Code>",
    "use": "<Code>",
    "value": "<Value>",
    "exemption": [
      "<Exemption>"
    ]
  },
  "building": {
    "year_built": 1,
    "effective_year_built": 1,
    "building_area_sq_ft": 1.25,
    "living_area_sq_ft": 1.25,
    "stories": 1.25
  },
  "sale": {
    "date": "2026-09-13",
    "recording_date": "2026-09-13",
    "price": 1.25,
    "document_number": "string",
    "deed_type": "string"
  },
  "legal": {
    "description": "string",
    "subdivision": "string",
    "plat_name": "string",
    "plat_book": "string",
    "plat_page": "string"
  },
  "geometry": {
    "type": "<Type>",
    "coordinates": [
      "string"
    ]
  },
  "match": {
    "method": "address",
    "score": 1.25,
    "matched": "string"
  },
  "as_of": "2026-09-13",
  "href": "<Href>"
}

The rest of parcel.

Next

GET /suggestion

Suggest matches for typed text