Documentation menu
API

Quickstart

Make your first call to the Placestack API.

Make a call

  1. 1

    Create an API key

    Go to API keys in the console and create one. It’s shown once, so copy it then and set it in your shell:
    Terminal
    export PLACESTACK_API_KEY=sk_pstk_api01_...
  2. 2

    Look up a parcel

    Send the key as a bearer token in the Authorization header. This looks up 150 Fayetteville Street in Raleigh:
    Terminal
    curl -G 'https://api.placestack.com/v1/parcel' \
      --data-urlencode 'address=150 Fayetteville St, Raleigh NC 27601' \
      -H "Authorization: Bearer $PLACESTACK_API_KEY"
  3. 3

    Read the response

    Matches are in data, best match first, and match says how each was found. Each parcel has its number, owners, latest assessment, building and last sale. An address lookup costs one credit, however many parcels match. The response below is trimmed:
    JSON
    {
      "object": "list",
      "data": [
        {
          "object": "parcel",
          "id": "prc_01m402jfs0ff3aj5c5h55t2jmp",
          "number": { "scheme": "pin", "value": "1703688565" },
          "jurisdiction": { "name": "Wake", "type": "county", "fips": "37183" },
          "area": { "acres": 1.2139802574442071 },
          "addresses": [{ "raw": "150 FAYETTEVILLE ST, 27601", "locality": "RALEIGH" }],
          "owners": [{ "name": "HRLP FAYETTEVILLE LP" }],
          "assessment": {
            "class": { "code": "COM", "description": "Commercial" },
            "value": {
              "market": { "land": 24103368, "improvement": 81507962, "total": 105611330 }
            }
          },
          "buildings": [{ "year_built": 1990 }],
          "sales": [{ "date": "2021-07-30", "price": 148000000 }],
          "match": { "method": "address", "score": 1 },
          "href": "/v1/parcel/prc_01m402jfs0ff3aj5c5h55t2jmp"
        }
      ]
    }
  4. 4

    Retrieve the parcel by its id

    Set the id from the response above, then pass it in the path:
    Terminal
    export PARCEL_ID=prc_01m402jfs0ff3aj5c5h55t2jmp
    Terminal
    curl -G "https://api.placestack.com/v1/parcel/$PARCEL_ID" \
      -H "Authorization: Bearer $PLACESTACK_API_KEY"
  5. 5

    Find the parcel's zoning

    Send the id as parcel. The base district comes first, then any overlays. The response below is trimmed:
    Terminal
    curl -G 'https://api.placestack.com/v1/zoning' \
      --data-urlencode "parcel=$PARCEL_ID" \
      -H "Authorization: Bearer $PLACESTACK_API_KEY"
    JSON
    {
      "object": "list",
      "data": [
        {
          "object": "zoning",
          "id": "zon_01m4mgesvdfvqsh8r8xfn5z3a5",
          "code": "DX-40-SH",
          "name": "Downtown Mixed Use",
          "kind": "base",
          "jurisdiction": { "name": "Raleigh", "type": "city" },
          "ordinance": { "citation": "Raleigh Unified Development Ordinance" }
        }
      ]
    }

Base URL

All endpoints are under /v1:

Base URL
https://api.placestack.com/v1

Next steps

Authentication

Create an API key and send it with every request.

Continue