Skip to content
← All datasets

Homicide Deaths

Homicide and firearm homicide death rates per 100,000 and deaths, by Georgia county, 2019-2024 (CDC MIOV).

Year coverage
2019–2024
Updated
annual
Version
1.0.0
Schema hash
7b61e1b6a35b

Detail levels available

County · default

Overview

Homicide deaths among the residents of each of Georgia's 159 counties, 2019-2024, all methods and by firearm: CDC's crude death rate per 100,000 residents (the observed rate, or an estimate from CDC's Bayesian model, with its 95% credible interval, where the county had 1-9 deaths) and the number of deaths, from CDC's Mapping Injury, Overdose, and Violence (MIOV) dashboard (National Vital Statistics System death records). Counts of 1-9 are withheld by CDC.

Row grain: One row per year, county_fips, tract_geoid, method.

Key metric

death_rate_per_100k — Homicide Death Rate (per 100,000) (rate_per_population)

The single headline value most answers want.

Variables

Every column in the fact table. The code is the exact field name the API returns.

ColumnTypeUnitRangeNull?Description
yearYearinteger——noCalendar year of death (2019-2024), final as CDC publishes it. CDC's provisional trailing 12 months (June 2025 to May 2026) are not included.
Full description
Calendar year of death (2019-2024), final as CDC publishes it. CDC's provisional trailing 12 months (June 2025 to May 2026) are not included.
county_fipsCounty FIPSstring——no5-digit county FIPS code as published (FK to the counties dimension): the decedent's county of residence. Every row is a county; CDC publishes no Georgia total in this dataset.
Full description
5-digit county FIPS code as published (FK to the counties dimension): the decedent's county of residence. Every row is a county; CDC publishes no Georgia total in this dataset.

Joins counties; adds its label columns.

tract_geoidTract GEOIDstring——yesAlways NULL: this dataset is by county. Kept for the health domain's standard key shape.
Full description
Always NULL: this dataset is by county. Kept for the health domain's standard key shape.

Joins tracts; adds its label columns.

methodMethodstring——no'all' is every homicide; 'firearm' is homicides by firearm, a subset of 'all'. Never add the two.
Full description
Method of homicide, as CDC groups it: 'all' (every homicide death, any method: the total) or 'firearm' (homicides by firearm, which are also counted in 'all'). Never add the two. No other method is published, and a non-firearm figure ('all' minus 'firearm') is not served: it would need, or narrow, the counts CDC withholds.
2 allowed values
  • all — total / aggregate
  • firearm
death_rate_per_100kHomicide Death Rate (per 100,000)numberrate_per_population—yesHomicide deaths per 100,000 residents a year (crude); an estimate from CDC's model where the county had 1-9 deaths.
Full description
Homicide deaths per 100,000 residents of the county in the year, crude (all ages, not age-adjusted), as CDC publishes it (rounded to 0.1). With 0 or 10 or more deaths it is the observed rate (deaths / population x 100,000; 0 with no deaths). With 1 to 9 deaths it is an estimate from CDC's Bayesian model, which borrows strength from neighboring counties to steady small counts and protect privacy (rate_modeled true), with a 95% credible interval: not deaths / population, and never 0. Rates never add or average across counties, and no population is published to weight them. The highest is a model estimate, 47.0 (Terrell County, 13273, 2023, firearm homicides: 1 to 9 deaths, 95% credible interval 21.3-103.7); the highest observed rate is 37.8 (Bibb County, 13021, 2022: 59 deaths). Both preserved as published: a few deaths in a small county give a high rate. A modeled firearm rate can exceed the same county's modeled all-homicide rate (separate model fits; see limitations). Fulton County, 2024: 16.8 (181 deaths).
death_rate_per_100k_ci_lowerModeled Rate 95% Credible Interval Lower Boundnumberrate_per_population—yesLower bound of the 95% credible interval of death_rate_per_100k, as CDC publishes it, for modeled rates only (rate_modeled true): under CDC's model, the true rate lies in the interval with 95% probability. Wide for small counties.
Full description
Lower bound of the 95% credible interval of death_rate_per_100k, as CDC publishes it, for modeled rates only (rate_modeled true): under CDC's model, the true rate lies in the interval with 95% probability. Wide for small counties.
death_rate_per_100k_ci_upperModeled Rate 95% Credible Interval Upper Boundnumberrate_per_population—yesUpper bound of the 95% credible interval of death_rate_per_100k, as CDC publishes it, for modeled rates only (rate_modeled true).
Full description
Upper bound of the 95% credible interval of death_rate_per_100k, as CDC publishes it, for modeled rates only (rate_modeled true).
num_deathsDeathsintegercount—yesNumber of homicide deaths among residents of the county in the year, as CDC publishes it: 0, or 10 and more; CDC withholds 1 to 9 (NULL here, rate_modeled true). A published 0 is a real zero. Adds across counties only where none is NULL, so a sum over counties with a NULL is an undercount: there is no Georgia total in this dataset. Firearm homicides are also counted in 'all': never add the two methods.
Full description
Number of homicide deaths among residents of the county in the year, as CDC publishes it: 0, or 10 and more; CDC withholds 1 to 9 (NULL here, rate_modeled true). A published 0 is a real zero. Adds across counties only where none is NULL, so a sum over counties with a NULL is an undercount: there is no Georgia total in this dataset. Firearm homicides are also counted in 'all': never add the two methods.
rate_modeledRate Is Modeledboolean——noTrue when the rate is CDC's model estimate (1-9 deaths, count withheld).
Full description
CDC's modeled-rate flag (rate_m): true where the county had 1 to 9 deaths, so num_deaths is withheld and death_rate_per_100k is an estimate from CDC's Bayesian model with a 95% credible interval (rate and interval NULL where CDC flags the modeled rate as unstable and does not publish it, -999 in the source); false where the rate is observed (0 or 10 or more deaths). Describes the row, not part of its key.

Filters

Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.

ParameterKindAllowed valuesNotes
yearyear_exactany value—
year_minyear_rangeany value—
year_maxyear_rangeany value—
detaildetailcountiesenum-enforced, default: counties
county_fipsforeign_keyany valuemulti-value
tract_geoidforeign_keyany valuemulti-value
methodcategoricalallfirearmmulti-value, enum-enforced
rate_modeledcategoricalany valuemulti-value

Example requests

Run these against the base URL — they return live data.

All rows (first page), counties level

curl "https://georgiacivicdata.org/api/v1/health/homicide_deaths"

counties data for 2024

curl "https://georgiacivicdata.org/api/v1/health/homicide_deaths?year=2024"

Filtered to method = firearm for 2024

curl "https://georgiacivicdata.org/api/v1/health/homicide_deaths?year=2024&method=firearm"

One county (FIPS 13121), 2024

curl "https://georgiacivicdata.org/api/v1/health/homicide_deaths?county_fips=13121&year=2024&detail=counties"

Download 2024 as CSV

curl "https://georgiacivicdata.org/api/v1/health/homicide_deaths?year=2024&format=csv"

Notes & limitations

NULL handling

  • Suppressed cells (values the source withholds, usually for a group too small to report) are NULL, never zero.
  • Zero is a real, reported value.

Limitations

Homicide deaths by the victim's county of residence, not where the homicide happened, calendar years only. Counties with 1 to 9 deaths get a CDC model estimate in place of an observed rate (rate_modeled true), so many county rates are estimates. Rates are crude (deaths per 100,000 residents of all ages), not age-adjusted, so places with older or younger populations are not directly comparable. Where a county had 1 to 9 deaths CDC withholds the count (shown as '1-9': num_deaths NULL, never a zero, never backed out of a total) and publishes instead an estimate from its Bayesian model, which borrows strength from neighboring counties (rate_modeled true), with a 95% credible interval; a modeled rate is not deaths divided by population, and where CDC flags the modeled rate as unstable and does not publish it (-999 in the source) the rate and interval are NULL. Here 61% of rows have 1 to 9 deaths (18 of them with no rate at all): most counties' figures are model estimates, so compare them by their credible intervals. 'firearm' homicides are a subset of 'all' (never add the two) and are also counted in firearm_deaths (firearm deaths of every intent), so never add figures across the MIOV topics. This county dataset has no Georgia row: a sum of counties with a withheld count is an undercount (CDC publishes Georgia's totals in its separate MIOV state dataset, data.cdc.gov fpsi-y8tj, which is not part of this table). Not included: CDC's provisional trailing 12 months (June 2025 to May 2026), which CDC revises and rolls forward monthly; every row here is a calendar year. A modeled firearm rate and a modeled all-homicide rate come from separate model fits, so a firearm estimate can exceed the all-homicide estimate for the same county and year: in this release one does (Terrell County, 2023: 47.0 against 45.5, both from 1 to 9 deaths, the firearm figure inside the all-homicide estimate's credible interval). Observed firearm rates never exceed observed all-homicide rates. Not comparable with police crime counts, which count homicides where they happen and by their own definitions. CDC's data dictionary (not part of this source file) gives the cause-of-death codes; Georgia DPH's OASIS also publishes assault (homicide) deaths, with age-adjusted rates and demographics, from the state's own records and population estimates: compare places within one source only. No demographics, methods other than firearm, or nonfatal assaults in this table.