53033 FipsDecoder
38097 County FIPS Code

Traill County

North Dakota · County seat: Hillsboro · Active county or equivalent

View on CensusDepth ↗

FIPS code 38097 is Traill County, North Dakota. With a population of 8,004 (2022 ACS estimate), it ranks #18 in North Dakota and #2647 nationally. The state FIPS code for North Dakota is 38. This code is used in Census Bureau, BLS, EPA, HUD, and USDA federal datasets to identify this county.

County FIPS

38097

State FIPS

38

ND

Population

8,004

2022 ACS · #2647 nationally

Density

9.3/mi²

people per sq mile

Land Area

862

sq miles

Urban/Rural

Nonmetro — rural, adjacent to metro

RUCC 8

How This FIPS Code Works

38 097
38 = State FIPS (North Dakota)
097 = County FIPS

The 5-digit FIPS code 38097 is formed by combining the 2-digit state identifier 38 (North Dakota) with the 3-digit county identifier 097. Together they uniquely identify Traill County in every US federal dataset. No two counties share the same 5-digit FIPS code.

Census ACS Data for FIPS 38097

From the 2022 ACS 5-year estimates — the same values you'd retrieve by querying the Census API with county FIPS 38097.

Median Household Income

$81,157

ACS B19013_001E

Poverty Rate

6.6%

ACS B17001 (below poverty level)

Median Age

40.6

ACS B01002_001E

Adjacent Counties (5)

Counties that share a border with Traill County. Useful for regional analysis — these are the geographies you'd typically include when studying labor markets, commuting zones, or environmental spillovers around FIPS 38097.

Federal Datasets Using Code 38097

FIPS code 38097 appears as the county identifier in the following federal datasets. Analysts joining data across these sources use this code as the common geographic key.

Using FIPS Code 38097 in Code

Common patterns for querying federal datasets by this county's FIPS code. The leading zeros are significant — always treat FIPS codes as strings, not integers.

Census ACS API — Python 38097
import requests

url = "https://api.census.gov/data/2022/acs/acs5"
params = {
    "get":  "NAME,B19013_001E,B01003_001E",
    "for":  "county:097",
    "in":   "state:38",
    "key":  "YOUR_CENSUS_API_KEY",
}
r = requests.get(url, params=params)
data = r.json()  # [[header...], [Traill County, North Dakota, income, pop, ...]
SQL — filtering by county FIPS 38097
-- 5-digit combined FIPS (state + county)
SELECT * FROM your_table WHERE county_fips = '38097';

-- Some datasets store state and county separately
SELECT * FROM your_table
WHERE state_fips = '38'
  AND county_fips = '097';

-- ⚠ Never cast to integer — leading zeros are lost:
-- county_fips = 38097 is WRONG for this county
R — tidycensus 38097
library(tidycensus)

get_acs(
  geography = "county",
  variables = c(income = "B19013_001E", pop = "B01003_001E"),
  state     = "38",
  county    = "097",
  year      = 2022
)
Zero-padding reminder: FIPS codes must always be stored and compared as zero-padded strings. 38 (not 38) and 097 (not 97) — losing the leading zeros is one of the most common data-join bugs in federal datasets. Full guide →

ZIP Codes in Traill County

ZIP codes do not align perfectly with county boundaries — a single ZIP code can span multiple counties, and a county can contain parts of many ZIP codes. The ratios below (from the Census 2020 ZCTA relationship file) show the land area share of each ZCTA that falls within Traill County. Why FIPS ≠ ZIP →

ZIP Code % in county
58009 100.0%
58045 100.0%
58218 100.0%
58219 100.0%
58223 100.0%
58257 100.0%
58038 59.9%
58016 54.6%
58274 45.6%
58035 42.2%
58240 33.3%
58275 29.5%
58048 23.9%

Other Counties in North Dakota