A page of parcels, each with its identifiers, jurisdiction, area, addresses, owners, accounts, latest assessment, building, sale and legal description.
A locator (address, apn, or lat and lon) returns what it names, each parcel with a match saying how it was reached. An address that names one parcel returns one; an ambiguous one returns each reading, best first; a point on a stacked lot returns every parcel on it. An area (bbox, or lat, lon and radius) and the filters return a page in a stable order, and combine with jurisdiction or fips to narrow it.
One credit per parcel returned, and free to fetch again for a day. A page with nothing on it costs nothing.
Parameters
query
- addressstring | null
- A street address, with its city or postal code where one is known:
4516 Printer Ln, Raleigh NC 27613. The parcels it names, best match first, each with amatch. - apnstring | null
- A parcel number as its issuer writes it. Needs
jurisdictionorfipsto say which county issued it. Case and spaces do not matter. - latnumber | null
- Latitude of a point, in WGS 84. With
lon, the parcel whose shape holds the point; withradiusas well, the parcels around it, nearest first. - lonnumber | null
- Longitude of the point, in WGS 84.
- radiusnumber | null
- Metres around the point, at most 25,000. The parcels whose centroid lies within it, nearest first.
- bboxstring | null
- A bounding box as
west,south,east,northin WGS 84. The parcels whose shape touches it. - jurisdictionstring[] | null
- A jurisdiction id. The parcels of that government, or within it. Repeatable.
- fipsstring[] | null
- A US Census GEOID, 2 digits for a state or 5 for a county:
48,48453. The parcels within it. Repeatable. - ownerstring | null
- An owner's name, or words from it. The parcels held under a name containing every word, best match first.
- acres[gte]number | null
- Measured area of at least this many acres.
- acres[lte]number | null
- Measured area of at most this many acres.
- usestring[] | null
- The assessor's use code, as published. Repeatable.
- classstring[] | null
- The assessor's property class code, as published. Repeatable.
- market_value[gte]number | null
- Latest total market value of at least this much.
- market_value[lte]number | null
- Latest total market value of at most this much.
- includestring | null
- Comma-separated sections to add.
geometryadds each parcel's boundary as GeoJSON. - format"json" | "geojson"
jsonfor the list envelope,geojsonfor a FeatureCollection with every boundary.Accept: application/geo+jsondoes the same.- cursorstring | null
- The previous page's
next_cursor. - sizeinteger | null
- Default 25.
- totalboolean
- True adds
total, the count of every match, to the first page.
Responses
- 401
- ProblemDetail
credential_missing,credential_invalidorcredential_expired: send a live API key asAuthorization: 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_requiredorentitlement_missing: this credential or plan can't do this.detailsays which.- 404
- ProblemDetail
no_such_resource: nothing has that id.- 409
- ProblemDetail
version_conflict: the record changed since you read it. Read it again and resend.- 422
- ProblemDetail
parameter_invalid,id_malformedor a cursor code: a parameter's value isn't one this operation takes.- 429
- ProblemDetail
rate_limited: wait forRetry-After, then send it again. Not charged.- 501
- empty
not_available: no parcels are published yet.
Example request
curl -G 'https://api.placestack.com/v1/parcel' \
--data-urlencode 'address=100 Main St' \
--data-urlencode 'jurisdiction=value' \
--data-urlencode 'use=townhome' \
-H "Authorization: Bearer $PLACESTACK_API_KEY"Example response
{
"object": "list",
"data": [
{
"object": "parcel",
"id": "prc_01h455vb4pex5vsknk084sn02q",
"number": "<Number>",
"identifier": [
"<parcel__Identifier>"
],
"jurisdiction": "<JurisdictionRef>",
"within": [
"<parcel__Within>"
],
"status": "<Status>",
"type": "string",
"area": "<Area>",
"centroid": "<parcel__Point>",
"address": [
"<Address>"
],
"owner": [
"<Owner>"
],
"account": [
"<Account>"
],
"assessment": "<Assessment>",
"building": "<Building>",
"sale": "<Sale>",
"legal": "<Legal>",
"geometry": "<Geometry>",
"match": "<Match>",
"as_of": "2026-09-13",
"href": "<Href>"
}
],
"has_more": true,
"next_cursor": "string",
"suppressed": 0,
"total": {
"value": 1,
"relation": "eq"
}
}