{
  "type": "county",
  "slug": "butler",
  "name": "Butler County",
  "fips": "39017",
  "population": 400128,
  "center": {
    "lat": 39.438629,
    "lon": -84.5756035
  },
  "url": "https://crackedbuckeye.com/county/butler/",
  "api": "https://crackedbuckeye.com/api/county/butler.json",
  "tables": {
    "migr": {
      "name": "IRS county-to-county migration",
      "source": "IRS Statistics of Income county-to-county migration flows, 2022-2023",
      "fields": {
        "returns (households) that moved in, 2022 to 2023": 16831,
        "returns that moved out": 16455,
        "net returns (in minus out)": 376,
        "non-migrant (stayed put) returns": 301578,
        "list of up to 3 [origin place, return count] top sources of arrivals": [
          [
            "Hamilton, OH",
            5632
          ],
          [
            "Warren, OH",
            2317
          ],
          [
            "Montgomery, OH",
            931
          ]
        ],
        "list of up to 3 [destination place, return count] top places leavers went": [
          [
            "Hamilton, OH",
            4535
          ],
          [
            "Warren, OH",
            2693
          ],
          [
            "Montgomery, OH",
            1216
          ]
        ]
      }
    },
    "chr": {
      "name": "County Health Rankings 2025",
      "source": "County Health Rankings & Roadmaps 2025 (University of Wisconsin Population Health Institute)",
      "fields": {
        "years of potential life lost rate (premature death)": 9596.1,
        "% adults reporting fair or poor health": 18.9,
        "% Medicare enrollees with an annual flu vaccination": 54,
        "population per primary care physician": 1922.0,
        "population per mental health provider": 344.0,
        "population per dentist": 1913.0,
        "preventable hospital stay rate (per 100,000 Medicare enrollees)": 3574,
        "% uninsured": 6.6,
        "% households with severe housing problems": 11.9,
        "average daily PM2.5 (µg/m3)": 10.4,
        "'Yes'/'No' - any drinking-water violation reported in the county": "No",
        "income inequality ratio (80th/20th percentile household income)": 4.5,
        "% children in poverty": 13.3,
        "injury death rate (per 100,000)": 95.1,
        "life expectancy at birth (years)": 75.4,
        "child mortality rate (per 100,000, under 18)": 47.9,
        "infant mortality rate (per 1,000 live births)": 6.9,
        "suicide death rate (per 100,000)": 13.5,
        "teen birth rate (per 1,000 females 15-19)": 14.8,
        "median household income ($)": 80066,
        "county population": 393043,
        "health-outcomes ranking group: the county's CHR 2025 decile among U.S. counties, 1 to 10 (1=best)": 4,
        "health-factors ranking group: the county's CHR 2025 decile among U.S. counties, 1 to 10 (1=best)": 4
      }
    },
    "od": {
      "name": "CDC county overdose deaths",
      "source": "CDC NCHS provisional county drug overdose deaths, 12-month-ending counts; CDC VSRR for the Ohio row",
      "fields": {
        "latest 12-month-ending period (YYYY-MM)": "2025-12",
        "deaths in that period": 96,
        "deaths a year earlier": 96,
        "highest 12-month total since 2020": 214,
        "share still pending investigation (%)": 0,
        "deaths per 100,000 (computed from CHR population)": 24.4,
        "month of the highest total (optional, only when the source provided one)": "2021-04"
      }
    },
    "cpop": {
      "name": "Census county population estimates and history",
      "source": "Census Bureau Population Estimates Program (vintage 2025, join_popest.py); decennial counts 1900-1990 from 'Population of States and Counties of the United States 1790-1990', 2000/2010 from intercensal files",
      "fields": {
        "April 2020 census population": 390345,
        "current population estimate (July of the vintage year in CPOP_YEAR)": 400128,
        "net domestic migration, latest year alone (can be negative)": 82,
        "net international migration, latest year alone": 1711,
        "cumulative births since 2020": 21263,
        "cumulative deaths since 2020": 19801,
        "cumulative net migration since 2020": 8224,
        "1900 population": 56870,
        "1950 population": 147203,
        "1970 population": 226207,
        "2000 population": 332341,
        "peak year (population estimates program, vintage-to-date)": 2025,
        "population in the peak year": 400128,
        "year first counted, when before 1900": 1810,
        "population in that first-counted year": 11150,
        "population by 1850, when first counted before 1850": null
      }
    },
    "laus": {
      "name": "BLS county unemployment (LAUS)",
      "source": "BLS Local Area Unemployment Statistics",
      "fields": {
        "latest month (YYYY-MM)": "2026-07",
        "unemployment rate (%), latest month": 3.6,
        "unemployment rate (%), a year earlier": 5.0,
        "labor force": 198657,
        "unemployed (looking for work)": 7207,
        "unemployment rate (%) for all of 2019, or null": null
      }
    },
    "qcew": {
      "name": "BLS Quarterly Census of Employment and Wages",
      "source": "BLS Quarterly Census of Employment and Wages, 2026 Q1",
      "fields": {
        "year": 2026,
        "quarter (1-4)": 1,
        "average weekly wage ($)": 1405,
        "% change on the year": 1.8,
        "employment": 163937,
        "% change in employment": 0.5,
        "establishment count": 9216,
        "list of up to 3 [sector name, employment, avg weekly wage] largest private sectors": [
          [
            "manufacturing",
            26095,
            2197
          ],
          [
            "health care and social assistance",
            21025,
            1225
          ],
          [
            "restaurants and hotels",
            17355,
            439
          ]
        ]
      }
    },
    "fed": {
      "name": "USAspending county federal money",
      "source": "USAspending federal awards by county of performance, fiscal 2025",
      "fields": {
        "contract obligations ($, fiscal 2025)": 495529015,
        "contract $ per resident": 1269,
        "grant obligations ($)": 693018339,
        "grant $ per resident": 1775,
        "loan guarantees and loans ($)": 925235,
        "direct payments to people/organizations ($)": 2088145178
      }
    },
    "bea": {
      "name": "BEA county economic accounts",
      "source": "BEA regional accounts: county GDP (CAGDP1), per capita personal income (CAINC1), 2024",
      "fields": {
        "GDP year": 2024,
        "real GDP ($ millions, 2017 chained dollars)": 23139,
        "% change in real GDP since 2019": 4.7,
        "personal income per capita ($)": 60037,
        "personal income year": 2024,
        "% change in per-capita income since 2019 (before inflation)": 22.6,
        "rank among Ohio's 88 counties by per-capita income": 30
      }
    },
    "rucc": {
      "name": "USDA Rural-Urban Continuum Code",
      "source": "USDA ERS Rural-Urban Continuum Codes, 2023",
      "fields": {
        "RUCC code (1-9, 1=most metro)": 1,
        "code description": "Metro - Counties in metro areas of 1 million population or more"
      }
    },
    "afff": {
      "name": "County PFAS firefighting-foam stock",
      "source": "Ohio EPA AFFF firefighting-foam inventory",
      "fields": {
        "fire department/holder count registered": 9,
        "total gallons of PFAS-based AFFF registered": 915,
        "gallons in sealed/unopened containers": 170,
        "gallons in opened containers": 745
      }
    },
    "nws": {
      "name": "National Weather Service warning counts",
      "source": "National Weather Service warnings/watches/advisories, Iowa Environmental Mesonet VTEC archive, since 2015",
      "fields": {
        "total warning/watch/advisory products issued since 2015": 1164,
        "Tornado Warning count": 22,
        "Tornado Watch count": 35,
        "Severe Thunderstorm Warning count": 199,
        "Flash Flood Warning count": 48,
        "Flood Warning count": 17,
        "Areal Flood Warning count": 36,
        "Areal Flood Advisory count": 181,
        "Winter Storm Warning count": 17,
        "Winter Weather Advisory count": 79,
        "Blizzard Warning count": 0,
        "Excessive Heat Warning count": 7,
        "Heat Advisory count": 40,
        "Extreme Cold Warning count": 2,
        "Wind Chill Warning count": 3,
        "Snow Squall Warning count": 1,
        "map of {year: tornado warning count} for years with at least one": {
          "2016": 1,
          "2017": 1,
          "2019": 1,
          "2021": 1,
          "2023": 2,
          "2024": 7,
          "2025": 3,
          "2026": 6
        }
      }
    },
    "cancer": {
      "name": "NCI county cancer incidence/mortality",
      "source": "NCI State Cancer Profiles, county incidence 2018-2022 and mortality 2019-2023",
      "fields": {
        "[age-adjusted incidence rate per 100,000, a comparison or CI-adjacent figure, another comparison figure, annual case count, trend direction, annual percent change] all invasive cancer sites combined": [
          470.0,
          null,
          null,
          2124.0,
          "stable",
          -0.1
        ],
        "[age-adjusted death rate per 100,000, annual death count, trend direction, annual percent change]": [
          158.1,
          717.0,
          "falling",
          -1.6
        ],
        "[incidence rate per 100,000, annual case count, trend direction] and the same 3-element shape for other site-specific keys": [
          64.4,
          300.0,
          "falling"
        ],
        "same 3-element shape as 'lung'": [
          21.4,
          96.0,
          "stable"
        ]
      }
    },
    "cchl": {
      "name": "County H2Ohio chloride-reduction grant count",
      "source": "Ohio EPA H2Ohio chloride reduction grants",
      "fields": {
        "count of H2Ohio road-salt/chloride reduction grants awarded in the county": 1
      }
    },
    "ers": {
      "name": "USDA county economic typology",
      "source": "USDA ERS county typology codes, 2015 edition",
      "fields": {
        "metro flag (1=metro, 0=nonmetro)": 1,
        "economic dependency type ('Nonspecialized'/'Manufacturing'/'Federal/State Government'/'Mining'/'Recreation'/'Farming')": "Nonspecialized",
        "low-education flag (0/1)": 0,
        "low-employment flag (0/1)": 0,
        "population-loss flag (0/1)": 0,
        "retirement-destination flag (0/1)": 0,
        "persistent-poverty flag (0/1)": 0,
        "persistent-child-poverty flag (0/1)": 0
      }
    },
    "crac": {
      "name": "County-level FRA rail-accident totals",
      "source": "FRA Form 54 rail equipment accident reports, county fallback for railAccidentLine()",
      "fields": {
        "accident count since 2010": 25,
        "derailment count": 20,
        "hazmat car(s) releasing count": 0,
        "people evacuated": 0
      }
    },
    "medi": {
      "name": "CMS county Medicare enrollment",
      "source": "CMS Medicare Monthly Enrollment by county, 2025",
      "fields": {
        "enrollment year": 2025,
        "total Medicare enrollees": 75053,
        "% choosing Medicare Advantage": 56.3,
        "enrollees aged 65+": 66671,
        "enrollees under 65 with disabilities": 8382,
        "% also enrolled in Medicaid (dual-eligible)": 14.5,
        "% with Part D drug coverage": 83.8,
        "prior enrollment count (comparison)": 68399,
        "year of that prior count": 2020
      }
    },
    "saipe": {
      "name": "Census Small Area Income and Poverty Estimates",
      "source": "Census SAIPE 2024 county estimates",
      "fields": {
        "% poverty (all ages)": 13.0,
        "% child poverty": 15.5,
        "median household income ($)": 80560
      }
    },
    "aqiy": {
      "name": "2026 year-to-date county AQI",
      "source": "EPA daily county AQI file for 2026 (January to the file's latest date)",
      "fields": {
        "days indexed so far in 2026": 120,
        "good AQI days": 46,
        "moderate AQI days": 74,
        "unhealthy-for-sensitive-groups-or-worse days": 0,
        "peak AQI value": 93,
        "pollutant responsible for the peak": "Ozone",
        "date of the peak (YYYY-MM-DD)": "2026-04-30"
      }
    },
    "airs": {
      "name": "EPA Green Book nonattainment/maintenance status",
      "source": "EPA Green Book county nonattainment/maintenance status (nayro.xls, September 2026)",
      "fields": {
        "list of [pollutant/standard, area name, classification, area-share code] nonattainment rows": [],
        "list of [pollutant/standard, area name, status, area-share code ('W'=whole county or similar, 'Whole'), year redesignated to maintenance] maintenance rows": [
          [
            "8-Hour Ozone (2008)",
            "Cincinnati, OH-KY-IN",
            "Marginal",
            null,
            "2016"
          ],
          [
            "8-Hour Ozone (2015)",
            "Cincinnati, OH-KY",
            "Marginal",
            null,
            "2022"
          ],
          [
            "PM-2.5 (1997)",
            "Cincinnati-Hamilton, OH-KY-IN",
            "Former Subpart 1",
            null,
            "2017"
          ]
        ]
      }
    },
    "hma": {
      "name": "FEMA Hazard Mitigation Assistance county history",
      "source": "OpenFEMA Hazard Mitigation Assistance projects, v4 API",
      "fields": {
        "mitigation project count since the start year": 5,
        "total project worth ($)": 2735186,
        "federal share ($)": 2137780,
        "properties covered": 15,
        "list of up to 3 [project type, count] rows": [
          [
            "Acquisition of Private Real Property (Structures and Land) - Riverine",
            3
          ],
          [
            "Local Multihazard Mitigation Plan",
            1
          ],
          [
            "Generators",
            1
          ]
        ],
        "start year on file": 2000,
        "[type, cost $, grantee, fiscal year] largest project": [
          "Acquisition of Private Real Property (Structures and Land) - Riverine",
          2054866,
          "Fairfield",
          2009
        ]
      }
    },
    "drought": {
      "name": "U.S. Drought Monitor county history",
      "source": "U.S. Drought Monitor weekly county statistics, 2000-2026",
      "fields": {
        "weeks in moderate drought or worse since 2020": 28,
        "weeks severe drought or worse since 2020": 2,
        "worst drought category since 2000": "extreme drought",
        "date of that worst reading": "2024-09-24",
        "share (%) of all weeks since 2000 in any drought": 7,
        "as-of date of the latest reading": "2026-09-01",
        "current drought status text": "no drought",
        "weeks at least abnormally dry since 2020": 73,
        "year of the most recent severe-or-worse spell": "2024",
        "weeks of that most recent severe spell": 2
      }
    },
    "storms": {
      "name": "NOAA Storm Events county summaries",
      "source": "NOAA Storm Events database, 2016-2026",
      "fields": {
        "severe-weather report count since 2016": 182,
        "list of up to 4 [event family, count] rows": [
          [
            "damaging thunderstorm wind",
            82
          ],
          [
            "hail",
            38
          ],
          [
            "flash floods",
            32
          ],
          [
            "river and street flooding",
            20
          ]
        ],
        "[largest hail size in, date] or null": [
          2.0,
          "27-FEB-23"
        ],
        "[strongest wind gust mph, date] or null": [
          68,
          "13-JUN-22"
        ],
        "death count": 0,
        "injury count": 0,
        "reported damage ($)": 1867450,
        "[event name, date, damage $, narrative text] costliest event": [
          "tornadoes",
          "27-FEB-23",
          500000.0,
          "The tornado first touched down near the intersection of Jacksonburg Road and Oxford Middletown Road, where some minor roof and tree damage was observed. Damage "
        ],
        "list of up to 3 [zone-based advisory family, count] rows": [
          [
            "winter weather",
            43
          ],
          [
            "winter storms",
            15
          ],
          [
            "high wind",
            6
          ]
        ],
        "[first year, last year] of the series": [
          2016,
          2026
        ]
      }
    },
    "fluor": {
      "name": "County fluoridation-rate summary",
      "source": "Ohio Department of Health county fluoridation profiles (DataOhio)",
      "fields": {
        "% of county population served by fluoridated water": 99.5
      }
    },
    "airtox": {
      "name": "County air-toxics summary",
      "source": "EPA AirToxScreen 2020",
      "fields": {
        "lifetime cancer risk per million from outdoor air toxics": 30.0,
        "list of up to 2 [pollutant name, risk contribution] top contributors": [
          [
            "formaldehyde",
            19.2
          ],
          [
            "carbon tetrachloride",
            2.9
          ]
        ]
      }
    },
    "hhs": {
      "name": "House-pack source registry",
      "source": "verbatim from scripts/build.py's own 'hhs' assembly comment (line 2049 as read for W1-05)",
      "fields": {
        "county": "Butler",
        "depth ('deep' full appraisal record or a thinner OGRIP-only record)": "deep",
        "source label": "Butler County Auditor CAMA fields on the county parcel GIS layer (BCEO Parcels, iasWorld extract); partial",
        "office name/address": "Butler County Auditor (Hamilton, Ohio); layer served by the Butler County Engineer's Office GIS, drawn by the Auditor's own public GIS Viewer",
        "landing page URL": "https://propertysearch.bcohio.gov/forms/htmlframe.aspx?mode=content/home.htm",
        "snapshot date": "2026-09-14",
        "records placed": 126114,
        "parcel-page URL pattern ('{pid}' placeholder) or null": "https://propertysearch.bcohio.gov/datalets/datalet.aspx?mode=profileall&UseSearch=no&pin={pid}",
        "share of OGRIP parcels without a land-use class, or null": null,
        "values status note (e.g. working values not yet certified) or null": null,
        "source slug": "butler_auditor"
      }
    }
  },
  "places": [
    {
      "slug": "hamilton",
      "name": "Hamilton (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/hamilton/"
    },
    {
      "slug": "west-chester-township-butler-county",
      "name": "West Chester Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/west-chester-township-butler-county/"
    },
    {
      "slug": "middletown",
      "name": "Middletown (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/middletown/"
    },
    {
      "slug": "fairfield",
      "name": "Fairfield (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/fairfield/"
    },
    {
      "slug": "liberty-township-butler-county",
      "name": "Liberty Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/liberty-township-butler-county/"
    },
    {
      "slug": "oxford",
      "name": "Oxford (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/oxford/"
    },
    {
      "slug": "fairfield-township-butler-county",
      "name": "Fairfield Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/fairfield-township-butler-county/"
    },
    {
      "slug": "monroe",
      "name": "Monroe (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/monroe/"
    },
    {
      "slug": "trenton",
      "name": "Trenton (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/trenton/"
    },
    {
      "slug": "madison-township-butler-county",
      "name": "Madison Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/madison-township-butler-county/"
    },
    {
      "slug": "ross-township-butler-county",
      "name": "Ross Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/ross-township-butler-county/"
    },
    {
      "slug": "hanover-township-butler-county",
      "name": "Hanover Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/hanover-township-butler-county/"
    },
    {
      "slug": "morgan-township-butler-county",
      "name": "Morgan Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/morgan-township-butler-county/"
    },
    {
      "slug": "saint-clair-township-butler-county",
      "name": "Saint Clair Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/saint-clair-township-butler-county/"
    },
    {
      "slug": "wayne-township-butler-county",
      "name": "Wayne Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/wayne-township-butler-county/"
    },
    {
      "slug": "milford-township-butler-county",
      "name": "Milford Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/milford-township-butler-county/"
    },
    {
      "slug": "reily-township-butler-county",
      "name": "Reily Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/reily-township-butler-county/"
    },
    {
      "slug": "lemon-township-butler-county",
      "name": "Lemon Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/lemon-township-butler-county/"
    },
    {
      "slug": "oxford-township-butler-county",
      "name": "Oxford Township, Butler County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/oxford-township-butler-county/"
    },
    {
      "slug": "new-miami",
      "name": "New Miami (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/new-miami/"
    },
    {
      "slug": "seven-mile",
      "name": "Seven Mile (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/seven-mile/"
    },
    {
      "slug": "millville",
      "name": "Millville (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/millville/"
    }
  ],
  "zips": [
    {
      "zip": "45011",
      "name": "Liberty Township and Hamilton",
      "population": 73596,
      "url": "https://crackedbuckeye.com/zip/45011/"
    },
    {
      "zip": "45044",
      "name": "Middletown",
      "population": 56128,
      "url": "https://crackedbuckeye.com/zip/45044/"
    },
    {
      "zip": "45013",
      "name": "Hamilton",
      "population": 53911,
      "url": "https://crackedbuckeye.com/zip/45013/"
    },
    {
      "zip": "45069",
      "name": "West Chester Township and West Chester",
      "population": 53694,
      "url": "https://crackedbuckeye.com/zip/45069/"
    },
    {
      "zip": "45014",
      "name": "Fairfield",
      "population": 46169,
      "url": "https://crackedbuckeye.com/zip/45014/"
    },
    {
      "zip": "45056",
      "name": "Oxford",
      "population": 28892,
      "url": "https://crackedbuckeye.com/zip/45056/"
    },
    {
      "zip": "45042",
      "name": "Middletown",
      "population": 26972,
      "url": "https://crackedbuckeye.com/zip/45042/"
    },
    {
      "zip": "45067",
      "name": "Trenton",
      "population": 15004,
      "url": "https://crackedbuckeye.com/zip/45067/"
    },
    {
      "zip": "45050",
      "name": "Monroe",
      "population": 12173,
      "url": "https://crackedbuckeye.com/zip/45050/"
    },
    {
      "zip": "45015",
      "name": "Hamilton",
      "population": 12103,
      "url": "https://crackedbuckeye.com/zip/45015/"
    },
    {
      "zip": "45053",
      "name": "Morgan Township and Okeana",
      "population": 3375,
      "url": "https://crackedbuckeye.com/zip/45053/"
    },
    {
      "zip": "45062",
      "name": "Seven Mile",
      "population": 775,
      "url": "https://crackedbuckeye.com/zip/45062/"
    },
    {
      "zip": "45055",
      "name": "Saint Clair Township and Overpeck",
      "population": 76,
      "url": "https://crackedbuckeye.com/zip/45055/"
    }
  ],
  "generated": "2026-09-16",
  "license": "CC BY 4.0 for the compilation; each source keeps its own terms",
  "cite": "Cracked Buckeye (Open Shower Co), \"Butler County\", https://crackedbuckeye.com/county/butler/, built 2026-09-16, accessed [date].",
  "schema": "https://crackedbuckeye.com/api/schema.json"
}
