Documentation menu

← Zoning

API reference

Search applications

GET/v1/application

A page of applications: what was asked of a government about land, and what it answered.

A scope is required: a jurisdiction, a fips, a parcel or an area (bbox, or lat, lon and radius). Applications are not listed nationwide.

decided=false is what is still pending, and decided=true what has been answered. status is the government's own word for where a file stands and is not a reading of decision: a file can read closed with no decision published.

One credit per page, and an empty page costs nothing.

Parameters

query

jurisdictionstring | null
A jurisdiction id. The applications made to that government, or to one within it.
fipsstring | null
A US Census GEOID, 2 digits for a state or 5 for a county: 48, 48453.
parcelstring | null
A parcel id. The applications about it.
latnumber | null
Latitude of a point, in WGS 84. With lon and radius, the applications around it.
lonnumber | null
Longitude of the point, in WGS 84.
radiusnumber | null
Metres around the point, at most 25,000.
bboxstring | null
A bounding box as west,south,east,north in WGS 84.
kind"permit" | "land_use" | null
permit or land_use.
typestring | null
The government's own classification of what was applied for, as published.
statusstring | null
The government's own status code, as published.
outcomestring | null
The government's own outcome code. Only applications it has decided.
decidedboolean | null
True for applications with a decision, false for those still pending.
partystring | null
A name on the application, or words from it. Every word must match.
qstring | null
Words from the description. Best match first.
min_appliedstring | null
Applied on or after this date, as YYYY-MM-DD.
max_appliedstring | null
Applied on or before this date, as YYYY-MM-DD.
min_decidedstring | null
Decided on or after this date, as YYYY-MM-DD.
max_decidedstring | null
Decided on or before this date, as YYYY-MM-DD.
min_valuationnumber | null
Declared value of at least this much. An application with no declared value never matches.
max_valuationnumber | null
Declared value of at most this much. An application with no declared value never matches.
sortstring | null
How to order the page: applied, as_of, decided, issued, valuation, prefixed with - for descending. Not accepted with q.
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

200
application object
Successful Response
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
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_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 applications are published yet.

Example request

curl -G 'https://api.placestack.com/v1/application' \
  --data-urlencode 'jurisdiction=value' \
  --data-urlencode 'size=50' \
  -H "Authorization: Bearer $PLACESTACK_API_KEY"

Example response

{
  "object": "list",
  "data": [
    {
      "object": "application",
      "id": "apl_01h455vb4pex5vsknk084sn02q",
      "kind": "permit",
      "number": "string",
      "type": "<Code>",
      "status": "<Code>",
      "jurisdiction": "<application__JurisdictionRef>",
      "within": [
        "<application__Within>"
      ],
      "agency": "<Agency>",
      "description": "string",
      "parcels": [
        "<ParcelRef>"
      ],
      "addresses": [
        "<application__Address>"
      ],
      "parties": [
        "<Party>"
      ],
      "dates": "<Dates>",
      "valuation": "<Valuation>",
      "fees": [
        "<Fee>"
      ],
      "decision": "<Decision>",
      "zoning": [
        "<ZoningRef>"
      ],
      "document": "<Document>",
      "as_of": "2026-09-13",
      "href": "<Href>"
    }
  ],
  "has_more": true,
  "next_cursor": "string",
  "suppressed": 0,
  "total": {
    "value": 1,
    "relation": "eq"
  }
}

The rest of application.