API › Setup guides › REST API

Plain REST APIWorks today

No MCP client needed. One bearer token, ordinary HTTPS, works from anything that can make a web request.

You need a key first. API keys come with the Professional plan. Generate one on your account page, under API access. It starts with jbp_ and is shown once, so copy it when it appears. Everywhere below, replace jbp_your_key with it.

The fastest possible check

curl -H "Authorization: Bearer jbp_your_key" https://jbparcel.com/v1/me

That returns your plan and what is left of your budget. If it answers, you are connected.

A real search

curl -H "Authorization: Bearer jbp_your_key" \
  "https://jbparcel.com/v1/search?county=Wilson|TN&vacant=1&acreage_min=5&tenure_min=20"

Vacant parcels over five acres in Wilson County, Tennessee, held more than twenty years.

Python

import requests

KEY = "jbp_your_key"
r = requests.get(
    "https://jbparcel.com/v1/search",
    headers={"Authorization": "Bearer " + KEY},
    params={"county": "Wilson|TN", "vacant": 1, "acreage_min": 5, "tenure_min": 20},
)
r.raise_for_status()
for row in r.json()["rows"]:
    print(row["PARCELID"], row["OWNER"], row["ACREAGE"])

Spreadsheets

Google Sheets and Excel can both call an authenticated endpoint, but neither lets you set a header in a plain formula. Use Apps Script in Sheets, or Power Query in Excel, and set the Authorization header there. Never put your key in a cell in a shared sheet.

Your key is your account. Anyone holding it can spend your budget. Keep it in an environment variable or a secret store, never in a committed file, a shared spreadsheet, or a screenshot.

Every parameter

The full filter list, the budget rules and the ground rules live on the API documentation page.

If it does not connect

What you seeWhat it means
401 UnauthorizedThe key is missing, mistyped or revoked. Check the header reads exactly Authorization: Bearer jbp_... with one space after Bearer.
402, or a message about your planThe key is valid but the account is not on Professional. API and connector access come with Professional.
404 Not FoundThe path is wrong, or the request was sent as a POST. Every /v1 endpoint is a GET, for example GET /v1/search.
429 Too Many RequestsThe key has used its per-minute request limit or its daily row limit. Wait the number of seconds in the Retry-After header, then try again.

Still stuck? Tell us what you are using and paste the error. We answer.