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 see | What it means |
|---|---|
| 401 Unauthorized | The 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 plan | The key is valid but the account is not on Professional. API and connector access come with Professional. |
| 404 Not Found | The 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 Requests | The 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.