---
title: "Check a site (priced)"
method: POST
path: "/api/v1/sites/check"
tags: ["sites"]
---

# Check a site (priced)

`POST /api/v1/sites/check`

## Request

- Base URL: `https://buckybuild.com`
- URL: `https://buckybuild.com/api/v1/sites/check`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

The single priced public operation: one sourced site result (parcel, zoning, envelope facts with provenance, coverage, usage receipt). Requires a session, user JWT, or `site:read` developer API key. Body `{ location }`. No-coverage returns **202** with `answered: false` and a `usage` receipt proving `charged: false, reason: not_covered`. Always redacts `ownershipHint` and `rawCityData`. Does not persist a Bucky project. Uses the `LOCATION` bucket; the prepaid ledger is the spend bound. Repeats of the same resolved site within 24 hours are not billed again.

## Response `200`

Successful response.

## Other responses

- `400`: Validation or client error.
- `401`: Authentication required.
- `403`: Insufficient permissions.
- `404`: No such resource, or no such route under this version prefix.
- `429`: Rate limit exceeded (`code: RATE_LIMIT_EXCEEDED`, `retryable: true`). Honour `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/buckybuild/apis/bucky-public-api.md) · [All operations](https://skmtc.dev/buckybuild/apis/bucky-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/buckybuild/apis/bucky-public-api/revisions/30e442927a24?raw)
