{
  "type": "county",
  "slug": "ottawa",
  "name": "Ottawa County",
  "fips": "39123",
  "population": 39481,
  "center": {
    "lat": 41.5380407,
    "lon": -83.143516
  },
  "url": "https://crackedbuckeye.com/county/ottawa/",
  "api": "https://crackedbuckeye.com/api/county/ottawa.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": 1880,
        "returns that moved out": 1780,
        "net returns (in minus out)": 100,
        "non-migrant (stayed put) returns": 33356,
        "list of up to 3 [origin place, return count] top sources of arrivals": [
          [
            "Lucas, OH",
            319
          ],
          [
            "Wood, OH",
            239
          ],
          [
            "Sandusky, OH",
            191
          ]
        ],
        "list of up to 3 [destination place, return count] top places leavers went": [
          [
            "Sandusky, OH",
            256
          ],
          [
            "Lucas, OH",
            241
          ],
          [
            "Wood, OH",
            227
          ]
        ]
      }
    },
    "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)": 8724.4,
        "% adults reporting fair or poor health": 16.2,
        "% Medicare enrollees with an annual flu vaccination": 53,
        "population per primary care physician": 2111.0,
        "population per mental health provider": 796.0,
        "population per dentist": 2352.0,
        "preventable hospital stay rate (per 100,000 Medicare enrollees)": 2776,
        "% uninsured": 6.6,
        "% households with severe housing problems": 8.6,
        "average daily PM2.5 (µg/m3)": 8.2,
        "'Yes'/'No' - any drinking-water violation reported in the county": "Yes",
        "income inequality ratio (80th/20th percentile household income)": 4.1,
        "% children in poverty": 12,
        "injury death rate (per 100,000)": 88.8,
        "life expectancy at birth (years)": 76.6,
        "child mortality rate (per 100,000, under 18)": 59.8,
        "infant mortality rate (per 1,000 live births)": null,
        "suicide death rate (per 100,000)": 22.0,
        "teen birth rate (per 1,000 females 15-19)": 12.6,
        "median household income ($)": 76582,
        "county population": 39803,
        "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-02",
        "deaths in that period": 10,
        "deaths a year earlier": null,
        "highest 12-month total since 2020": 17,
        "share still pending investigation (%)": 0,
        "deaths per 100,000 (computed from CHR population)": 25.1,
        "month of the highest total (optional, only when the source provided one)": "2022-05"
      }
    },
    "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": 40367,
        "current population estimate (July of the vintage year in CPOP_YEAR)": 39481,
        "net domestic migration, latest year alone (can be negative)": -21,
        "net international migration, latest year alone": 23,
        "cumulative births since 2020": 1421,
        "cumulative deaths since 2020": 2871,
        "cumulative net migration since 2020": 635,
        "1900 population": 22213,
        "1950 population": 29469,
        "1970 population": 37099,
        "2000 population": 40974,
        "peak year (population estimates program, vintage-to-date)": 2010,
        "population in the peak year": 41428,
        "year first counted, when before 1900": 1840,
        "population in that first-counted year": 2248,
        "population by 1850, when first counted before 1850": 3308
      }
    },
    "laus": {
      "name": "BLS county unemployment (LAUS)",
      "source": "BLS Local Area Unemployment Statistics",
      "fields": {
        "latest month (YYYY-MM)": "2026-07",
        "unemployment rate (%), latest month": 3.5,
        "unemployment rate (%), a year earlier": 5.0,
        "labor force": 21356,
        "unemployed (looking for work)": 751,
        "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 ($)": 1156,
        "% change on the year": 0.4,
        "employment": 13175,
        "% change in employment": 3.1,
        "establishment count": 1211,
        "list of up to 3 [sector name, employment, avg weekly wage] largest private sectors": [
          [
            "manufacturing",
            2288,
            1385
          ],
          [
            "restaurants and hotels",
            1665,
            431
          ],
          [
            "retail",
            1375,
            671
          ]
        ]
      }
    },
    "fed": {
      "name": "USAspending county federal money",
      "source": "USAspending federal awards by county of performance, fiscal 2025",
      "fields": {
        "contract obligations ($, fiscal 2025)": 44257938,
        "contract $ per resident": 1096,
        "grant obligations ($)": 77402771,
        "grant $ per resident": 1918,
        "loan guarantees and loans ($)": 80908,
        "direct payments to people/organizations ($)": 340884104
      }
    },
    "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)": 1999,
        "% change in real GDP since 2019": -3.1,
        "personal income per capita ($)": 68759,
        "personal income year": 2024,
        "% change in per-capita income since 2019 (before inflation)": 28.2,
        "rank among Ohio's 88 counties by per-capita income": 10
      }
    },
    "rucc": {
      "name": "USDA Rural-Urban Continuum Code",
      "source": "USDA ERS Rural-Urban Continuum Codes, 2023",
      "fields": {
        "RUCC code (1-9, 1=most metro)": 3,
        "code description": "Metro - Counties in metro areas of fewer than 250,000 population"
      }
    },
    "afff": {
      "name": "County PFAS firefighting-foam stock",
      "source": "Ohio EPA AFFF firefighting-foam inventory",
      "fields": {
        "fire department/holder count registered": 6,
        "total gallons of PFAS-based AFFF registered": 785,
        "gallons in sealed/unopened containers": 710,
        "gallons in opened containers": 75
      }
    },
    "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": 837,
        "Tornado Warning count": 11,
        "Tornado Watch count": 11,
        "Severe Thunderstorm Warning count": 150,
        "Flash Flood Warning count": 14,
        "Flood Warning count": 0,
        "Areal Flood Warning count": 10,
        "Areal Flood Advisory count": 35,
        "Winter Storm Warning count": 7,
        "Winter Weather Advisory count": 60,
        "Blizzard Warning count": 0,
        "Excessive Heat Warning count": 2,
        "Heat Advisory count": 31,
        "Extreme Cold Warning count": 2,
        "Wind Chill Warning count": 4,
        "Snow Squall Warning count": 1,
        "map of {year: tornado warning count} for years with at least one": {
          "2015": 2,
          "2019": 1,
          "2023": 6,
          "2024": 1,
          "2025": 1
        }
      }
    },
    "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": [
          510.0,
          null,
          null,
          348.0,
          "stable",
          -0.1
        ],
        "[age-adjusted death rate per 100,000, annual death count, trend direction, annual percent change]": [
          179.4,
          131.0,
          "falling",
          -0.9
        ],
        "[incidence rate per 100,000, annual case count, trend direction] and the same 3-element shape for other site-specific keys": [
          59.6,
          46.0,
          "falling"
        ],
        "same 3-element shape as 'lung'": [
          21.4,
          16.0,
          "stable"
        ]
      }
    },
    "ers": {
      "name": "USDA county economic typology",
      "source": "USDA ERS county typology codes, 2015 edition",
      "fields": {
        "metro flag (1=metro, 0=nonmetro)": 0,
        "economic dependency type ('Nonspecialized'/'Manufacturing'/'Federal/State Government'/'Mining'/'Recreation'/'Farming')": "Recreation",
        "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": 4,
        "derailment count": 1,
        "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": 13006,
        "% choosing Medicare Advantage": 51.7,
        "enrollees aged 65+": 11961,
        "enrollees under 65 with disabilities": 1045,
        "% also enrolled in Medicaid (dual-eligible)": 9.1,
        "% with Part D drug coverage": 86.9,
        "prior enrollment count (comparison)": 11860,
        "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)": 9.3,
        "% child poverty": 11.4,
        "median household income ($)": 76709
      }
    },
    "hma": {
      "name": "FEMA Hazard Mitigation Assistance county history",
      "source": "OpenFEMA Hazard Mitigation Assistance projects, v4 API",
      "fields": {
        "mitigation project count since the start year": 6,
        "total project worth ($)": 2402534,
        "federal share ($)": 1302622,
        "properties covered": 32,
        "list of up to 3 [project type, count] rows": [
          [
            "Elevation of Private Structures - Riverine",
            3
          ],
          [
            "Elevation of Private Structures - Coastal",
            1
          ],
          [
            "Other Non Construction (Regular Project Only)",
            1
          ]
        ],
        "start year on file": 1998,
        "[type, cost $, grantee, fiscal year] largest project": [
          "Elevation of Private Structures - Riverine",
          993974,
          "Ottawa (County)",
          2019
        ]
      }
    },
    "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": 76,
        "weeks severe drought or worse since 2020": 37,
        "worst drought category since 2000": "severe drought",
        "date of that worst reading": "2026-03-17",
        "share (%) of all weeks since 2000 in any drought": 10,
        "as-of date of the latest reading": "2026-09-01",
        "current drought status text": "no drought",
        "weeks at least abnormally dry since 2020": 127,
        "year of the most recent severe-or-worse spell": "2026",
        "weeks of that most recent severe spell": 11
      }
    },
    "storms": {
      "name": "NOAA Storm Events county summaries",
      "source": "NOAA Storm Events database, 2016-2026",
      "fields": {
        "severe-weather report count since 2016": 70,
        "list of up to 4 [event family, count] rows": [
          [
            "damaging thunderstorm wind",
            50
          ],
          [
            "hail",
            8
          ],
          [
            "flash floods",
            4
          ],
          [
            "river and street flooding",
            4
          ]
        ],
        "[largest hail size in, date] or null": [
          1.25,
          "15-JUN-23"
        ],
        "[strongest wind gust mph, date] or null": [
          79,
          "31-MAR-23"
        ],
        "death count": 0,
        "injury count": 0,
        "reported damage ($)": 5927000,
        "[event name, date, damage $, narrative text] costliest event": [
          "river and street flooding",
          "01-JUN-19",
          2000000.0,
          "The mean level of Lake Erie rose 4 inches from May to June to a level of 574.61 ft. This monthly mean level broke the record high June level and it is the lake�"
        ],
        "list of up to 3 [zone-based advisory family, count] rows": [
          [
            "lakeshore flooding",
            11
          ],
          [
            "high wind",
            5
          ],
          [
            "winter storms",
            4
          ]
        ],
        "[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": 92.2
      }
    },
    "airtox": {
      "name": "County air-toxics summary",
      "source": "EPA AirToxScreen 2020",
      "fields": {
        "lifetime cancer risk per million from outdoor air toxics": 20.0,
        "list of up to 2 [pollutant name, risk contribution] top contributors": [
          [
            "formaldehyde",
            14.5
          ],
          [
            "carbon tetrachloride",
            3.0
          ]
        ]
      }
    },
    "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": "Ottawa",
        "depth ('deep' full appraisal record or a thinner OGRIP-only record)": "thin",
        "source label": "OGRIP Ohio Statewide Parcels, Ottawa County (thin records)",
        "office name/address": "Ohio Department of Administrative Services, Office of Information Technology (OGRIP), from the Ottawa County Auditor",
        "landing page URL": "https://gis1.oit.ohio.gov/geodatadownload/",
        "snapshot date": "2023-05-24",
        "records placed": 25000,
        "parcel-page URL pattern ('{pid}' placeholder) or null": null,
        "share of OGRIP parcels without a land-use class, or null": 0.0942,
        "values status note (e.g. working values not yet certified) or null": null,
        "source slug": "ogrip_ottawa"
      }
    }
  },
  "places": [
    {
      "slug": "port-clinton",
      "name": "Port Clinton (city)",
      "type": "city",
      "url": "https://crackedbuckeye.com/place/port-clinton/"
    },
    {
      "slug": "danbury-township-ottawa-county",
      "name": "Danbury Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/danbury-township-ottawa-county/"
    },
    {
      "slug": "catawba-island-township-ottawa-county",
      "name": "Catawba Island Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/catawba-island-township-ottawa-county/"
    },
    {
      "slug": "oak-harbor",
      "name": "Oak Harbor (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/oak-harbor/"
    },
    {
      "slug": "clay-township-ottawa-county",
      "name": "Clay Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/clay-township-ottawa-county/"
    },
    {
      "slug": "salem-township-ottawa-county",
      "name": "Salem Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/salem-township-ottawa-county/"
    },
    {
      "slug": "genoa",
      "name": "Genoa (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/genoa/"
    },
    {
      "slug": "benton-township-ottawa-county",
      "name": "Benton Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/benton-township-ottawa-county/"
    },
    {
      "slug": "carroll-township-ottawa-county",
      "name": "Carroll Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/carroll-township-ottawa-county/"
    },
    {
      "slug": "harris-township-ottawa-county",
      "name": "Harris Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/harris-township-ottawa-county/"
    },
    {
      "slug": "elmore",
      "name": "Elmore (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/elmore/"
    },
    {
      "slug": "portage-township-ottawa-county",
      "name": "Portage Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/portage-township-ottawa-county/"
    },
    {
      "slug": "erie-township-ottawa-county",
      "name": "Erie Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/erie-township-ottawa-county/"
    },
    {
      "slug": "bay-township-ottawa-county",
      "name": "Bay Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/bay-township-ottawa-county/"
    },
    {
      "slug": "marblehead",
      "name": "Marblehead (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/marblehead/"
    },
    {
      "slug": "put-in-bay-township-ottawa-county",
      "name": "Put-In-Bay Township, Ottawa County",
      "type": "township",
      "url": "https://crackedbuckeye.com/place/put-in-bay-township-ottawa-county/"
    },
    {
      "slug": "rocky-ridge",
      "name": "Rocky Ridge (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/rocky-ridge/"
    },
    {
      "slug": "clay-center",
      "name": "Clay Center (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/clay-center/"
    },
    {
      "slug": "put-in-bay",
      "name": "Put-In-Bay (village)",
      "type": "village",
      "url": "https://crackedbuckeye.com/place/put-in-bay/"
    }
  ],
  "zips": [
    {
      "zip": "43452",
      "name": "Port Clinton",
      "population": 13443,
      "url": "https://crackedbuckeye.com/zip/43452/"
    },
    {
      "zip": "43449",
      "name": "Oak Harbor",
      "population": 8057,
      "url": "https://crackedbuckeye.com/zip/43449/"
    },
    {
      "zip": "43440",
      "name": "Danbury Township and Lakeside Marblehead",
      "population": 4665,
      "url": "https://crackedbuckeye.com/zip/43440/"
    },
    {
      "zip": "43430",
      "name": "Genoa",
      "population": 4631,
      "url": "https://crackedbuckeye.com/zip/43430/"
    },
    {
      "zip": "43416",
      "name": "Elmore",
      "population": 2769,
      "url": "https://crackedbuckeye.com/zip/43416/"
    },
    {
      "zip": "43432",
      "name": "Benton Township and Graytown",
      "population": 1354,
      "url": "https://crackedbuckeye.com/zip/43432/"
    },
    {
      "zip": "43445",
      "name": "Clay Township and Martin",
      "population": 1188,
      "url": "https://crackedbuckeye.com/zip/43445/"
    },
    {
      "zip": "43456",
      "name": "Put-In-Bay Township and Put In Bay",
      "population": 678,
      "url": "https://crackedbuckeye.com/zip/43456/"
    },
    {
      "zip": "43468",
      "name": "Allen Township and Williston",
      "population": 565,
      "url": "https://crackedbuckeye.com/zip/43468/"
    },
    {
      "zip": "43458",
      "name": "Rocky Ridge",
      "population": 312,
      "url": "https://crackedbuckeye.com/zip/43458/"
    },
    {
      "zip": "43408",
      "name": "Clay Center",
      "population": 251,
      "url": "https://crackedbuckeye.com/zip/43408/"
    },
    {
      "zip": "43446",
      "name": "Put-In-Bay Township and Middle Bass",
      "population": 118,
      "url": "https://crackedbuckeye.com/zip/43446/"
    },
    {
      "zip": "43433",
      "name": "Portage Township and Gypsum",
      "population": 101,
      "url": "https://crackedbuckeye.com/zip/43433/"
    },
    {
      "zip": "43439",
      "name": "Erie Township and Lacarne",
      "population": 62,
      "url": "https://crackedbuckeye.com/zip/43439/"
    },
    {
      "zip": "43436",
      "name": "Put-In-Bay Township and Isle Saint George",
      "population": 10,
      "url": "https://crackedbuckeye.com/zip/43436/"
    }
  ],
  "generated": "2026-09-16",
  "license": "CC BY 4.0 for the compilation; each source keeps its own terms",
  "cite": "Cracked Buckeye (Open Shower Co), \"Ottawa County\", https://crackedbuckeye.com/county/ottawa/, built 2026-09-16, accessed [date].",
  "schema": "https://crackedbuckeye.com/api/schema.json"
}
