53033 FipsDecoder
38105 County FIPS Code

Williams County

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

View on CensusDepth ↗

FIPS code 38105 is Williams County, North Dakota. With a population of 39,076 (2022 ACS estimate), it ranks #5 in North Dakota and #1215 nationally. Williams County is part of the Williston, ND. 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

38105

State FIPS

38

ND

Population

39,076

2022 ACS · #1215 nationally

Density

18.8/mi²

people per sq mile

Land Area

2,077

sq miles

Urban/Rural

Nonmetro — urban 20K+, not adjacent to metro

RUCC 5

How This FIPS Code Works

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

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

Census ACS Data for FIPS 38105

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

Median Household Income

$86,139

ACS B19013_001E

Poverty Rate

7.4%

ACS B17001 (below poverty level)

Median Age

31.9

ACS B01002_001E

Metropolitan Area

Adjacent Counties (7)

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

Federal Datasets Using Code 38105

FIPS code 38105 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 38105 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 38105
import requests

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

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

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

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

ZIP Codes in Williams 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 Williams County. Why FIPS ≠ ZIP →

ZIP Code % in county
58849 100.0%
58801 100.0%
58843 100.0%
58853 100.0%
58852 79.0%
58856 66.4%
58830 59.8%
58845 51.4%
58795 46.4%
58755 44.1%

Other Counties in North Dakota