Low-Income, Low-Access Tracts (USDA 2025 SNAP Store Map)
Share of residents living in census tracts USDA flags as low-income and far from any SNAP-authorized store, by tract and county.
- 2025–2025
- irregular
- 1.0.0
- 415291844c0f
Overview
How many Georgians live in a census tract USDA flags as low-income and low-access (LILA), the designation often called a food desert, for Georgia, its 159 counties and its 2,791 census tracts, from the U.S. Department of Agriculture Economic Research Service's 2025 SNAP-authorized Retailer Access Map (Food Access Research Atlas): the residents (2020 Census) of flagged tracts and their share of the population. A LILA tract is a low-income tract where at least 500 people, or 33% of residents, live far from the nearest SNAP-authorized store (any store accepting SNAP, convenience and dollar stores included). USDA's main definition uses 1 mile in urban tracts and 10 miles in rural ones; two other urban/rural distances and a vehicle-based definition are also served, each by straight-line and by driving distance. Tract rows give each tract's flag; county and state figures are our sums of the tracts.
Row grain: One row per year, county_fips, tract_geoid, lila_definition, distance_method.
pct_population_in_lila_tracts — Share of Residents in Low-Income, Low-Access Tracts (proportion)
The single headline value most answers want.
Variables
Every column in the fact table. The code is the exact field name the API returns.
| Column | Type | Unit | Range | Null? | Description |
|---|---|---|---|---|---|
year | integer | — | — | no | 2025, the year of ERS's SNAP-authorized store list (stores as of June 2025); the population is from the 2020 Census (see year_meaning). One release.Full description▾2025, the year of ERS's SNAP-authorized store list (stores as of June 2025); the population is from the 2020 Census (see year_meaning). One release. |
county_fips | string | — | — | yes | 5-digit county FIPS code (FK to the counties dimension), set on county rows. NULL on tract rows (the tracts dimension gives each tract's county, also the first five digits of its GEOID) and on the Georgia row.Full description▾5-digit county FIPS code (FK to the counties dimension), set on county rows. NULL on tract rows (the tracts dimension gives each tract's county, also the first five digits of its GEOID) and on the Georgia row. |
tract_geoid | string | — | — | yes | 11-digit 2020 census tract GEOID (FK to the tracts dimension), set on tract rows: all 2,791 Georgia tracts in ERS's file. The five water-only tracts of the dimension are not in it. NULL on county and Georgia rows.Full description▾11-digit 2020 census tract GEOID (FK to the tracts dimension), set on tract rows: all 2,791 Georgia tracts in ERS's file. The five water-only tracts of the dimension are not in it. NULL on county and Georgia rows. |
lila_definition | string | — | — | no | USDA's definition of a low-income, low-access tract; 1_mile_urban_10_miles_rural is USDA's main one.Full description▾USDA's low-income and low-access (LILA) tract definition. A tract is LILA when it is a low-income tract (New Markets Tax Credit rule) and enough of its residents live far from the nearest SNAP-authorized store: 1_mile_urban_10_miles_rural (USDA's main definition): at least 500 people, or 33% of residents, beyond 1 mile in an urban tract or 10 miles in a rural one; half_mile_urban_10_miles_rural: half a mile urban, 10 miles rural; 1_mile_urban_20_miles_rural: 1 mile urban, 20 miles rural; no_vehicle_half_mile_or_20_miles: at least 100 households with no vehicle beyond half a mile, or 500 people (33%) beyond 20 miles, urban or rural (in Georgia only the no-vehicle part flags any tract). ERS calls a tract urban when its population-weighted center lies in a Census urban area. The first three nest; the vehicle definition overlaps them. Pick one, never add across them. 4 allowed values▾
|
distance_method | string | — | — | no | How distance to the nearest SNAP store is measured; straight_line is the default.Full description▾How distance to the nearest SNAP-authorized store is measured: straight_line (as the crow flies; this table's default) or driving (along the road network). ERS publishes both side by side and calls neither its main measure. Driving distances are longer, so driving flags more tracts: every tract flagged by straight-line distance is also flagged by driving distance. Pick one, never add across them. 2 allowed values▾
|
num_population_in_lila_tracts | integer | — | yes | Residents (2020 Census) of the tracts USDA flags as low-income and low-access under the row's definition and distance method: on a tract row, the tract's whole population if flagged and 0 otherwise; on county and Georgia rows, the sum over their flagged tracts. Our calculation from ERS's tract flags and populations. Every resident of a flagged tract counts, not only its low-income residents or those far from a store. The numerator of pct_population_in_lila_tracts.Full description▾Residents (2020 Census) of the tracts USDA flags as low-income and low-access under the row's definition and distance method: on a tract row, the tract's whole population if flagged and 0 otherwise; on county and Georgia rows, the sum over their flagged tracts. Our calculation from ERS's tract flags and populations. Every resident of a flagged tract counts, not only its low-income residents or those far from a store. The numerator of pct_population_in_lila_tracts. | |
num_population | integer | — | yes | The place's 2020 Census population (ERS's POP2020, equal to the tracts dimension's population_2020): the tract's own, or the sum over the county's (Georgia's) tracts; Georgia 10,711,908. The same on every definition and method row of a place: never add it across them. 0 on the seven special-use tracts with no residents. The denominator of pct_population_in_lila_tracts.Full description▾The place's 2020 Census population (ERS's POP2020, equal to the tracts dimension's population_2020): the tract's own, or the sum over the county's (Georgia's) tracts; Georgia 10,711,908. The same on every definition and method row of a place: never add it across them. 0 on the seven special-use tracts with no residents. The denominator of pct_population_in_lila_tracts. | |
pct_population_in_lila_tracts | number | — | yes | Share of residents living in a census tract USDA flags as low-income and low-access (far from any SNAP-authorized store).Full description▾Share of residents (2020 Census) living in a tract USDA flags as low-income and low-access (LILA) under the row's definition and distance method: our calculation, num_population_in_lila_tracts / num_population, on the 0-1 scale (0.0572 = 5.72%). On a tract row it is 1 (the tract is flagged) or 0 (not flagged); on county and Georgia rows it is the share of residents living in flagged tracts. Georgia, straight-line: 5.72% at USDA's main definition (138 of 2,791 tracts), 19.71% at half a mile urban / 10 miles rural (511 tracts), 5.72% at 1 mile urban / 20 miles rural (138), 5.58% by the vehicle definition (139); driving: 15.00% (379), 25.46% (693), 14.91% (376) and 10.11% (257). At the main definition, 99 of 159 counties have no flagged tract by straight-line distance and 87 by driving. Tracts count whole, so a county with few tracts can be at 0% or 100% (a one-tract county is 100% when its tract is flagged). Distance is to any SNAP-authorized store, so this is not the classic supermarket-based food desert. For several places, pool as SUM(num_population_in_lila_tracts) / SUM(num_population) within one definition and method. |
Filters
Query parameters the fact endpoint accepts. Comma-separated values are OR within a parameter; multiple parameters AND together.
| Parameter | Kind | Allowed values | Notes |
|---|---|---|---|
year | year_exact | any value | — |
year_min | year_range | any value | — |
year_max | year_range | any value | — |
detail | detail | countiesstatestracts | enum-enforced, default: counties |
county_fips | foreign_key | any value | multi-value |
tract_geoid | foreign_key | any value | multi-value |
lila_definition | categorical | 1_mile_urban_10_miles_ruralhalf_mile_urban_10_miles_rural1_mile_urban_20_miles_ruralno_vehicle_half_mile_or_20_miles | multi-value, enum-enforced, pick one |
distance_method | categorical | straight_linedriving | multi-value, enum-enforced, pick one |
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/low_income_low_access_tracts"counties data for 2025
curl "https://georgiacivicdata.org/api/v1/health/low_income_low_access_tracts?year=2025"Filtered to lila_definition = 1_mile_urban_10_miles_rural for 2025
curl "https://georgiacivicdata.org/api/v1/health/low_income_low_access_tracts?year=2025&lila_definition=1_mile_urban_10_miles_rural"One county (FIPS 13121), 2025
curl "https://georgiacivicdata.org/api/v1/health/low_income_low_access_tracts?county_fips=13121&year=2025&detail=counties"Download 2025 as CSV
curl "https://georgiacivicdata.org/api/v1/health/low_income_low_access_tracts?year=2025&format=csv"Notes & limitations
NULL handling
- Zero is a real, reported value.
Limitations
USDA's low-income and low-access (LILA) tracts are often called food deserts, but this map measures distance to any SNAP-authorized store, convenience and dollar stores included: it is not the classic supermarket-based food desert and not comparable with food_access_2019 or USDA's older LILA maps. A flagged tract counts its whole population, not only its low-income residents or those far from a store. The share is our calculation from summed 2020 Census tract populations. A tract is low-income by the New Markets Tax Credit rule (a poverty rate of 20% or more, or a median family income at or below 80% of the state's or its metro area's, from the American Community Survey 2020-2024: 1,245 of Georgia's 2,791 tracts) and low-access when at least 500 people, or 33% of its residents, live beyond the distance. lila_definition 1_mile_urban_10_miles_rural (USDA's main definition) uses 1 mile in urban tracts and 10 miles in rural ones; half_mile_urban_10_miles_rural and 1_mile_urban_20_miles_rural change the urban or the rural distance; no_vehicle_half_mile_or_20_miles flags a low-income tract where at least 100 households with no vehicle live more than half a mile from a store, or 500 people (33%) more than 20 miles, urban or rural. In Georgia no tract has that many people 20 miles from a store, so that definition flags tracts only for their households without a vehicle. ERS calls a tract urban when its population-weighted center lies in a Census urban area (at least 5,000 people or 2,000 housing units). ERS publishes both distance methods side by side: distance_method straight_line (this table's default) is as the crow flies, driving is along roads: driving flags more tracts, and every tract flagged by straight-line distance is also flagged by driving distance. The definitions and methods count the same residents several times: pick one of each, never add across them. Distances run from the cells of a population grid (LandScan USA 2020) to the nearest store on USDA's June 2025 list; they ignore travel time, transit, prices and what a store sells. Tract rows give the tract's flag as a share of 1 (flagged) or 0; the seven special-use tracts with no residents (GEOIDs ending 980000) have a NULL share and are never flagged, and the five water-only tracts are not in ERS's file. County and Georgia rows are our sums of the tracts (Georgia: 10,711,908 people, the 2020 Census count). ERS suppresses nothing. Not served: ERS's counts of people living beyond each distance (in food_access, from the same map), its counts of low-income people, and its other tract flags and characteristics.