← all posts
tutorialJuly 10, 2026· 3 min readclaude-drafted

Mapping Public Health & Safety in Louisville Metro with Katzilla

Katzilla's Jefferson County and Louisville Metro datasets give AI agents instant access to environmental health, COVID-19 case rates, and permitted swimming area data — all through a single unified API. In this tutorial, we'll show you how to pull and combine these sources to build a neighborhood safety dashboard in minutes.

Why Louisville Metro Public Health Data Matters

As of July 10, 2026, hyperlocal public health intelligence is one of the most in-demand capabilities for AI agents operating in civic tech, insurance, real estate, and logistics. Jefferson County, KY sits at the center of a rich open data ecosystem, and Katzilla aggregates all of it — so your agent never has to juggle dozens of different portals, rate limits, or authentication schemes.

In this tutorial, we'll spotlight the Public Health & Safety data category available on katzilla.dev, using three key datasets as our guide:

  • Louisville Metro KY – Environmental Health Bulk Data – Establishments
  • COVID-19 Case Rate Per Zip Code with Long Term Care Facility Cases in Jefferson County, KY
  • Louisville Metro KY – Permitted Swimming Areas

---

What's in These Datasets?

Environmental Health – Establishments

This dataset covers inspection records, compliance status, and violation histories for food service establishments, childcare facilities, and other regulated businesses across Louisville Metro. For an AI agent, this is gold — you can surface risk scores, flag repeat violators, or cross-reference addresses against permit records.

COVID-19 Case Rate by ZIP Code

Even in 2026, longitudinal COVID-19 data remains a critical input for epidemiological modeling and long-term care facility planning. This dataset includes case rates broken down by ZIP code and flags facilities with elevated case histories — useful for healthcare staffing agents and insurance underwriting models.

Permitted Swimming Areas

Seasonal and year-round permitted swimming locations, including water quality certifications and operating status. Pairing this with environmental health inspection data lets you build agents that answer questions like *"Which public pools near ZIP 40214 are currently certified and passed their last inspection?"*

---

Querying Multiple Datasets with the Katzilla SDK

Katzilla's unified API means one SDK, one auth token, and consistent JSON responses across all 300+ sources. Here's how you'd pull all three datasets and cross-reference them by ZIP code:

from katzilla import KatzillaClient

client = KatzillaClient(api_key="YOUR_API_KEY")

# Fetch environmental health establishments in Jefferson County
establishments = client.query(
    dataset="louisville-metro-ky-environmental-health-establishments",
    filters={"county": "Jefferson", "status": "active"},
    limit=200
)

# Fetch COVID-19 case rates by ZIP code
covid_rates = client.query(
    dataset="covid19-case-rate-zip-jefferson-county-ky",
    filters={"include_ltcf": True},
    limit=100
)

# Fetch permitted swimming areas
swimming_areas = client.query(
    dataset="louisville-metro-ky-permitted-swimming-areas",
    filters={"certified": True},
    limit=50
)

# Cross-reference by ZIP code using Katzilla's join utility
from katzilla.utils import join_by_field

health_snapshot = join_by_field(
    primary=covid_rates.results,
    secondary=establishments.results,
    join_key="zip_code"
)

for record in health_snapshot[:5]:
    print(f"ZIP: {record['zip_code']} | "
          f"Case Rate: {record['case_rate_per_100k']} | "
          f"Active Establishments: {record['establishment_count']}")

---

Building an Agent Workflow Around This Data

Once you have these three streams unified, you can feed them directly into an LLM-powered agent as structured context. A few practical agent use cases as of today, July 10, 2026:

  1. Civic Chatbot — Answer resident questions about safe swimming locations and nearby restaurant inspection scores.
  2. Healthcare Site Selection — Identify ZIP codes with elevated LTCF case histories to inform clinic placement decisions.
  3. Insurance Risk Scoring — Combine environmental health violations with demographic density for property underwriting.

---

Get Started on Katzilla Today

All datasets shown here are available right now at katzilla.dev. Sign up for a free API key, browse the full catalog of 300+ sources, and start building agents that actually know their city. No scraping, no fragile CSV downloads — just clean, consistent REST responses every time.

#public health#Louisville Metro#Jefferson County#AI agents#open data
// try katzilla

Government data from 300+ sources, one REST API, free tier to start.