API

After the first season

Let another system ask.

Most of the questions the engine answers get asked by someone else's product. The API returns the verdict, the comparables and the cap check for a parcel, key-gated and rate-limited. No sales data, no AVM assumptions: a second-opinion signal that doesn't share the first opinion's inputs.

Request
GET /v1/checks?address=2107+Kinney+Ave,+Austin,+TX+78704
Authorization: Bearer pk_live_…
Response
{
  "status": "ok",
  "assessment": {
    "id": "2107-kinney-ave--austin--78704",
    "taxYear": 2026,
    "parcel": { "county": "travis", "account": "0301050412", "sqft": 1842, "yearBuilt": 1948 },
    "marketValue": 612400,
    "cappedValue": 612400,
    "verdict": "over_assessed",
    "equity": {
      "medianAdjPsf": 307,
      "medianValue": 566000,
      "suggestedValue": 566000,
      "acceptFloor": 580000,
      "comps": [ { "address": "2114 Kinney Ave", "sqft": 1790, "marketValue": 548900, "adjustmentPsf": -6 }, "…" ]
    }
  }
}

Endpoints

Checks by address or account, comps for a parcel, the cap check, and packet generation as a job.

Limits

Per-key rate limits sized for a data team, not a scraper. Bulk runs go through the batch endpoint.

Terms

Public roll data with attribution. No resale of raw comps. Outputs are signals, not appraisals.