# KLEC Watch — llms.txt > Searchable aggregation of Kentucky legislative lobbying disclosures > (Kentucky Legislative Ethics Commission public reports), 2015–present. > 11 covered years, ~2,100 employers, ~1,500 lobbyists, ~$223M in reported spend. > Sibling site of KREF Watch (https://krefwatch.com — campaign finance). > An independent project of The Lexington Times (https://lexingtonky.news). > Not affiliated with the Commission. ## Open JSON data API (static, CORS-open, no auth, no key) All site data is plain JSON under `https://klecwatch.com/data/`: - `/data/years.json` — index of covered years (totals, employer/agent/bill counts, `complete` flag + `note` for partial years, `generatedAt`, `gaps`). - `/data/y//summary.json` — KPIs, topEmployers, topAgents (lobbyists), topIndustries, monthly series. - `/data/y//employers.json` — every employer: key, name, industry, total, comp, other, monthly series, agents hired (slug + comp), bills lobbied (2025+ only). Sorted by total desc (~500 KB). - `/data/y//agents.json` — every lobbyist ("legislative agent"): slug, name, total compensation, clients (employer key + comp). Sorted by total desc (~300 KB). - `/data/y//bills.json` — **2025 and 2026 only**: every bill number named in disclosures, with the employers that lobbied it. Sorted by employer count desc. - `/data/employers-index.json` — every employer across all years with per-year totals (`years: {"2015": ..., ...}`). Use this to find an employer's key + trace it over time. - `/data/agents-index.json` — same for lobbyists, keyed by slug. - `/data/kref-links.json` — employers that ALSO appear in KREF Watch campaign-finance data: `{: {date, total}}` → campaign giving by people/PACs tied to that employer at `https://krefwatch.com/e//employers/`. Money semantics: `comp` = agent compensation (what the employer paid lobbyists); `other` = other reported expenses (receptions, events, advertising — usually small); `total` = comp + other as reported to KLEC. Typical flows: - "Who spent the most lobbying Frankfort in X year?" → `/data/y//summary.json` → `topEmployers` - "How much has spent lobbying?" → `/data/employers-index.json` (find key + years) → `/data/y//employers.json` - "Who are 's clients?" → `/data/agents-index.json` (find slug) → `/data/y//agents.json` - "Who lobbied HB 500?" → `/data/y/2026/bills.json` (2025/2026 only) - "Does this employer also give campaign money?" → `/data/kref-links.json` ## Agent guide - `https://klecwatch.com/skill.md` — task-oriented guide for AI agents using this data. ## Caveats (important for accurate reporting) - **2018 is missing entirely** (no archived snapshot survives) and **2017 covers only Q1** (the 2017 session). The current year is in progress; `complete:false` + `note` in years.json flag both cases. - **Bills are extracted from free-text disclosures.** Employers describe lobbying topics in prose; only explicit bill numbers are indexed. Absence from a bill's page does not mean an employer didn't lobby the topic. Bill data exists for 2025–2026 only. - **Agent names were flipped heuristically.** KLEC publishes Last-First ("Babbage Robert A"); the pipeline flips to First-Last. Compound surnames can come out wrong — verify spelling against KLEC originals. - **Employer spellings are normalized heuristically** so filings group across years; the canonical `key` is what links records. - Filings lag: KLEC reporting periods close on a schedule; recent months are incomplete until the next period posts. Dataset build date is `generatedAt` in `/data/years.json`. - Amounts are as reported by employers and agents; KLEC publishes them without audit. Verify against KLEC originals (https://klec.ky.gov/Reports) before publication. - Lobbying spend ≠ campaign contributions. Campaign finance is the sibling site: https://krefwatch.com (`/llms.txt` there). ## Source code Fully open source (pipeline + frontend): https://github.com/paul-codes-1/klecwatch ## Contact editor@lexingtonky.news · The Lexington Times · https://lexingtonky.news