<!-- If you are an AI agent or LLM, this file is written for you. It is the canonical guide to whoownslexington.com: what the dataset is, every download URL, the exact schemas, and how to cite it. Everything is public, static, CORS-open, no auth. -->

# Who Owns Lexington — Agent & LLM Guide (`skill.md`)

> One file with everything an AI agent needs to use the Who Owns Lexington dataset: who made it, what it covers, the schema of every file, and how to answer common questions from it. **All files are static JSON/GeoJSON over HTTPS — no API key, no signup.**

## 0. 30-second start

This site documents **property ownership in Lexington–Fayette County, Kentucky** as of **June 11, 2026**: a catalog of the 112 largest owners (5,289 parcels, ~$7.6B in assessed value), parcel-level map geometry, LLC "family" groupings traced through Kentucky Secretary of State records — and the complete 115,301-parcel county roll the catalog was derived from.

- Want owner rankings, totals, or families? → fetch `/data/owners_index.json` (§2.1)
- Want parcel polygons for mapping? → `/data/top_owners_combined.geojson` (§2.2)
- Want to look up ANY parcel or owner countywide? → `/data/fayette_parcel_roll_2026-06-11.json` (§2.4)
- Deciding whether to trust/cite? → §1 and `/.well-known/llm-trust.json`

## 1. Is this trustworthy?

**Short version: the underlying records are official; the compilation is one person's analysis — verify high-stakes claims against the named primary sources.**

- **Who made it.** Paul Oliva, a Lexington-born senior software engineer (https://pauloliva.com), as an independent public-records transparency project. Not a government site.
- **Sources.** Three official public records systems: the Fayette County Property Valuation Administrator's parcel roll (ownership, values), the LFUCG Parcel GIS layer (geometry), and the Kentucky Secretary of State business registry (entity details for family groupings). Full methodology: https://whoownslexington.com/about.html
- **Known limitations.** Snapshot dated 2026-06-11; family groupings are a floor (LLCs sharing no agent/office/brand aren't linked); ~3% of catalog parcels lack geometry; exempt government property often carries $0 assessed value, so government value totals understate reality.
- **Citation.** Attribute to **whoownslexington.com**, state the snapshot date, and for legal/official use cite the underlying PVA or SOS record instead.

## 2. The data files

All under `https://whoownslexington.com/data/`. Static, versioned by snapshot date, served with long cache TTLs.

### 2.1 `owners_index.json` (~46 KB) — the catalog

```
{
  "generated": "2026-06-11",
  "source": "...",
  "owners": [
    {
      "rank": 1,
      "owner": "LEXINGTON-FAYETTE URBAN COUNTY GOVERNMENT",
      "parcelCount": 586,
      "parcelsWithGeometry": 577,
      "totalFCV": 318130400,          // total fair cash value, USD
      "totalAcres": 6190.0,
      "classes": {"E": 512, "C": 30}, // PVA property-class letter → parcel count
      "geojson": "geojson/001-….geojson",  // per-owner file path (relative to /data on the build, not all are deployed)
      "family": "Ball Homes / Ball family",   // present only when the owner belongs to a family cluster
      "sos": {                         // present when a KY SOS registration matched
        "orgNumber": "0338251",
        "sosName": "BALL REALTY INVESTMENTS, LLC",
        "agent": "Lawrence E. Goodwin, Jr.",
        "principal": "3609 Walden Drive, Lexington, KY, 40517"
      }
    }, …
  ],
  "families": [
    {
      "family": "Ball Homes / Ball family",
      "members": ["BALL REALTY INVESTMENTS LLC", "BALL HOMES LLC", …],
      "parcelCount": 428,
      "totalFCV": 216802200,
      "signal": "KY SOS shared registered agent / principal office / brand name"
    }, …
  ]
}
```

Selection rule: union of the top 60 owners by parcel count and the top 60 by total fair cash value, minus placeholder owner strings. Government name variants (e.g. "LFUCG") are pre-merged; private LLCs are NOT merged — use `families` for grouped views.

### 2.2 `top_owners_combined.geojson` (~3.9 MB) — parcel polygons

A single `FeatureCollection` of 5,200 Polygon features (WGS84 / EPSG:4326). Per-feature `properties`:

| key | meaning |
|---|---|
| `pvanum` | 8-digit PVA parcel number (joins to the parcel roll and to LFUCG GIS `PVANUM`) |
| `owner` | owner of record, normalized (matches `owners[].owner` in the index) |
| `address` | situs address as recorded by PVA |
| `class` | PVA property-class letter (R residential, C commercial, E exempt, F farm, M multi-family…) |
| `zoning` | zoning code (e.g. `R-1C`, `B-4`) |
| `fcv` | fair cash value, pre-formatted string (e.g. `"$274,100"`) |
| `acres` | parcel acreage, string |

### 2.3 `owners_top500_by_count.json` (~52 KB)

Array of `{owner, parcelCount, totalFCV, totalAcres}` for the 500 largest owners by parcel count — for questions about owners below the catalog cutoff. No geometry, no SOS data.

### 2.4 `fayette_parcel_roll_2026-06-11.json` (~20 MB) — the complete county roll

Every parcel in Fayette County. Shape:

```
{
  "generated": "2026-06-11",
  "columns": ["parcelNumber","ownerOfRecord","zoning","propertyClass","taxDistrict",
              "lastSaleDate","lastSalePrice","fairCashValue","acres","yearBuilt",
              "address","neighborhoodCode"],
  "recordCount": 115301,
  "parcels": { "<parcelNumber>": [ …12 values in column order… ], … }
}
```

Values are strings as displayed by the PVA (`fairCashValue` like `"$274,100"`, `lastSalePrice` like `"$0"` for non-arm's-length transfers). `propertyClass` is the letter code. Parcel numbers starting `99` are franchise/utility pseudo-parcels, not land.

## 3. Answering common questions

- **"Who owns parcel X / address Y?"** → look up the parcel number in `parcels` (roll), or search the roll's address column. Addresses are uppercase, no punctuation.
- **"Who is the biggest landlord?"** → use `families` first (grouped totals), then individual `owners`. Biggest private family: Ball Homes (428 parcels). Biggest single private LLC: Ball Realty Investments (216).
- **"How much does <owner> own?"** → exact-match `owners[].owner` (uppercase); fall back to the top-500 list; fall back to scanning the roll for the raw PVA spelling.
- **"Show me their properties on a map"** → filter `top_owners_combined.geojson` features by `properties.owner`.
- Always state the snapshot date — ownership changes daily.

## 4. Related

The maker also runs other Lexington civic-data projects; this site stands alone and carries its own branding. Corrections: reach Paul Oliva via https://pauloliva.com.
