/placeAPI keyWhat is at a location, and who governs it
Resolve an address, point, geometry, APN or PLSS key.
Too coarse a location for the grain asked is not guessed at: it comes back as resolution.state: insufficient_precision with the answer at the grain we can defend and no district assignment (422 under strict=true).
Operation ID get_place_place_get
Parameters
query
- subject"zoning" | "subdivision" | "building_code" | "fire_code"[]
- Which authorities to resolve. Default zoning. Repeatable.
- context_type"flood_zone" | "wetland" | "service_area" | "utility_territory"[]
- Which context layers. Default all.
- as_ofstring | null
- Valid time: the law in force then. Default now, in the jurisdiction's timezone.
2024-06-30,2024-06-30T14:00:00-04:00,from:2023-01-01 to:2024-12-31, orlast 90 days. An interval returnssegment[], never a winner. - known_as_ofstring | null
- Knowledge time: the answer we would have given then. Default now. Same grammar as
as_of. - includestring | null
- Comma-separated:
authority,parcel,property,assignment,special_district,context_layer,future_land_use,boundary. - fieldstring | null
- Field selection:
default,-geometry,all,-provenance.as_of,status,citation.id,effective_fromandderivationcannot be suppressed. - addressstring | null
- Free text:
1420 County Road 12, Hartland Township, MI. - pointstring | null
lat,lon, in that order.- geometrystring | null
- WKT or GeoJSON, Point through MultiPolygon. GeoJSON stays lon,lat. Use the POST form when long.
- buffernumber | null
- Distance around
geometryorpoint. - buffer_unit"ft" | "mi" | "m" | "km"
- No description.
- parcelstring[]
- A
prc_id. Repeat for an assemblage. - apnstring | null
- Assessor parcel number, with
fips. - fipsstring | null
- County FIPS for
apn. - plssstring | null
- PLSS key:
MI:21:T19N:R16E:S26:SW4SW4. Resolves to a candidate set. - location_tokenstring | null
- A
loc_token from an earlier resolution. - strictboolean
- Turn an ambiguous or too-coarse location into a 422 instead of a 200 that says so.
Responses
- 200
- PlaceAnswer
- Successful Response
- 401
- empty
- No usable credential.
- 402
- ErrorResponse
quota_exhausted: out of credit. Credit is prepaid and the balance cannot go below zero, so add credit rather than retrying.- 403
- ErrorResponse
entitlement_missing: the plan does not cover this operation.- 404
- ErrorResponse
- No such id. The only meaning of 404.
- 422
- ErrorResponse
- The request cannot be answered as asked. The code says why.
- 429
- ErrorResponse
rate_limited, withRetry-After.- 501
- ErrorResponse
not_available: this operation does not answer yet.
Example request
curl -X GET 'http://localhost:8000/place?as_of=2026-09-13&address=100+Main+St&point=35.225%2C-78.642' \
-H 'X-API-Key: $PLACESTACK_API_KEY'Example response
{
"request": {
"path": "<Path>",
"param": {},
"dry_run": false
},
"meta": {
"contract_date": "2026-09-13",
"vocabulary_version": "<Vocabulary Version>",
"request_id": "req_01h455vb4pex5vsknk084sn02q",
"api_version": "v1",
"answer_id": "ans_01h455vb4pex5vsknk084sn02q",
"answer_through": 1,
"unit": {
"key": "string"
},
"cost": "<Cost>"
},
"resolution": {
"state": "resolved",
"grain": "structure",
"grain_requested": "structure",
"precision": "<Precision>",
"location_token": "loc_01h455vb4pex5vsknk084sn02q",
"token_expires_at": "2026-09-13T12:00:00Z",
"jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"parcel": "prc_01h455vb4pex5vsknk084sn02q",
"parcel_key": "<envelope__ParcelKey>"
},
"as_of": {
"resolved": "<Interval>",
"timezone": "<Timezone>",
"basis": "requested",
"known_as_of": "2026-09-13T12:00:00Z",
"known_as_of_basis": "requested",
"requested": "string",
"earliest_retained": {
"key": "2026-09-13"
},
"constant": true,
"segment_count": 1
},
"notice": [
{
"code": "as_of_interval_spans_change",
"severity": "info",
"detail": "<Detail>",
"count": 1,
"subject": [
"string"
]
}
],
"coverage": {
"jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"layer": {
"key": "<CoverageLayer>"
},
"href": "<Href>"
},
"jurisdiction": {
"id": "jur_01h455vb4pex5vsknk084sn02q",
"name": "<Name>",
"fips_key": "<Fips Key>",
"slug": "<Slug>",
"href": "<Href>",
"legal_name": "string"
},
"authority": [
{
"subject": "zoning",
"jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"jurisdiction_key": "<Jurisdiction Key>",
"jurisdiction_path": "<Jurisdiction Path>",
"legal_name": "<Legal Name>",
"governing_jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"basis": "home_rule",
"resolution_basis": "boundary_match",
"citation": "cit_01h455vb4pex5vsknk084sn02q",
"id": "aut_01h455vb4pex5vsknk084sn02q",
"relationship": "<Relationship>",
"effective_from": "2026-09-13",
"effective_through": "2026-09-13",
"agency": "<AgencyRef>"
}
]
}