/propertyAPI keyFind properties
By address, point, geometry and buffer, parcel, APN and county, or owner of record.
Sortable: label (default), land_area, year_built, distance (point and geometry only).
Operation ID list_property_property_get
Parameters
query
- jurisdictionstring[]
- A
jur_id or fips_key. Repeatable. - countystring | null
- County FIPS, 5 digits.
- owner_namestring | null
- Exact public-record owner name. Every property held under it.
- use_rawstring | null
- The assessor's use or class code.
- 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:
assessment,tax,ownership,structure,transaction. - fieldstring | null
- Field selection:
default,-geometry,all,-provenance.as_of,status,citation.id,effective_fromandderivationcannot be suppressed. - sortstring | null
fieldor-field, comma-separated, at most three. Sortable fields are listed per operation.- cursorstring | null
- From a previous page's
page.next_cursor. - sizeinteger | null
- Default 25.
- totalboolean
- Include
page.total. First page only. - 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.
- filterobject map
filter[<field>][<op>]=<value>. Operators:eq ne in nin lt lte gt gte between prefix contains is_null not_null any all permits forbids. AND across fields, OR within repeated values. A row whosestatushas no comparable value is returned asfilter_outcome: indeterminate, never silently dropped;filter_indeterminate=excludeopts out. An unknown field, operator or value is a 422, never an empty result.- filter_indeterminate"include" | "exclude" | "only"
onlyis the audit query: which rows is the code silent on.
Responses
- 200
- Collection_Property_
- 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/property?jurisdiction=value&as_of=2026-09-13&size=50' \
-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>"
},
"item": [
{
"id": "pty_01h455vb4pex5vsknk084sn02q",
"jurisdiction": "<JurisdictionRef>",
"county_fips": "<County Fips>",
"label": "<Label>",
"parcel": [
"prc_01h455vb4pex5vsknk084sn02q"
],
"source_freshness": {
"key": "2026-09-13"
},
"coverage": {
"key": "<CoverageLayer>"
},
"href": "<Href>",
"address": [
"<Address>"
],
"legal_summary": "string",
"land_area": "<Measured>",
"current_use": "<CurrentUse>",
"assessor_zoning": "<AssessorZoning>"
}
],
"page": {
"size": 1,
"next_cursor": "string",
"indeterminate": 0,
"total": "<envelope__Total>"
},
"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>"
}
}