API documentation

Kentucky LGPT lookup API

Send a Kentucky address or coordinate pair and receive the selected premium-tax jurisdiction, rate evidence, confidence notes, data version, and current usage.

Base URL
https://kylgpt.com/api/v1
Authentication
Bearer API key
Format
JSON

Quick start

Run your first lookup

  1. Sign in. Open the dashboard and create a named API key.
  2. Save the key. The full key is displayed only once.
  3. Send a request. Put the key in the Bearer authorization header.
  4. Review usage. Every request that reaches the lookup service counts toward the monthly quota.

During beta, signed-in accounts receive Team access with 10,000 monthly lookups and up to 10 active API keys.

cURL

curl -X POST https://kylgpt.com/api/v1/lookup \
  -H "Authorization: Bearer kylgpt_live_REPLACE_WITH_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"address":"3307 Brenner Pass, Louisville, KY 40241"}'

Authentication

Use a Bearer API key

Add your key to every API request as Authorization: Bearer <api_key>. Keys begin with kylgpt_live_. Invalid or revoked keys return 401.

Lookup endpoint

POST /lookup

Use a complete Kentucky street address whenever possible. Coordinates are also accepted for server-to-server workflows.

FieldTypeRequirement
addressstringRequired unless coordinates are provided
latnumberRequired with lng when address is omitted
lngnumberRequired with lat when address is omitted

Address request

{
  "address": "3307 Brenner Pass, Louisville, KY 40241"
}

Coordinate request

{
  "lat": 38.31,
  "lng": -85.58
}

JavaScript

const response = await fetch("https://kylgpt.com/api/v1/lookup", {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.KYLGPT_API_KEY}`,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    address: "3307 Brenner Pass, Louisville, KY 40241"
  })
});

const data = await response.json();
if (!response.ok) throw new Error(data.error);
console.log(data);

Python

import os
import requests

response = requests.post(
    "https://kylgpt.com/api/v1/lookup",
    headers={
        "Authorization": f"Bearer {os.environ['KYLGPT_API_KEY']}",
        "Content-Type": "application/json",
    },
    json={"address": "3307 Brenner Pass, Louisville, KY 40241"},
    timeout=30,
)

response.raise_for_status()
print(response.json())

Usage endpoint

GET /usage

Retrieve the current period’s used count, quota, reset date, effective plan, and API-key allowance.

cURL

curl https://kylgpt.com/api/v1/usage \
  -H "Authorization: Bearer kylgpt_live_REPLACE_WITH_YOUR_KEY"

Responses

Lookup response fields

FieldDescription
resultJurisdiction, rates, confidence, warnings, tax-code notes, and source evidence.
usageCurrent-period usage, quota, and reset date.
data_versionThe LGPT source schedule associated with the result.
history_idThe saved evidence-trail record for the lookup.

Example response

{
  "result": {
    "selected_jurisdiction": {
      "name": "Hills And Dales",
      "rate": {
        "jurisdiction_code": "0448"
      }
    },
    "confidence": "review needed",
    "warnings": []
  },
  "usage": {
    "used": 1,
    "quota": 10000,
    "resetAt": "2026-08-01T00:00:00.000Z"
  },
  "data_version": "2026-2027",
  "history_id": "lookup-history-id"
}

Errors

HTTP status reference

StatusMeaning
400Invalid JSON, missing address/coordinates, or address validation failed.
401The API key is missing, invalid, revoked, or no longer belongs to an account.
402An active paid plan or trial is required when beta access is disabled.
424Account storage is temporarily unavailable.
429The account’s monthly lookup quota has been reached.
502The lookup service returned an unexpected upstream error.
504The lookup service timed out before returning a result.

Key security

Keep API keys on your server

  • Store keys in encrypted environment variables or a secrets manager.
  • Do not commit keys to source control or embed them in browser code.
  • Avoid recording full keys in application logs.
  • Revoke and replace a key immediately if it is exposed.
Create an API key