Skip to main content
MortRadarTERMINAL
State markets/North Dakota/Grand Forks County

COUNTY MORTGAGE MARKET · FIPS 38035

Grand Forks County, North Dakota

Who lends in Grand Forks County, how much, and to whom — built from HMDA public mortgage disclosure data, U.S. Census ACS housing estimates and FEMA's National Risk Index.

Origination volume · 2025

$333.6M

Origination volumeSum of loan amount over HMDA records with action taken = 1.

Originations · 2025

1,263

OriginationsCount of HMDA records with action taken = 1 (loan originated) in the activity year.

Denial rate · 2025

9.4%

Denial rateApplications denied (action taken = 3) divided by applications acted upon (actions 1-5).

Lenders active · 2025

121

Lenders activeDistinct LEIs with at least one application acted upon (HMDA action taken 1-5, 7 or 8) in the county and year.

Market structure

How spread out lending is across the 121 lenders that originated in Grand Forks County in 2025. HHI is the Herfindahl-Hirschman index over lender shares.

Concentration (HHI)

565

unconcentrated

Top-5 lender share

43.6%

of originations

Purchase

71.7%

741 loans

Refinance

28.3%

293 loans

Origination trend

Annual mortgage origination volume and loan count in Grand Forks County, 2023–2025. Pick a window, export the graph or its data, or click a year to open every record behind it.

Lenders in Grand Forks County

Sort, filter, add columns, export, or open a row for the lender's card. Each row links to the lender's company page and to its Grand Forks County loan records. The panel states which source answered and exactly which lenders that source covers.

ORIGINATION FLOOR
Hide the long tail of lenders with only a handful of loans here.
FULL RECORD LIST FOR GRAND FORKS COUNTY

TOP TEN LENDERS IN GRAND FORKS COUNTY · 10

The ten largest lenders by origination volume — the precomputed county leaderboard, not the whole market.

1–10 OF 10 LENDERS

Loading every lender that acted on an application in this county. The rows below are the precomputed county leaderboard — the ten largest by volume, not the whole market.

160$49.7M$49.7M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
254$37.1M$37.1M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
99$24.3M$24.3M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
69$19.9M$19.9M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
55$14.2M$14.2M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
1$14.0M$14.0M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
14$13.0M$13.0M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
2$10.5M$10.5M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
47$10.2M$10.2M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
31$10.1M$10.1M originated in Grand Forks County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.

Source: the precomputed county lender leaderboard (lender_county_year) — its ten largest lenders by origination volume, not the county. As of HMDA activity year 2025. Denial rate = denials / decisioned applications (originated + approved-but-not-accepted + denied).

ZIP areas in Grand Forks County

All 22 ZIP Code Tabulation Areas that touch Grand Forks County, built by grouping the county's census tracts through the Census 2020 crosswalk. A ZCTA approximates a USPS ZIP code; HMDA itself reports no postal geography, so each row opens the tracts behind it, where the records are exact.

TRACT FLOOR
Hide the ZIP areas that only clip a corner of this county.
22 OF 22 ZIP AREASEVERY ZIP AREA TOUCHING THE COUNTY — NO ROWS WITHHELD
TOP LENDERRECORDS
1111 of the 14 Grand Forks County tracts this ZIP area touches sit mostly inside it.39,51319.1%8,321TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 7 Grand Forks County tracts this ZIP area touches sit mostly inside it.17,44723.6%3,466TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
11 of the 1 Grand Forks County tract this ZIP area touches sit mostly inside it.5,12011.0%1,247OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 3 Grand Forks County tracts this ZIP area touches sit mostly inside it.2,66211.7%746OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 1 Grand Forks County tract this ZIP area touches sit mostly inside it.2,3188.6%732OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 2 Grand Forks County tracts this ZIP area touches sit mostly inside it.1,7126.0%434OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
11 of the 3 Grand Forks County tracts this ZIP area touches sit mostly inside it.OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
11 of the 1 Grand Forks County tract this ZIP area touches sit mostly inside it.OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 2 tracts of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 5 tracts of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 2 tracts of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 2 tracts of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 2 tracts of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
0This ZIP area clips 1 tract of Grand Forks County but is the dominant ZIP for none of them, so it owns no figures here.TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.

22 of Grand Forks County’s 22 census tracts are grouped into the ZIP areas above, with none left over. The two add up to the county exactly, because each tract is counted once. A ZCTA — ZIP Code Tabulation Area — is the U.S. Census Bureau's area approximation of a USPS ZIP code, not the ZIP code itself. HMDA reports no postal geography at all, so these rows are census tracts grouped by the Census 2020 tract-to-ZCTA relationship file: each tract is counted once, in the single ZCTA covering the most of its land. Housing figures are HMDA tract attributes for activity year 2025, summed over the tracts each ZIP area owns — a ZIP area that owns no tract shows an em-dash, never a zero.

Census tracts in Grand Forks County

All 22 tracts, with the FFIEC income character and HMDA housing attributes of each. Open a tract for its own lender ranking, or open its records directly.

22 OF 22 TRACTSEVERY TRACT IN THE COUNTY — NO ROWS WITHHELD
TOP LENDERRECORDS
Moderate75.6%3,38821.7%OPEN →
Middle88.3%4,24819.7%OPEN →
Moderate61.9%1,58820.1%OPEN →
Low23.8%OPEN →
Middle92.1%5,87332.3%OPEN →
Moderate68.5%2,41425.6%OPEN →
Middle95.2%1,87910.4%OPEN →
Middle110.5%6,02719.3%OPEN →
Moderate69.5%4,82423.4%OPEN →
0.0%2,39130.8%OPEN →
Moderate63.8%3,02332.0%OPEN →
Upper138.3%2,21112.3%OPEN →
Moderate76.5%1,84616.0%OPEN →
Upper130.8%6,3828.6%OPEN →
Middle98.7%2,74220.7%OPEN →
Upper127.7%5,77418.3%OPEN →
Middle95.6%2,3188.6%OPEN →
Upper126.3%2,35014.4%OPEN →
Upper129.8%5,12011.0%OPEN →
Middle107.5%1,7126.0%OPEN →
Moderate75.4%OPEN →
Middle110.1%2,66211.7%OPEN →

Source: FFIEC census-tract file (income level, MSA, urban/rural) and HMDA tract attributes (population, minority share, housing units), latest loaded activity year. The whole county is listed — the table is filtered and paged in the browser over the complete set, never a server-side slice of it.

Housing & households

U.S. Census American Community Survey 2024 estimates — the demand side behind the lending figures above.

Population

72,923

Median household income

$68,075

Median home value

$252,700

Median gross rent

$992

per month

Owner-occupied

51.8%

of occupied units

Housing units

33,891

7.7% vacant

Poverty rate

13.2%

Unemployment

2.3%

Natural-hazard exposure

FEMA National Risk Index ratings for this county — expected annual loss, social vulnerability and community resilience, plus the individual perils rated Relatively High or above.

Overall risk

Relatively Low

score 57.7

Social vulnerability

Very Low

Community resilience

Relatively High

ELEVATED PERILS

Winter weather Very High

Federal disaster history

Months in which a FEMA disaster declaration was active in this county, from the declarations series.

Months with an active declaration

127

Declarations recorded

38

Incident types on record: Biological, Coastal Storm, Flood, Severe Storm.

Everything we hold on Grand Forks County

12 data areas have rows for this county. Each one is one click away below; the 18 we checked and did not find at county grain are named at the end with the reason.

LOAN-LEVEL

The individual HMDA application and origination records behind every figure on this page, pre-filtered to Grand Forks County.

HMDA loan-level (hmda_loan_wide, county_code)

Open the loan explorer for Grand Forks CountyEvery reported application and origination in FIPS 38035, filterable on rate, amount, income, purpose and action taken. Loan-level tier.

VA

VA-guaranteed lending in Grand Forks County by fiscal year — the veteran channel, which HMDA counts but does not separate from the rest of the government book at this grain.

VA Loan Guaranty geographic loan volume (va_geo_loan_volume, county_fips), folded to fiscal year

VA loans · FY2026

113

Purchase share

51.3%

58 loans

IRRRL refinances

43

Cash-out refinances

12

2026113584312
20251591142916
202410589106
202311210318
20221342418
202137515719028
202028012413224
20191611051640
2018149107933
20171881173635
20161821104329
20151811063837

The most recent fiscal year is partial until VA closes it. This file carries no lender key, so VA volume cannot be attributed to a company.

BUILDING PERMITS

New residential units authorised in Grand Forks County — the supply-side leading indicator that runs ahead of purchase originations.

Census Building Permits Survey county series (census_building_permits, geo_id at geo_level 'county')

HOUSING SUPPLY · CENSUS BUILDING PERMITS

Grand Forks County building permits

New privately-owned housing units authorized by building permits — the supply-side leading indicator that runs ahead of housing starts and the purchase-origination pipeline. Single-family (SF, 1-unit) vs. multifamily (MF, 2+ units), by year.

Single-family · 2025

115

+0.9% vs 2024

Multifamily · 2025

71

+4.4% vs 2024

Total authorized · 2025

186

+2.2% vs 2024

Permit valuation · 2025

$35.4M

authorized construction value

Units authorized by year

Grand Forks County · total permitted units · hover for the single-family split

UNITS · SF IN TOOLTIP
05001K1.5K2K1990199219941996199820002002200420062008201020122014201620182020202220242025186 units

Source: U.S. Census Bureau Building Permits Survey (BPS), imputed totals (the published “units authorized” headline). SF = 1-unit; MF = 2+ units. Public no-login Census data. Attribution.

MIGRATION & WEALTH

IRS county-to-county migration flows for Grand Forks County, showing population movement and wealth transfer.

IRS county-to-county migration flows (irs_county_migration, self_geoid)

outflow2223Other flows - Midwest, DS542914$29.9M
inflow2223Other flows - Midwest, DS482718$24.9M
outflow2223Other flows - South, DS405737$26.3M
inflow2223Other flows - South, DS365641$16.1M
outflow2223Other flows - West, DS337549$18.7M
inflow2223Other flows - West, DS330589$17.4M
outflow2223Cass County, ND308416$16.3M
inflow2223Polk County, MN228367$13.7M
inflow2223Cass County, ND202269$11.7M
outflow2223Polk County, MN154249$8.6M
outflow2223Hennepin County, MN104139$7.8M
outflow2223Other flows - Northeast, DS90162$6.4M
inflow2223Other flows - Northeast, DS90125$5.0M
inflow2223Walsh County, ND64115$3.6M
inflow2223Traill County, ND5182$2.9M
inflow2223Foreign - Other flows, FR49109$2.6M
outflow2223Foreign - APO/FPO ZIPs, FR4898$2.8M
outflow2223Burleigh County, ND4869$2.1M
inflow2223Burleigh County, ND4660$1.8M
outflow2223Maricopa County, AZ4470$3.6M
outflow2223Traill County, ND4278$2.3M
outflow2223Dakota County, MN3966$1.9M
inflow2223Hennepin County, MN3852$2.0M
inflow2223Ramsey County, ND3755$2.0M
outflow2223Clay County, MN3765$2.9M
inflow2223Marshall County, MN3342$1.8M
outflow2223Ramsey County, MN3243$1.7M
inflow2223Pembina County, ND3251$2.0M
inflow2223Maricopa County, AZ3044$1.2M
inflow2223Pennington County, MN2944$1.8M
outflow2223Ward County, ND2946$1.3M
outflow2223Walsh County, ND2850$1.6M
outflow2223Marshall County, MN2740$1.3M
inflow2223Ward County, ND2733$941K
outflow2223Foreign - Other flows, FR2633$1.3M
inflow2223Roseau County, MN2431$741K
inflow2223Rolette County, ND2226$619K
inflow2223Beltrami County, MN2234$1.0M
outflow2223Clark County, NV2147$1.4M
outflow2223St. Louis County, MN2127$1.0M
outflow2223Bexar County, TX2152$1.4M
inflow2223Clay County, MN2130$794K
outflow2223Pembina County, ND2137$1.2M
inflow2122Foreign - Other flows, FR
outflow2122Foreign - Other flows, FR
outflow2122Other flows - Midwest, DS586945$31.2M
inflow2122Other flows - Midwest, DS465680$24.3M
outflow2122Other flows - South, DS435861$32.2M
outflow2122Cass County, ND339479$19.4M
inflow2122Other flows - West, DS338632$19.3M
inflow2122Other flows - South, DS307567$15.0M
outflow2122Other flows - West, DS306496$18.8M
inflow2122Polk County, MN238386$12.4M
outflow2122Polk County, MN207368$9.2M
inflow2122Cass County, ND185280$7.9M
outflow2122Other flows - Northeast, DS106229$7.1M
outflow2122Hennepin County, MN99131$5.1M
inflow2122Walsh County, ND72120$3.7M
outflow2122Burleigh County, ND71106$5.8M
inflow2122Foreign - APO/FPO ZIPs, FR61154$3.5M
outflow2122Traill County, ND5399$2.6M
outflow2122Maricopa County, AZ5378$2.3M
inflow2122Other flows - Northeast, DS5384$1.8M
inflow2122Traill County, ND4987$2.4M
outflow2122Walsh County, ND4867$2.1M
inflow2122Marshall County, MN4567$2.2M
outflow2122Clay County, MN4361$1.7M
outflow2122Clark County, NV4177$2.4M
inflow2122Hennepin County, MN4051$1.9M
inflow2122Ramsey County, ND3957$1.7M
outflow2122Dakota County, MN3856$2.6M
inflow2122Ward County, ND3863$1.8M
inflow2122Burleigh County, ND3546$2.2M
inflow2122Pembina County, ND3056$1.5M
outflow2122Ramsey County, ND2648$1.0M
inflow2122Maricopa County, AZ2539$1.4M
inflow2122Williams County, ND2537$1.1M
outflow2122Pembina County, ND2433$1.6M
inflow2122Pennington County, MN2436$1.0M
outflow2122El Paso County, CO2448$1.1M
inflow2122Clay County, MN2329$834K
inflow2122Dakota County, MN2331$1.0M
inflow2122Rolette County, ND2237$549K
outflow2122Foreign - APO/FPO ZIPs, FR2240$854K
outflow2122Ramsey County, MN2137$902K
inflow2122Bexar County, TX2159$1.4M
inflow2122Clark County, NV2048$1.3M
outflow2122Rolette County, ND2029$641K
inflow2021Foreign - Other flows, FR
outflow2021Foreign - Other flows, FR
outflow2021Other flows - Midwest, DS576971$31.0M
inflow2021Other flows - Midwest, DS447719$21.3M
outflow2021Other flows - South, DS412860$24.8M
outflow2021Other flows - West, DS345593$19.5M
outflow2021Cass County, ND340512$16.4M
inflow2021Other flows - South, DS326625$15.3M
inflow2021Other flows - West, DS297558$15.7M
outflow2021Polk County, MN226385$10.7M
inflow2021Polk County, MN218350$12.3M
inflow2021Cass County, ND149228$6.4M
outflow2021Hennepin County, MN102138$5.3M
outflow2021Other flows - Northeast, DS79143$3.4M
inflow2021Other flows - Northeast, DS77102$3.6M
outflow2021Burleigh County, ND76123$4.0M
inflow2021Walsh County, ND60108$2.9M
inflow2021Foreign - APO/FPO ZIPs, FR59123$2.9M
outflow2021Traill County, ND5392$2.5M
outflow2021Maricopa County, AZ4998$2.8M
inflow2021Traill County, ND4886$2.1M
outflow2021Foreign - APO/FPO ZIPs, FR4796$1.9M
inflow2021Hennepin County, MN4368$2.1M
outflow2021Walsh County, ND4377$2.0M
inflow2021Burleigh County, ND4368$1.7M
outflow2021Ward County, ND4177$2.4M
inflow2021Ward County, ND3959$1.2M
outflow2021Clark County, NV3858$2.5M
outflow2021Clay County, MN3357$1.4M
inflow2021Maricopa County, AZ3154$1.6M
inflow2021Ramsey County, ND3044$1.3M
inflow2021Pembina County, ND3052$1.1M
inflow2021Pennington County, MN2737$1.1M
outflow2021Dakota County, MN2737$1.2M
outflow2021Ramsey County, ND2544$790K
inflow2021Beltrami County, MN2536$1.4M
outflow2021Pembina County, ND2535$676K
outflow2021Beltrami County, MN2434$2.0M
outflow2021Marshall County, MN2339$778K
outflow2021Ramsey County, MN2345$1.6M
outflow2021Bexar County, TX2249$1.2M
inflow2021Williams County, ND2237$1.2M
inflow2021Clay County, MN2134$922K
outflow2021Anoka County, MN2134$944K
inflow2021Rolette County, ND2028$692K
outflow1920Foreign - Other flows, FR
inflow1920Foreign - Other flows, FR
outflow1920Other flows - Midwest, DS491869$28.4M
inflow1920Other flows - Midwest, DS469772$21.6M
outflow1920Other flows - South, DS432831$22.4M
outflow1920Other flows - West, DS358625$19.0M
inflow1920Other flows - West, DS310606$17.4M
outflow1920Cass County, ND309483$13.6M
inflow1920Other flows - South, DS300626$14.8M
inflow1920Polk County, MN237383$10.8M
outflow1920Polk County, MN223402$12.3M
inflow1920Cass County, ND157210$6.3M
outflow1920Hennepin County, MN111157$5.7M
outflow1920Other flows - Northeast, DS85131$4.6M
inflow1920Other flows - Northeast, DS71141$3.6M
inflow1920Foreign - APO/FPO ZIPs, FR62146$2.8M
inflow1920Traill County, ND61109$3.6M
outflow1920Traill County, ND61124$3.1M
inflow1920Walsh County, ND5789$2.7M
outflow1920Burleigh County, ND5380$2.6M
outflow1920Maricopa County, AZ5070$2.5M
outflow1920Foreign - APO/FPO ZIPs, FR49114$2.4M
outflow1920Walsh County, ND48100$2.2M
inflow1920Hennepin County, MN4055$1.5M
outflow1920Clay County, MN3973$1.5M
outflow1920Dakota County, MN3971$2.1M
outflow1920Pembina County, ND3673$2.0M
inflow1920Ward County, ND3548$1.3M
inflow1920Ramsey County, ND3159$1.2M
outflow1920Ramsey County, MN3144$1.1M
outflow1920Ward County, ND3053$1.3M
inflow1920Maricopa County, AZ2944$2.7M
inflow1920Pembina County, ND2833$1.4M
inflow1920Bexar County, TX2551$1.1M
outflow1920Marshall County, MN2437$993K
inflow1920Burleigh County, ND2430$928K
inflow1920Marshall County, MN2345$1.4M
outflow1920Clark County, NV2239$883K
outflow1920Beltrami County, MN2143$2.2M
outflow1920Rolette County, ND2129$654K
outflow1920Stearns County, MN2042$876K
outflow1920Anoka County, MN2031$1.5M
outflow1819Foreign - Other flows, FR
outflow1819Other flows - Midwest, DS524918$24.7M
inflow1819Other flows - Midwest, DS468790$20.0M
outflow1819Other flows - West, DS370635$18.7M
outflow1819Other flows - South, DS333665$21.1M
outflow1819Cass County, ND314491$17.7M
inflow1819Other flows - South, DS267558$12.6M
inflow1819Other flows - West, DS242485$13.1M
inflow1819Polk County, MN233391$13.7M
outflow1819Polk County, MN210339$8.7M
inflow1819Cass County, ND179269$7.8M
outflow1819Hennepin County, MN125175$5.1M
inflow1819Foreign - APO/FPO ZIPs, FR92183$3.9M
outflow1819Other flows - Northeast, DS68108$3.2M
outflow1819Burleigh County, ND67103$4.1M
inflow1819Walsh County, ND6099$4.0M
inflow1819Other flows - Northeast, DS6097$4.4M
outflow1819Maricopa County, AZ59101$5.9M
outflow1819Traill County, ND55100$2.7M
inflow1819Ward County, ND4373$2.5M
outflow1819Foreign - APO/FPO ZIPs, FR4387$2.0M
inflow1819Burleigh County, ND4159$1.2M
outflow1819Ramsey County, MN3858$1.7M
inflow1819Hennepin County, MN3748$1.2M
inflow1819Maricopa County, AZ3666$1.5M

UAD APPRAISALS

FHFA Uniform Appraisal Dataset aggregates for Grand Forks County.

FHFA UAD aggregate statistics (uad_aggregate_county, geoid) and appraisal-level public use file (uad_puf, county_fips)

2023PurchaseNo CharacteristicAll Appraisals380.0
2023PurchaseNo CharacteristicAll Appraisals0.1
2023RefinanceNo CharacteristicAll Appraisals61.0
2023PurchaseNo CharacteristicAll Appraisals1.0
2023BothNo CharacteristicAll Appraisals441.0
2023PurchaseNo CharacteristicAll Appraisals0.8
2023PurchaseNo CharacteristicAll Appraisals1.0
2023RefinanceNo CharacteristicAll Appraisals282,000.0
2023BothNo CharacteristicAll Appraisals269,000.0
2023PurchaseNo CharacteristicAll Appraisals266,500.0
2023PurchaseNo CharacteristicAll Appraisals0.1
2022PurchaseNo CharacteristicAll Appraisals1.0
2022BothNo CharacteristicAll Appraisals270,000.0
2022PurchaseNo CharacteristicAll Appraisals0.2
2022PurchaseNo CharacteristicAll Appraisals265,000.0
2022PurchaseNo CharacteristicAll Appraisals1.0
2022RefinanceNo CharacteristicAll Appraisals128.0
2022PurchaseNo CharacteristicAll Appraisals0.1
2022PurchaseNo CharacteristicAll Appraisals0.7
2022RefinanceNo CharacteristicAll Appraisals292,800.0
2022BothNo CharacteristicAll Appraisals659.0
2022PurchaseNo CharacteristicAll Appraisals531.0
2021PurchaseNo CharacteristicAll Appraisals1.0
2021RefinanceNo CharacteristicAll Appraisals268,000.0
2021BothNo CharacteristicAll Appraisals1,000.0
2021PurchaseNo CharacteristicAll Appraisals1.0
2021PurchaseNo CharacteristicAll Appraisals605.0
2021PurchaseNo CharacteristicAll Appraisals0.2
2021RefinanceNo CharacteristicAll Appraisals395.0
2021PurchaseNo CharacteristicAll Appraisals0.1
2021BothNo CharacteristicAll Appraisals253,000.0
2021PurchaseNo CharacteristicAll Appraisals0.7
2021PurchaseNo CharacteristicAll Appraisals246,000.0
2020PurchaseNo CharacteristicAll Appraisals0.1
2020PurchaseNo CharacteristicAll Appraisals1.0
2020BothNo CharacteristicAll Appraisals1,145.0
2020PurchaseNo CharacteristicAll Appraisals521.0
2020PurchaseNo CharacteristicAll Appraisals0.7
2020BothNo CharacteristicAll Appraisals264,000.0
2020RefinanceNo CharacteristicAll Appraisals286,500.0
2020RefinanceNo CharacteristicAll Appraisals624.0
2020PurchaseNo CharacteristicAll Appraisals234,000.0
2020PurchaseNo CharacteristicAll Appraisals1.0
2020PurchaseNo CharacteristicAll Appraisals0.2
2019PurchaseNo CharacteristicAll Appraisals0.1
2019PurchaseNo CharacteristicAll Appraisals1.0
2019BothNo CharacteristicAll Appraisals251,000.0
2019PurchaseNo CharacteristicAll Appraisals528.0
2019PurchaseNo CharacteristicAll Appraisals0.2
2019PurchaseNo CharacteristicAll Appraisals1.0
2019RefinanceNo CharacteristicAll Appraisals275,000.0
2019BothNo CharacteristicAll Appraisals828.0
2019RefinanceNo CharacteristicAll Appraisals300.0
2019PurchaseNo CharacteristicAll Appraisals237,500.0
2019PurchaseNo CharacteristicAll Appraisals0.7
2018RefinanceNo CharacteristicAll Appraisals240,000.0
2018BothNo CharacteristicAll Appraisals687.0
2018PurchaseNo CharacteristicAll Appraisals479.0
2018RefinanceNo CharacteristicAll Appraisals208.0
2018BothNo CharacteristicAll Appraisals240,000.0
2018PurchaseNo CharacteristicAll Appraisals240,000.0
2018PurchaseNo CharacteristicAll Appraisals0.7
2018PurchaseNo CharacteristicAll Appraisals0.1
2018PurchaseNo CharacteristicAll Appraisals0.2
2018PurchaseNo CharacteristicAll Appraisals1.0
2018PurchaseNo CharacteristicAll Appraisals1.0
2017RefinanceNo CharacteristicAll Appraisals230,000.0
2017PurchaseNo CharacteristicAll Appraisals1.0
2017PurchaseNo CharacteristicAll Appraisals1.0
2017PurchaseNo CharacteristicAll Appraisals0.2
2017PurchaseNo CharacteristicAll Appraisals0.1
2017BothNo CharacteristicAll Appraisals687.0
2017PurchaseNo CharacteristicAll Appraisals385.0
2017PurchaseNo CharacteristicAll Appraisals247,500.0
2017RefinanceNo CharacteristicAll Appraisals302.0
2017PurchaseNo CharacteristicAll Appraisals0.7
2017BothNo CharacteristicAll Appraisals239,000.0
2016PurchaseNo CharacteristicAll Appraisals499.0
2016RefinanceNo CharacteristicAll Appraisals250,000.0
2016PurchaseNo CharacteristicAll Appraisals1.0
2016PurchaseNo CharacteristicAll Appraisals255,000.0
2016PurchaseNo CharacteristicAll Appraisals0.7
2016PurchaseNo CharacteristicAll Appraisals0.2
2016BothNo CharacteristicAll Appraisals254,000.0
2016PurchaseNo CharacteristicAll Appraisals1.0
2016PurchaseNo CharacteristicAll Appraisals0.2
2016BothNo CharacteristicAll Appraisals921.0
2016RefinanceNo CharacteristicAll Appraisals422.0
2015PurchaseNo CharacteristicAll Appraisals1.0
2015PurchaseNo CharacteristicAll Appraisals232,000.0
2015PurchaseNo CharacteristicAll Appraisals0.2
2015RefinanceNo CharacteristicAll Appraisals245,000.0
2015BothNo CharacteristicAll Appraisals820.0
2015RefinanceNo CharacteristicAll Appraisals359.0
2015PurchaseNo CharacteristicAll Appraisals0.2
2015PurchaseNo CharacteristicAll Appraisals0.6
2015PurchaseNo CharacteristicAll Appraisals461.0
2015BothNo CharacteristicAll Appraisals236,500.0
2015PurchaseNo CharacteristicAll Appraisals1.0
2014BothNo CharacteristicAll Appraisals218,000.0

ECONOMY & INCOME

Local economy indicators — BLS unemployment rates and BEA personal income for Grand Forks County.

BLS Local Area Unemployment Statistics (bls_laus_county_month, geoid) and BEA personal income (bea_county_income, geo_fips)

BLS Local Area Unemployment

2026-0541,34240,6736691.6%
2026-0441,27240,5147581.8%
2026-0341,70840,7669422.3%
2026-0241,76140,7649972.4%
2026-0141,38240,2811,1012.7%
2025-1241,18440,3348502.1%
2025-1141,49040,6648262.0%
2025-0941,38340,5738102.0%
2025-0840,89039,9869042.2%
2025-0741,13940,2438962.2%
2025-0641,03139,9521,0792.6%
2025-0540,83439,9818532.1%
2025-0441,01440,0629522.3%
2025-0341,29140,1291,1622.8%
2025-0241,27640,1621,1142.7%
2025-0140,68739,5921,0952.7%
2024-1240,42639,5368902.2%
2024-1140,43339,6377962.0%
2024-1040,67339,9886851.7%
2024-0940,75040,0507001.7%
2024-0840,44939,5768732.2%
2024-0740,75639,8828742.1%
2024-0640,48639,4311,0552.6%
2024-0540,18539,4277581.9%
2024-0440,35239,5258272.0%
2024-0340,31639,3151,0012.5%
2024-0239,95939,0269332.3%
2024-0139,95139,0778742.2%
2023-1239,48238,7707121.8%
2023-1139,51538,9235921.5%
2023-1039,89939,3015981.5%
2023-0939,61138,9956161.6%
2023-0839,48838,7767121.8%
2023-0739,91639,2316851.7%
2023-0639,58038,7068742.2%
2023-0539,24338,5716721.7%
2023-0439,26838,5497191.8%
2023-0339,37738,5078702.2%
2023-0239,18538,2908952.3%
2023-0139,14038,3008402.1%
2022-1238,30137,6106911.8%
2022-1138,74538,1485971.5%
2022-1038,80038,2705301.4%
2022-0938,62838,0685601.4%
2022-0838,67937,9427371.9%
2022-0739,09938,3967031.8%
2022-0638,97738,0918862.3%
2022-0538,82438,1666581.7%
2022-0438,69237,9657271.9%
2022-0338,78937,8849052.3%
2022-0238,76037,8958652.2%
2022-0138,53637,6149222.4%
2021-1238,00537,2757301.9%
2021-1138,43937,7906491.7%
2021-1038,54437,9096351.6%
2021-0938,50237,7737291.9%
2021-0838,36137,4738882.3%
2021-0738,83337,8369972.6%
2021-0638,80137,4521,3493.5%
2021-0538,35837,3221,0362.7%
2021-0438,26137,0651,1963.1%
2021-0338,15936,8301,3293.5%
2021-0238,55437,0871,4673.8%
2021-0137,82736,3801,4473.8%
2020-1237,69936,2701,4293.8%
2020-1138,10336,8461,2573.3%
2020-1039,04037,9151,1252.9%
2020-0938,23036,8651,3653.6%
2020-0839,03537,3131,7224.4%
2020-0738,72536,5942,1315.5%
2020-0638,70436,1542,5506.6%
2020-0538,11135,2482,8637.5%
2020-0437,41934,2743,1458.4%
2020-0338,27837,2471,0312.7%
2020-0238,88338,0907932.0%
2020-0138,46337,6558082.1%
2019-1238,75238,1316211.6%
2019-1139,45738,9095481.4%
2019-1039,63039,1584721.2%
2019-0939,39838,8585401.4%
2019-0839,54938,8726771.7%
2019-0739,67038,9197511.9%
2019-0639,59438,6829122.3%
2019-0539,28838,6146741.7%
2019-0439,15438,3637912.0%
2019-0339,55038,6129382.4%
2019-0239,35538,4499062.3%
2019-0139,29638,3259712.5%
2018-1239,19138,4447471.9%
2018-1139,22338,6226011.5%
2018-1039,42238,9065161.3%
2018-0939,21438,5956191.6%
2018-0839,53838,7477912.0%
2018-0740,00839,2088002.0%
2018-0640,09839,1189802.4%
2018-0539,97539,2906851.7%
2018-0440,15539,2539022.2%
2018-0340,42239,3931,0292.5%
2018-0240,55839,5341,0242.5%
2018-0140,26139,2221,0392.6%

BEA Personal Income

2024$4.90B73,771$66K
2023$4.73B73,198$65K
2022$4.45B72,103$62K
2021$4.28B72,409$59K
2020$4.01B73,132$55K
2019$3.70B73,019$51K
2018$3.61B73,661$49K
2017$3.44B73,347$47K
2016$3.36B72,929$46K
2015$3.32B72,348$46K
2014$3.24B71,404$45K
2013$3.08B70,375$44K
2012$3.05B68,466$45K
2011$2.76B67,103$41K
2010$2.57B67,085$38K
2009$2.44B66,518$37K
2008$2.45B66,917$37K
2007$2.30B66,333$35K
2006$2.16B67,096$32K
2005$2.04B66,629$31K
2004$1.95B67,071$29K
2003$1.89B65,287$29K
2002$1.79B65,409$27K
2001$1.68B65,567$26K
2000$1.64B66,021$25K
1999$1.58B66,625$24K
1998$1.60B68,513$23K
1997$1.53B71,369$21K
1996$1.50B72,707$21K
1995$1.43B72,941$20K
1994$1.40B72,808$19K
1993$1.29B71,660$18K
1992$1.27B71,478$18K
1991$17K

NFIP FLOOD CLAIMS

FEMA National Flood Insurance Program (NFIP) realised flood loss claims in Grand Forks County.

FEMA NFIP redacted claims (nfip_claim, county_code)

2022-05-05$7K$7K$0No
2022-05-04$8K$8K$0Yes
2022-04-23$865.49$865.49$0Yes
2022-04-23$5K$5K$0Yes
2022-04-23$1K$1K$0No
2022-04-23$0Yes
2022-04-22$14K$14K$0Yes
2021-07-03$0$0$0Yes
2020-07-10$6K$6K$0Yes
2020-07-05$28K$28K$0Yes
2020-07-04$4K$4K$0Yes
2020-07-04$1K$1K$0Yes
2020-07-02$10K$9K$721.84Yes
2020-07-01$862.81$862.81$0Yes
2020-07-01$0$0$0Yes
2020-07-01$7K$7K$0Yes
2020-07-01$0$0$0No
2020-06-30$2K$2K$0No
2020-06-30$593.52$593.52$0Yes
2020-06-30$0$0$0Yes
2020-06-30$0$0$0Yes
2020-05-11$1K$1K$0Yes
2020-04-20$1K$1K$0No
2020-04-10$10K$10K$0Yes
2020-04-10$23K$20K$3KNo
2020-04-08$7K$7K$0Yes
2020-03-31$2K$2K$0Yes
2019-10-23$0No
2019-10-19$0$0$0Yes
2019-10-17$655.43$655.43$0Yes
2019-10-14$0$0$0Yes
2019-10-14$3K$3K$0Yes
2019-10-13$0Yes
2019-10-13$2K$2K$0Yes
2019-10-12$0$0$0Yes
2019-10-11$3K$3K$0Yes
2019-10-11$18K$15K$3KYes
2019-10-11$219.14$219.14$0Yes
2019-10-03$888.26$888.26$0Yes
2019-09-22$2K$2K$0Yes
2019-09-21$0$0$0Yes
2019-09-21$2K$2K$0Yes
2019-09-21$8K$8K$0No
2019-09-21$1K$1K$0Yes
2019-09-21$2K$2K$0Yes
2019-09-21$1K$1K$0Yes
2019-09-21$4K$4K$0Yes
2019-09-21$9K$9K$0No
2019-09-21$3K$3K$0Yes
2019-09-21$0Yes
2019-09-21$2K$2K$0Yes
2019-09-21$16K$15K$904.15Yes
2019-09-21$0Yes
2019-09-21$12K$12K$0No
2019-09-21$11K$11K$0Yes
2019-09-21$3K$3K$0Yes
2019-09-21$4K$4K$0Yes
2019-09-21$1K$1K$0Yes
2019-09-21$18K$18K$0No
2019-09-21$0Yes
2019-09-21$2K$2K$0Yes
2019-09-21$0Yes
2019-09-21$28K$20K$8KYes
2019-09-21$3K$3K$0Yes
2019-09-21$4K$4K$0Yes
2019-09-21$0Yes
2019-09-21$4K$4K$0Yes
2019-09-21$2K$2K$0Yes
2019-09-21$1K$0$1KYes
2019-09-21$2K$2K$0Yes
2019-09-21$3K$3K$0Yes
2019-09-20$0No
2019-09-20$6K$6K$0Yes
2019-09-20$651.48$651.48$0No
2019-09-20$1K$1K$0Yes
2019-09-20$4K$4K$0Yes
2019-09-20$1K$1K$0No
2019-09-20$2K$2K$0Yes
2019-09-20$10K$10K$0No
2019-09-20$4K$4K$0Yes
2019-09-20$6K$6K$0Yes
2019-09-20$492.43$492.43$0Yes
2019-09-20$1K$1K$0Yes
2019-09-20$0Yes
2019-09-20$22K$20K$1KYes
2019-09-20$10K$10K$0Yes
2019-09-20$2K$2K$0Yes
2019-09-20$862.07$862.07$0Yes
2019-09-20$1K$1K$0Yes
2019-09-20$10K$9K$1KYes
2019-09-20$4K$4K$0Yes
2019-09-20$4K$4K$0Yes
2019-09-14$2K$2K$0Yes
2019-04-25$0Yes
2019-04-24$1K$1K$0No
2019-04-14$0No
2019-04-08$10K$10K$0Yes
2019-04-06$385.65$385.65$0Yes
2018-07-30$0No
2018-06-11$0Yes

ALSO CHECKED

18 more data areas were checked for Grand Forks County and did not earn a tab. A missing tab and an unasked question look the same on screen, so each one is named with the reason it is missing.

  • WRONG GRAIN
    FHA

    FHA Neighborhood Watch DOES publish county rows, but keys them on a free-text county NAME (“CHITTENDEN|VT”), not a FIPS code, and the single-family endorsement snapshot's property_county is likewise free text. Joining either to a county FIPS by name would attribute one county's delinquency to another wherever a name repeats, so FHA is a state-grain tab only until a curated name→FIPS crosswalk exists

  • WRONG GRAIN
    Fannie / Freddie

    the FHFA public-use database publishes single-family acquisitions at STATE and CENSUS-TRACT grain; no county rollup is published or loaded, and rolling tracts up to counties would double-count the tracts that straddle a county line

  • WRONG GRAIN
    GSE credit-risk transfer

    CAS and STACR loan-level disclosures publish PROPERTY STATE and a 3-digit zip; neither carries a county code, so credit-risk-transfer collateral cannot be attributed to a county

  • WRONG GRAIN
    Ginnie Mae

    Ginnie Mae's loan-level disclosure publishes PROPERTY STATE and nothing finer — there is no county, ZIP or tract field in the file, so agency-pool collateral has no county grain at all. The same is true of the UMBS pool file (fhfa_mbs_pool), which carries only CA/NY/FL/TX/PR concentration percentages

  • WRONG GRAIN
    Housing finance agency

    a housing finance agency is a STATE-chartered body — county is not a grain it has. Its programmes reach counties, but the agency itself is one row per state: hfa_agency is keyed on state_code and carries no county column, and there is no county-level agency underneath it to aggregate from

  • WRONG GRAIN
    CUSO network

    the NCUA CUSO Registry publishes a CUSO's city and STATE and no county at all (cuso_registry, migration 0195). A county FIPS does exist on the member-credit-union side (cuso_credit_union_link.cu_county_fips), but it is the CREDIT UNION'S CHARTER ADDRESS — where the institution is registered, not where the mortgage service it buys is delivered — so a county tab built on it would pin a statewide, often multi-state, service relationship onto the one county a charter document happens to name

  • WRONG GRAIN
    Subservicing map

    the same absence, one grain finer: subservicing_relationships holds no property or collateral column at all, so there is nothing to aggregate to a county. Where a client is a state HFA, the state housing finance agency area on this hub carries that agency and its named master servicer at its own state grain

  • WRONG GRAIN
    Co-issue MSR

    the same absence, and worse at county grain: Ginnie's loan-level disclosure publishes property STATE and nothing finer — no county, ZIP or tract field exists in the file — so even the collateral split that is rejected above at state grain is not available here at all

  • WRONG GRAIN
    MSR transfer graph

    the same absence at a finer grain, with no additional route to one: ginnie_servicing_transfers has no county column and the Ginnie loan-level disclosure it would have to be joined to publishes property state and nothing finer — no county, ZIP or tract field exists in either file

  • WRONG GRAIN
    Builder & realtor JV

    the same absence, one grain finer: the affiliation corpus has no geographic column at all, so nothing can be aggregated to a county. The affiliate lender's actual county-level originations are on the HMDA area of the county hub, keyed on the lender rather than on its parent

  • WRONG GRAIN
    Non-QM deal calendar

    the same structural gap, one grain finer: a 144A non-QM deal publishes no asset-level file at all, so there is no loan, no property and therefore no county to attribute anything to. This is the one absence on this hub that no future load can close

  • WRONG GRAIN
    Agency-MBS demand

    the same absence, and Ginnie's disclosure has no county field at any grain, so even the collateral allocation that is rejected above at state grain cannot be computed here

  • WRONG GRAIN
    Complaints-rate stack

    the same broken denominator, plus a numerator that does not reach county either: the CFPB publishes a complaint's state and a partially redacted ZIP and no county, so neither half of this ratio exists at county grain

  • WRONG GRAIN
    NMLS licensing

    NMLS licences are issued by a STATE regulator and the industry report is published by state agency and quarter; there is no county in the licensing system to aggregate to

  • WRONG GRAIN
    CFPB complaints

    the CFPB publishes a complaint's STATE and a partially redacted ZIP; it publishes no county, and deriving one from a redacted ZIP would put complaints in the wrong county wherever a ZIP straddles a county line

  • WRONG GRAIN
    State enforcement

    enforcement orders are issued by a STATE regulator against a licensee; they carry no property or county

  • WRONG GRAIN
    WARN notices

    a WARN notice names an employer, a CITY and a region — no county code — and matching city to county by name is ambiguous in most states

  • WRONG GRAIN
    Mortgage employment

    the QCEW extract loaded here holds STATE and METRO area types only — the county-level QCEW file is a separate, far larger download that is not loaded, so county mortgage employment cannot be shown honestly

Several of the areas above are published only at state grain. They are all on the ND state hub, which carries the same registry at the grain those sources actually have.

Go deeper

EVERY HMDA RECORD IN GRAND FORKS COUNTYOpens the loan explorer already filtered to county FIPS 38035.

See the North Dakota state market profile for the statewide picture, the North Dakota state hub for every dataset we hold on the state in one place, or the national lender leaderboard for who is largest across every market.

Sources: HMDA public loan-level disclosure (CFPB/FFIEC) aggregated to county-year; U.S. Census Bureau American Community Survey; FEMA National Risk Index and disaster declarations. Figures are as loaded — see data attribution.

Fair-lending context: denial rates and demographic figures shown here are descriptive statistics derived from public HMDA and U.S. Census data. HMDA does not contain the credit, income, or underwriting variables that explain most lending outcomes, so a difference between lenders or areas is a statistical observation about published data — not evidence of, and not a determination of, discrimination or redlining by any institution.