Skip to main content
MortRadarTERMINAL
State markets/California/Contra Costa County

COUNTY MORTGAGE MARKET · FIPS 06013

Contra Costa County, California

Who lends in Contra Costa 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

$12.40B

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

Originations · 2025

19,933

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

Denial rate · 2025

16.5%

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

Lenders active · 2025

523

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 523 lenders that originated in Contra Costa County in 2025. HHI is the Herfindahl-Hirschman index over lender shares.

Concentration (HHI)

275

unconcentrated

Top-5 lender share

29.6%

of originations

Purchase

55.0%

8,859 loans

Refinance

45.0%

7,238 loans

Origination trend

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

Lenders in Contra Costa 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 Contra Costa 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 CONTRA COSTA COUNTY

TOP TEN LENDERS IN CONTRA COSTA 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.

1,816$1.10B$1.10B originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
1,644$828.9M$828.9M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
951$607.2M$607.2M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
681$573.5M$573.5M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
748$563.7M$563.7M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
483$537.1M$537.1M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
483$501.7M$501.7M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
290$319.4M$319.4M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
394$271.3M$271.3M originated in Contra Costa County, 2025Share needs a county-wide denominator, which the narrower fallback source does not carry.
5$253.1M$253.1M originated in Contra Costa 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 Contra Costa County

All 49 ZIP Code Tabulation Areas that touch Contra Costa 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.
49 OF 49 ZIP AREASEVERY ZIP AREA TOUCHING THE COUNTY — NO ROWS WITHHELD
TOP LENDERRECORDS
2121 of the 25 Contra Costa County tracts this ZIP area touches sit mostly inside it.102,54384.6%16,921TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1414 of the 21 Contra Costa County tracts this ZIP area touches sit mostly inside it.76,89954.1%19,252TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1212 of the 15 Contra Costa County tracts this ZIP area touches sit mostly inside it.65,49874.7%11,261TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1414 of the 17 Contra Costa County tracts this ZIP area touches sit mostly inside it.61,23744.4%16,039TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1212 of the 17 Contra Costa County tracts this ZIP area touches sit mostly inside it.58,01189.0%8,171TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1010 of the 13 Contra Costa County tracts this ZIP area touches sit mostly inside it.50,94749.1%13,047TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
99 of the 12 Contra Costa County tracts this ZIP area touches sit mostly inside it.48,86378.1%9,379TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
88 of the 12 Contra Costa County tracts this ZIP area touches sit mostly inside it.48,24483.5%7,642TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
88 of the 11 Contra Costa County tracts this ZIP area touches sit mostly inside it.46,27076.5%10,073TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
77 of the 12 Contra Costa County tracts this ZIP area touches sit mostly inside it.40,59261.4%8,525TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
88 of the 9 Contra Costa County tracts this ZIP area touches sit mostly inside it.40,16889.2%5,583TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
99 of the 14 Contra Costa County tracts this ZIP area touches sit mostly inside it.39,04748.0%10,414TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
99 of the 16 Contra Costa County tracts this ZIP area touches sit mostly inside it.38,75673.1%5,198TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
88 of the 11 Contra Costa County tracts this ZIP area touches sit mostly inside it.36,49934.3%10,940TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
77 of the 11 Contra Costa County tracts this ZIP area touches sit mostly inside it.29,10850.1%7,788TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
66 of the 11 Contra Costa County tracts this ZIP area touches sit mostly inside it.28,72138.2%7,387TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 13 Contra Costa County tracts this ZIP area touches sit mostly inside it.28,39330.5%7,848TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 7 Contra Costa County tracts this ZIP area touches sit mostly inside it.27,46352.1%8,486TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 7 Contra Costa County tracts this ZIP area touches sit mostly inside it.26,70570.4%6,743TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
1010 of the 12 Contra Costa County tracts this ZIP area touches sit mostly inside it.26,40855.6%6,077TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 7 Contra Costa County tracts this ZIP area touches sit mostly inside it.22,85885.8%6,361TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 9 Contra Costa County tracts this ZIP area touches sit mostly inside it.22,63242.4%4,880TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
66 of the 6 Contra Costa County tracts this ZIP area touches sit mostly inside it.21,26625.9%8,850TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
33 of the 6 Contra Costa County tracts this ZIP area touches sit mostly inside it.20,64351.0%5,543TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
44 of the 10 Contra Costa County tracts this ZIP area touches sit mostly inside it.20,63728.4%6,524TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
55 of the 8 Contra Costa County tracts this ZIP area touches sit mostly inside it.20,43039.0%3,327TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
44 of the 9 Contra Costa County tracts this ZIP area touches sit mostly inside it.17,72431.6%5,966TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
33 of the 8 Contra Costa County tracts this ZIP area touches sit mostly inside it.16,89570.6%4,215TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
33 of the 7 Contra Costa County tracts this ZIP area touches sit mostly inside it.15,33439.0%4,147TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
33 of the 7 Contra Costa County tracts this ZIP area touches sit mostly inside it.12,99531.5%4,098TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
33 of the 10 Contra Costa County tracts this ZIP area touches sit mostly inside it.11,90967.4%3,194TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
22 of the 3 Contra Costa County tracts this ZIP area touches sit mostly inside it.10,14574.9%1,995TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
22 of the 5 Contra Costa County tracts this ZIP area touches sit mostly inside it.7,17126.7%2,586TRACTS →HMDA reports no ZIP. This opens the ZIP area's tract list, where each tract's records open exactly.
11 of the 1 Contra Costa County tract this ZIP area touches sit mostly inside it.5,63635.9%1,993OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 1 Contra Costa County tract this ZIP area touches sit mostly inside it.5,51446.8%1,346OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 6 Contra Costa County tracts this ZIP area touches sit mostly inside it.4,07721.2%1,397OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 3 Contra Costa County tracts this ZIP area touches sit mostly inside it.2,73731.4%849OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 2 Contra Costa County tracts this ZIP area touches sit mostly inside it.2,60932.6%880OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 1 Contra Costa County tract this ZIP area touches sit mostly inside it.2,55929.5%941OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
11 of the 2 Contra Costa County tracts this ZIP area touches sit mostly inside it.1,29354.8%372OPEN →This ZIP area is one census tract here, so its records open directly and exactly.
0This ZIP area clips 1 tract of Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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 Contra Costa 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.

242 of Contra Costa County’s 242 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 Contra Costa County

All 242 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.

242 OF 242 TRACTSEVERY TRACT IN THE COUNTY — NO ROWS WITHHELD
TOP LENDERRECORDS
Middle88.7%5,51446.8%OPEN →
Moderate70.4%7,13461.3%OPEN →
Middle86.8%4,03256.9%OPEN →
Moderate71.5%7,41264.0%OPEN →
Middle97.1%7,81782.3%OPEN →
Moderate76.0%5,40172.3%OPEN →
Upper127.2%5,34863.1%OPEN →
Middle107.2%3,35952.9%OPEN →
Middle102.7%7,90656.3%OPEN →
Middle113.9%7,20661.0%OPEN →
Moderate77.4%3,35668.4%OPEN →
Moderate71.9%7,02161.3%OPEN →
Middle84.7%6,96659.4%OPEN →
Upper120.3%9,12552.6%OPEN →
Middle92.2%4,86051.7%OPEN →
Middle102.7%4,70053.6%OPEN →
Moderate74.8%6,60081.2%OPEN →
Middle97.4%3,95540.3%OPEN →
Middle99.1%5,40365.6%OPEN →
Middle87.1%3,81527.8%OPEN →
Middle118.6%4,95851.5%OPEN →
Upper148.4%5,74844.9%OPEN →
Moderate68.1%1,29354.8%OPEN →
Middle109.0%3,55026.2%OPEN →
Middle98.7%3,62127.2%OPEN →
Upper144.4%3,98747.3%OPEN →
Middle104.4%4,70644.5%OPEN →
Low36.1%7,06477.5%OPEN →
Moderate51.4%3,67868.5%OPEN →
Moderate66.2%5,61574.0%OPEN →
Moderate60.6%3,66770.5%OPEN →
Moderate74.9%4,55465.6%OPEN →
Moderate54.5%5,82478.5%OPEN →
Low49.6%3,79480.9%OPEN →
Low28.6%4,35590.6%OPEN →
Moderate68.4%4,52673.0%OPEN →
Low35.0%7,48477.6%OPEN →
Moderate60.5%7,77066.8%OPEN →
Middle91.5%5,28976.4%OPEN →
Moderate52.4%3,69980.9%OPEN →
Moderate52.0%6,10689.4%OPEN →
Moderate55.4%5,66891.9%OPEN →
Low45.1%2,97490.3%OPEN →
Moderate60.2%4,58179.6%OPEN →
Low39.7%2,68578.9%OPEN →
Moderate58.7%6,55984.7%OPEN →
Middle105.9%5,87980.6%OPEN →
Middle90.4%3,07172.6%OPEN →
Middle93.8%3,35475.0%OPEN →
Moderate68.3%5,70478.0%OPEN →
Moderate76.7%1,82283.5%OPEN →
Moderate51.3%6,34290.0%OPEN →
Moderate59.4%6,81287.0%OPEN →
Moderate54.4%5,51389.0%OPEN →
Low44.2%4,54088.5%OPEN →
Moderate54.5%3,74486.4%OPEN →
Low40.8%7,16887.8%OPEN →
Moderate72.5%3,43469.1%OPEN →
Low31.6%1,60557.9%OPEN →
Moderate72.5%2,07833.2%OPEN →
Middle88.0%3,44236.4%OPEN →
Upper120.9%4,09343.9%OPEN →
Middle85.2%4,17937.9%OPEN →
Moderate72.3%3,62652.5%OPEN →
Middle111.5%2,80140.3%OPEN →
Middle104.2%7,03847.3%OPEN →
Middle107.5%6,49838.4%OPEN →
Middle119.5%6,82637.4%OPEN →
Middle112.8%4,77931.4%OPEN →
Moderate79.1%5,58954.2%OPEN →
Upper141.9%6,52839.5%OPEN →
Middle107.3%4,62233.8%OPEN →
Middle101.9%5,51948.9%OPEN →
Moderate78.1%3,12355.3%OPEN →
Upper129.3%2,81146.4%OPEN →
Middle119.7%5,73332.0%OPEN →
Middle117.6%3,50828.3%OPEN →
Moderate61.7%3,44860.5%OPEN →
Middle87.7%4,27663.4%OPEN →
Moderate53.0%2,41157.1%OPEN →
Moderate77.6%6,57958.9%OPEN →
Middle90.0%5,58753.4%OPEN →
Moderate77.1%7,33753.4%OPEN →
Middle96.6%7,71947.1%OPEN →
Middle95.2%4,21247.1%OPEN →
Middle91.7%4,09047.5%OPEN →
Middle103.8%5,96145.7%OPEN →
Middle86.2%3,99149.9%OPEN →
Middle111.4%4,88047.5%OPEN →
Moderate77.9%3,86751.8%OPEN →
Middle93.7%4,11456.4%OPEN →
Upper147.7%7,19428.8%OPEN →
Middle94.1%3,46348.5%OPEN →
Moderate66.3%4,80886.2%OPEN →
Low44.0%4,13183.3%OPEN →
Low47.3%3,32184.9%OPEN →
Moderate78.5%4,06273.7%OPEN →
Low45.4%5,72085.4%OPEN →
Middle109.1%3,23847.1%OPEN →
Moderate65.9%2,60257.4%OPEN →
Moderate61.4%4,99949.6%OPEN →
Middle113.6%6,14737.5%OPEN →
Moderate61.9%5,16171.3%OPEN →
Upper131.7%3,49840.5%OPEN →
Upper172.4%3,81438.3%OPEN →
Upper140.3%5,37948.5%OPEN →
Middle108.6%6,23440.3%OPEN →
Upper147.9%3,06334.9%OPEN →
Upper167.1%5,98134.4%OPEN →
Moderate69.6%3,66350.3%OPEN →
Middle93.0%4,06541.8%OPEN →
Upper127.3%3,59845.3%OPEN →
Moderate75.5%6,41943.0%OPEN →
Upper138.1%3,64431.8%OPEN →
Upper150.9%4,06732.9%OPEN →
Upper154.2%5,37431.6%OPEN →
Middle119.3%5,05934.1%OPEN →
Upper142.1%4,64030.9%OPEN →
Upper149.2%4,04526.7%OPEN →
Upper151.3%6,26456.0%OPEN →
Upper133.5%4,22649.8%OPEN →
Upper154.0%5,27049.7%OPEN →
Upper143.6%6,48433.3%OPEN →
Upper124.6%5,99068.8%OPEN →
Upper149.3%8,83072.8%OPEN →
Upper190.1%4,62745.0%OPEN →
Upper142.7%6,59126.0%OPEN →
Upper180.8%6,30959.1%OPEN →
Upper161.3%2,98250.1%OPEN →
Upper202.2%4,18260.0%OPEN →
Upper132.1%4,14150.6%OPEN →
Upper170.3%6,96624.3%OPEN →
Upper202.7%3,66918.9%OPEN →
Upper123.6%5,77559.8%OPEN →
Middle116.6%3,49646.1%OPEN →
Upper161.2%3,55529.2%OPEN →
Upper202.7%5,74829.3%OPEN →
Upper156.8%3,96623.4%OPEN →
Upper202.7%7,33432.3%OPEN →
Upper157.8%4,07721.2%OPEN →
Upper202.7%3,59629.4%OPEN →
Upper158.6%6,23030.5%OPEN →
Upper196.5%4,83527.5%OPEN →
Upper134.8%5,15131.9%OPEN →
Upper175.6%6,22434.9%OPEN →
Middle82.3%2,89818.5%OPEN →
Moderate78.7%2,11321.5%OPEN →
Moderate72.5%1,96420.9%OPEN →
Low45.5%1,72320.3%OPEN →
Upper202.7%5,95327.4%OPEN →
Upper180.0%3,34440.9%OPEN →
Upper175.8%5,72436.5%OPEN →
Upper141.0%6,26640.3%OPEN →
Upper142.1%2,55929.5%OPEN →
Upper202.7%4,25637.8%OPEN →
Upper202.7%4,31032.0%OPEN →
Upper159.4%1,95831.8%OPEN →
Upper202.7%7,20027.8%OPEN →
Middle107.7%5,79366.8%OPEN →
Middle87.4%7,16774.3%OPEN →
Moderate79.3%4,43482.7%OPEN →
Middle100.8%6,68580.0%OPEN →
Upper134.1%5,63635.9%OPEN →
Upper175.1%5,00047.1%OPEN →
Upper134.6%10,24282.7%OPEN →
Middle102.6%4,30280.5%OPEN →
Middle114.9%4,78881.9%OPEN →
Moderate75.7%4,24880.0%OPEN →
Upper175.1%7,05374.2%OPEN →
Upper202.7%5,00659.6%OPEN →
Upper202.7%2,95792.8%OPEN →
Upper202.7%4,60490.7%OPEN →
Upper195.1%4,26188.1%OPEN →
Upper202.7%5,49682.1%OPEN →
Middle116.8%9,19986.2%OPEN →
Middle90.7%3,68987.0%OPEN →
Upper202.7%3,46436.1%OPEN →
Upper125.2%5,00026.2%OPEN →
Middle116.6%4,44538.6%OPEN →
Upper130.7%3,55029.9%OPEN →
Upper171.3%4,73543.8%OPEN →
Middle85.0%3,19743.1%OPEN →
Middle92.2%3,90879.8%OPEN →
Upper124.5%5,48168.4%OPEN →
Middle84.1%3,20239.2%OPEN →
Moderate56.1%6,23771.8%OPEN →
Middle85.1%5,49679.3%OPEN →
Middle90.8%5,26972.5%OPEN →
Moderate66.6%2,11682.0%OPEN →
Middle114.3%5,27684.2%OPEN →
Middle97.9%6,13061.1%OPEN →
Middle95.5%7,01383.9%OPEN →
Middle106.0%4,71186.5%OPEN →
Middle105.5%4,85564.8%OPEN →
Middle108.5%4,38167.3%OPEN →
Middle82.2%5,09471.3%OPEN →
Middle86.6%4,76371.2%OPEN →
Middle108.6%2,96148.6%OPEN →
Moderate69.9%7,61274.8%OPEN →
Middle83.0%5,86878.9%OPEN →
Low47.1%6,08595.8%OPEN →
Moderate69.1%5,21587.3%OPEN →
Moderate60.6%4,59493.2%OPEN →
Low49.1%6,52593.7%OPEN →
Moderate56.1%5,94192.2%OPEN →
Moderate66.6%5,75492.8%OPEN →
Moderate53.2%5,46795.5%OPEN →
Moderate50.1%4,14895.1%OPEN →
Moderate52.5%6,77188.9%OPEN →
Moderate66.1%2,83973.1%OPEN →
Middle83.5%2,95361.7%OPEN →
Moderate68.8%5,99579.5%OPEN →
Moderate59.6%8,00987.3%OPEN →
Moderate51.0%4,71195.4%OPEN →
Moderate60.0%4,99481.8%OPEN →
Moderate52.6%4,86996.2%OPEN →
Low47.0%6,94196.3%OPEN →
Low41.2%7,72591.7%OPEN →
Upper143.6%3,89241.2%OPEN →
Low45.0%7,25596.6%OPEN →
Middle106.8%3,77351.8%OPEN →
Low39.0%3,64988.0%OPEN →
Moderate57.1%7,26192.3%OPEN →
Low42.9%8,33487.8%OPEN →
Moderate75.6%4,96960.8%OPEN →
Upper140.3%4,18048.6%OPEN →
Upper145.8%2,88645.9%OPEN →
Middle109.8%1,45355.9%OPEN →
Moderate57.1%3,50073.1%OPEN →
Moderate76.0%2,99361.6%OPEN →
Middle101.1%2,81955.4%OPEN →
Middle92.5%2,43460.6%OPEN →
Moderate61.6%1,90773.9%OPEN →
Upper133.2%2,37640.5%OPEN →
Upper160.8%1,86038.4%OPEN →
Upper178.7%2,73731.4%OPEN →
Upper154.2%2,60932.6%OPEN →
Moderate70.8%5,94591.8%OPEN →
Moderate73.0%4,88980.8%OPEN →
Upper128.5%3,74292.8%OPEN →
0.0%OPEN →
0.0%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

1,165,012

Median household income

$127,229

Median home value

$866,800

Median gross rent

$2,375

per month

Owner-occupied

68.0%

of occupied units

Housing units

429,260

3.5% vacant

Poverty rate

8.4%

Unemployment

6.5%

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

Very High

score 99.5

Social vulnerability

Relatively Low

Community resilience

Relatively High

ELEVATED PERILS

Inland flooding Very High · Earthquake Relatively High · Heat wave Relatively High · Drought Relatively High · Landslide Relatively 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

79

Declarations recorded

21

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

Everything we hold on Contra Costa 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 Contra Costa County.

HMDA loan-level (hmda_loan_wide, county_code)

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

VA

VA-guaranteed lending in Contra Costa 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

523

Purchase share

43.6%

228 loans

IRRRL refinances

208

Cash-out refinances

87

202652322820887
202547425213389
20243492255470
2023318227190
2022396249473
20213,3704732,412485
20203,1495132,098538
20191,319463323533
20181,304477220607
20172,088641669778
20162,242682925635
20151,975689786500

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 Contra Costa 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

Contra Costa 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

970

−22.5% vs 2024

Multifamily · 2025

193

−78.7% vs 2024

Total authorized · 2025

1,163

−46.0% vs 2024

Permit valuation · 2025

$420.6M

authorized construction value

Units authorized by year

Contra Costa County · total permitted units · hover for the single-family split

UNITS · SF IN TOOLTIP
02.5K5K7.5K10K19901992199419961998200020022004200620082010201220142016201820202022202420251,163 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 Contra Costa County, showing population movement and wealth transfer.

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

inflow2223Alameda County, CA7,14112,831$1.01B
outflow2223Alameda County, CA4,8717,605$628.8M
outflow2223Solano County, CA2,1513,871$177.9M
inflow2223San Francisco County, CA2,0923,554$331.9M
outflow2223San Francisco County, CA1,6612,309$165.0M
inflow2223Santa Clara County, CA1,6553,245$346.3M
outflow2223Other flows - South, DS1,6223,058$238.1M
inflow2223San Mateo County, CA1,3132,428$206.4M
inflow2223Solano County, CA1,2942,147$101.3M
outflow2223Sacramento County, CA1,1701,960$91.4M
outflow2223Los Angeles County, CA1,0111,396$106.8M
outflow2223Santa Clara County, CA1,0021,540$136.8M
outflow2223San Joaquin County, CA9771,931$83.4M
inflow2223Other flows - South, DS9651,650$107.8M
inflow2223Los Angeles County, CA8771,306$107.9M
outflow2223San Mateo County, CA8391,317$101.0M
inflow2223San Joaquin County, CA7471,366$56.0M
inflow2223Sacramento County, CA6841,066$49.4M
outflow2223Other flows - Midwest, DS6791,184$64.8M
outflow2223San Diego County, CA650934$109.4M
outflow2223Other flows - West, DS615996$90.4M
inflow2223Other flows - West, DS519806$50.1M
inflow2223Other flows - Midwest, DS497802$43.9M
inflow2223Other flows - Northeast, DS494817$70.7M
outflow2223Other flows - Northeast, DS457817$73.3M
outflow2223Placer County, CA424818$61.6M
outflow2223Orange County, CA413655$60.2M
outflow2223Maricopa County, AZ391683$78.8M
inflow2223San Diego County, CA387570$34.0M
outflow2223Clark County, NV383624$84.3M
outflow2223Foreign - Overseas, FR355605$60.0M
inflow2223Marin County, CA354575$73.4M
outflow2223King County, WA341467$67.5M
outflow2223Sonoma County, CA338516$41.6M
outflow2223Marin County, CA324566$45.7M
inflow2223Orange County, CA306473$32.6M
outflow2223Harris County, TX292676$124.3M
outflow2223Washoe County, NV278446$80.9M
outflow2223Stanislaus County, CA258466$19.0M
inflow2223Sonoma County, CA248363$25.2M
outflow2223New York County, NY226252$30.6M
outflow2223Riverside County, CA226383$29.3M
outflow2223Napa County, CA219385$28.9M
outflow2223El Dorado County, CA209396$37.1M
inflow2223Clark County, NV201347$12.7M
inflow2223King County, WA195312$28.3M
inflow2223Stanislaus County, CA193330$13.7M
inflow2223Maricopa County, AZ184309$21.3M
inflow2223Harris County, TX178383$81.0M
outflow2223Ada County, ID172338$30.2M
outflow2223Fresno County, CA168287$13.6M
inflow2223Placer County, CA165269$17.3M
outflow2223Yolo County, CA163235$17.0M
inflow2223Riverside County, CA162260$16.1M
outflow2223Butte County, CA160282$9.8M
outflow2223Cook County, IL156213$12.0M
outflow2223Travis County, TX153227$23.0M
inflow2223Yolo County, CA149198$10.4M
inflow2223Foreign - Overseas, FR149308$23.7M
inflow2223Fresno County, CA140274$8.9M
inflow2223Napa County, CA136213$11.7M
outflow2223Santa Cruz County, CA134181$28.1M
outflow2223San Bernardino County, CA133252$9.1M
outflow2223Nevada County, CA133236$20.2M
inflow2223Monterey County, CA127212$17.0M
inflow2223Santa Cruz County, CA121168$15.2M
outflow2223Collin County, TX118275$22.4M
outflow2223Multnomah County, OR117154$11.4M
outflow2223Fort Bend County, TX115327$39.7M
inflow2223Cook County, IL113196$14.8M
inflow2223San Bernardino County, CA113179$9.6M
outflow2223Kings County, NY112133$12.4M
outflow2223Honolulu County, HI106164$7.3M
outflow2223Dallas County, TX106182$9.1M
outflow2223Monterey County, CA105157$17.5M
inflow2223Washoe County, NV102150$10.7M
outflow2223Shasta County, CA101182$19.5M
outflow2223Montgomery County, TX100241$37.9M
outflow2223Calaveras County, CA99177$14.2M
inflow2223New York County, NY96139$27.1M
outflow2223Kern County, CA91175$9.3M
inflow2223Honolulu County, HI90150$9.3M
outflow2223Tarrant County, TX90167$8.8M
inflow2223Multnomah County, OR85116$7.7M
outflow2223San Luis Obispo County, CA85128$16.8M
outflow2223Merced County, CA84147$4.3M
inflow2223Kern County, CA84148$11.2M
outflow2223Salt Lake County, UT82122$7.2M
outflow2223Ventura County, CA80147$14.2M
outflow2223Santa Barbara County, CA79111$7.0M
outflow2223Pierce County, WA77129$9.8M
outflow2223Clark County, WA77123$11.2M
outflow2223Denver County, CO7693$6.8M
inflow2223El Dorado County, CA74121$9.6M
inflow2223Santa Barbara County, CA74110$6.5M
inflow2223Ventura County, CA73107$6.9M
inflow2223Butte County, CA72119$5.4M
outflow2223Williamson County, TX70159$14.7M
outflow2223Pima County, AZ68108$7.8M
inflow2223Merced County, CA67108$3.6M
inflow2223Nevada County, CA66101$8.3M
outflow2223Middlesex County, MA66104$8.7M
outflow2223Queens County, NY6381$5.2M
outflow2223Miami-Dade County, FL6290$6.7M
inflow2223San Luis Obispo County, CA6294$5.7M
outflow2223Washington County, OR6299$7.4M
outflow2223Amador County, CA60108$6.2M
outflow2223Denton County, TX60130$12.1M
outflow2223Bexar County, TX59104$4.3M
outflow2223Utah County, UT58102$4.0M
outflow2223Lane County, OR5787$6.1M
outflow2223Fulton County, GA5796$7.9M
inflow2223Kings County, NY5682$4.9M
outflow2223Deschutes County, OR5591$13.4M
outflow2223Clackamas County, OR5594$7.0M
outflow2223Tuolumne County, CA5492$6.3M
outflow2223District of Columbia, DC5458$5.0M
inflow2223Middlesex County, MA5379$9.7M
outflow2223Snohomish County, WA5397$9.3M
inflow2223Miami-Dade County, FL5290$9.4M
inflow2223Pima County, AZ5270$4.0M
outflow2223Humboldt County, CA5271$3.1M
inflow2223Salt Lake County, UT5192$6.8M
inflow2223Travis County, TX5190$8.4M
outflow2223Mecklenburg County, NC5097$5.3M
outflow2223Boulder County, CO4966$7.1M
outflow2223El Paso County, CO4987$8.5M
outflow2223Wake County, NC49115$10.8M
inflow2223Dallas County, TX4975$6.0M
outflow2223Fairfax County, VA48106$6.8M
outflow2223Douglas County, CO48101$12.5M
outflow2223Davidson County, TN4856$4.1M
outflow2223Broward County, FL4789$7.0M
inflow2223Washington County, OR4581$5.9M
outflow2223Palm Beach County, FL4584$10.7M
outflow2223Suffolk County, MA4551$3.0M
inflow2223Queens County, NY4481$5.4M
outflow2223Foreign - Other flows, FR4475$2.8M
outflow2223Jackson County, OR4375$3.5M
outflow2223Canyon County, ID4372$3.3M
inflow2223Montgomery County, TX4389$19.6M
outflow2223Madera County, CA4288$3.3M
outflow2223Pinal County, AZ4283$5.5M
inflow2223Foreign - Other flows, FR4280$2.7M
outflow2223Yuba County, CA4191$2.8M
inflow2223Humboldt County, CA4061$3.3M
inflow2223Denver County, CO4062$6.4M
outflow2223Tulare County, CA4059$2.8M
outflow2223Orange County, FL4077$5.6M
outflow2223Douglas County, NV4061$12.9M
inflow2223Fort Bend County, TX40106$14.8M
outflow2223Lake County, CA3971$4.2M
inflow2223Tarrant County, TX3959$2.8M
inflow2223Shasta County, CA3873$4.4M
outflow2223Hillsborough County, FL3766$5.5M
outflow2223Arapahoe County, CO3753$7.0M
inflow2223Ada County, ID3658$4.4M
outflow2223Mendocino County, CA3658$3.1M
inflow2223Lane County, OR3645$2.7M
inflow2223Broward County, FL3663$3.2M
outflow2223Montgomery County, MD3569$7.2M
outflow2223Kitsap County, WA3563$4.3M
outflow2223Williamson County, TN3585$9.9M
inflow2223Mendocino County, CA3458$4.3M
inflow2223District of Columbia, DC3450$2.8M
inflow2223Williamson County, TX3470$6.9M
inflow2223Fairfax County, VA3467$6.0M
outflow2223Hawaii County, HI3354$5.9M
inflow2223Snohomish County, WA3353$4.1M
inflow2223Calaveras County, CA3363$6.2M
inflow2223Bexar County, TX3359$2.0M
outflow2223Gwinnett County, GA3278$3.1M
outflow2223Allegheny County, PA3255$6.9M
outflow2223Philadelphia County, PA3253$2.6M
inflow2223Utah County, UT3282$2.6M
inflow2223Pierce County, WA3249$2.0M
outflow2223Bernalillo County, NM3241$2.5M
outflow2223Sutter County, CA3262$2.1M
outflow2223Jefferson County, CO3156$5.5M
inflow2223Collin County, TX3167$5.0M
outflow2223Lyon County, NV3157$3.3M
inflow2223Orange County, FL3040$2.0M
inflow2223Palm Beach County, FL3046$3.2M
inflow2223Philadelphia County, PA3042$3.9M
inflow2223Fulton County, GA3050$2.7M
inflow2223Hudson County, NJ3049$5.0M
inflow2223Suffolk County, MA3037$2.4M
inflow2223Hillsborough County, FL3048$3.2M
inflow2223Jackson County, OR2944$2.3M
outflow2223Kootenai County, ID2953$2.1M
outflow2223Hudson County, NJ2835$4.8M
outflow2223Larimer County, CO2853$4.0M
inflow2223Tulare County, CA2834$1.2M
inflow2223Maui County, HI2851$7.2M
inflow2223Lake County, IL2859$3.3M
outflow2223El Paso County, TX2856$2.2M
outflow2223Oklahoma County, OK2849$2.6M
outflow2223Spokane County, WA2748$2.8M
inflow2223Clark County, WA2741$2.3M
outflow2223Wayne County, MI2746$1.8M

UAD APPRAISALS

FHFA Uniform Appraisal Dataset aggregates for Contra Costa County.

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

2023PurchaseNo CharacteristicAll Appraisals7,030.0
2023PurchaseNo CharacteristicAll Appraisals0.5
2023RefinanceNo CharacteristicAll Appraisals2,082.0
2023PurchaseNo CharacteristicAll Appraisals1.0
2023BothNo CharacteristicAll Appraisals9,112.0
2023PurchaseNo CharacteristicAll Appraisals0.4
2023PurchaseNo CharacteristicAll Appraisals1.0
2023RefinanceNo CharacteristicAll Appraisals850,000.0
2023BothNo CharacteristicAll Appraisals825,000.0
2023PurchaseNo CharacteristicAll Appraisals819,300.0
2023PurchaseNo CharacteristicAll Appraisals0.1
2022PurchaseNo CharacteristicAll Appraisals1.0
2022BothNo CharacteristicAll Appraisals910,000.0
2022PurchaseNo CharacteristicAll Appraisals0.5
2022PurchaseNo CharacteristicAll Appraisals885,000.0
2022PurchaseNo CharacteristicAll Appraisals1.0
2022RefinanceNo CharacteristicAll Appraisals6,439.0
2022PurchaseNo CharacteristicAll Appraisals0.1
2022PurchaseNo CharacteristicAll Appraisals0.4
2022RefinanceNo CharacteristicAll Appraisals975,000.0
2022BothNo CharacteristicAll Appraisals16,655.0
2022PurchaseNo CharacteristicAll Appraisals10,216.0
2021PurchaseNo CharacteristicAll Appraisals1.0
2021RefinanceNo CharacteristicAll Appraisals1,175,000.0
2021BothNo CharacteristicAll Appraisals39,938.0
2021PurchaseNo CharacteristicAll Appraisals1.0
2021PurchaseNo CharacteristicAll Appraisals13,726.0
2021PurchaseNo CharacteristicAll Appraisals0.5
2021RefinanceNo CharacteristicAll Appraisals26,212.0
2021PurchaseNo CharacteristicAll Appraisals0.2
2021BothNo CharacteristicAll Appraisals1,010,000.0
2021PurchaseNo CharacteristicAll Appraisals0.3
2021PurchaseNo CharacteristicAll Appraisals850,000.0
2020PurchaseNo CharacteristicAll Appraisals0.1
2020PurchaseNo CharacteristicAll Appraisals1.0
2020BothNo CharacteristicAll Appraisals41,657.0
2020PurchaseNo CharacteristicAll Appraisals11,554.0
2020PurchaseNo CharacteristicAll Appraisals0.3
2020BothNo CharacteristicAll Appraisals870,000.0
2020RefinanceNo CharacteristicAll Appraisals977,000.0
2020RefinanceNo CharacteristicAll Appraisals30,103.0
2020PurchaseNo CharacteristicAll Appraisals731,000.0
2020PurchaseNo CharacteristicAll Appraisals1.0
2020PurchaseNo CharacteristicAll Appraisals0.5
2019PurchaseNo CharacteristicAll Appraisals0.1
2019PurchaseNo CharacteristicAll Appraisals1.0
2019BothNo CharacteristicAll Appraisals700,000.0
2019PurchaseNo CharacteristicAll Appraisals10,391.0
2019PurchaseNo CharacteristicAll Appraisals0.5
2019PurchaseNo CharacteristicAll Appraisals1.0
2019RefinanceNo CharacteristicAll Appraisals710,000.0
2019BothNo CharacteristicAll Appraisals29,765.0
2019RefinanceNo CharacteristicAll Appraisals19,374.0
2019PurchaseNo CharacteristicAll Appraisals675,000.0
2019PurchaseNo CharacteristicAll Appraisals0.4
2018RefinanceNo CharacteristicAll Appraisals618,000.0
2018BothNo CharacteristicAll Appraisals20,928.0
2018PurchaseNo CharacteristicAll Appraisals10,424.0
2018RefinanceNo CharacteristicAll Appraisals10,504.0
2018BothNo CharacteristicAll Appraisals640,000.0
2018PurchaseNo CharacteristicAll Appraisals665,000.0
2018PurchaseNo CharacteristicAll Appraisals0.4
2018PurchaseNo CharacteristicAll Appraisals0.1
2018PurchaseNo CharacteristicAll Appraisals0.5
2018PurchaseNo CharacteristicAll Appraisals1.0
2018PurchaseNo CharacteristicAll Appraisals1.0
2017RefinanceNo CharacteristicAll Appraisals600,000.0
2017PurchaseNo CharacteristicAll Appraisals1.0
2017PurchaseNo CharacteristicAll Appraisals1.0
2017PurchaseNo CharacteristicAll Appraisals0.5
2017PurchaseNo CharacteristicAll Appraisals0.1
2017BothNo CharacteristicAll Appraisals25,623.0
2017PurchaseNo CharacteristicAll Appraisals10,393.0
2017PurchaseNo CharacteristicAll Appraisals620,000.0
2017RefinanceNo CharacteristicAll Appraisals15,230.0
2017PurchaseNo CharacteristicAll Appraisals0.4
2017BothNo CharacteristicAll Appraisals608,000.0
2016PurchaseNo CharacteristicAll Appraisals9,343.0
2016RefinanceNo CharacteristicAll Appraisals600,000.0
2016PurchaseNo CharacteristicAll Appraisals1.0
2016PurchaseNo CharacteristicAll Appraisals566,900.0
2016PurchaseNo CharacteristicAll Appraisals0.4
2016PurchaseNo CharacteristicAll Appraisals0.1
2016BothNo CharacteristicAll Appraisals595,000.0
2016PurchaseNo CharacteristicAll Appraisals1.0
2016PurchaseNo CharacteristicAll Appraisals0.5
2016BothNo CharacteristicAll Appraisals37,753.0
2016RefinanceNo CharacteristicAll Appraisals28,410.0
2015PurchaseNo CharacteristicAll Appraisals1.0
2015PurchaseNo CharacteristicAll Appraisals525,000.0
2015PurchaseNo CharacteristicAll Appraisals0.5
2015RefinanceNo CharacteristicAll Appraisals550,000.0
2015BothNo CharacteristicAll Appraisals32,322.0
2015RefinanceNo CharacteristicAll Appraisals22,827.0
2015PurchaseNo CharacteristicAll Appraisals0.1
2015PurchaseNo CharacteristicAll Appraisals0.4
2015PurchaseNo CharacteristicAll Appraisals9,495.0
2015BothNo CharacteristicAll Appraisals545,000.0
2015PurchaseNo CharacteristicAll Appraisals1.0
2014BothNo CharacteristicAll Appraisals505,000.0

ECONOMY & INCOME

Local economy indicators — BLS unemployment rates and BEA personal income for Contra Costa 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-05571,790549,11122,6794.0%
2026-04574,701550,37324,3284.2%
2026-03579,748554,35825,3904.4%
2026-02582,061555,13226,9294.6%
2026-01576,721549,26527,4564.8%
2025-12584,771558,50826,2634.5%
2025-11587,917559,22828,6894.9%
2025-09589,757560,17129,5865.0%
2025-08586,819556,14430,6755.2%
2025-07588,819558,48830,3315.2%
2025-06583,586554,85128,7354.9%
2025-05582,382557,37625,0064.3%
2025-04583,042557,43125,6114.4%
2025-03589,757562,78026,9774.6%
2025-02587,596560,00727,5894.7%
2025-01585,283557,38627,8974.8%
2024-12583,912558,30925,6034.4%
2024-11584,939557,66627,2734.7%
2024-10584,389557,19627,1934.7%
2024-09586,029559,53326,4964.5%
2024-08586,367556,81129,5565.0%
2024-07589,275559,99129,2845.0%
2024-06582,792555,85526,9374.6%
2024-05581,238559,20322,0353.8%
2024-04581,225558,18123,0444.0%
2024-03586,957561,67225,2854.3%
2024-02585,499559,22526,2744.5%
2024-01581,913555,71726,1964.5%
2023-12581,673557,85823,8154.1%
2023-11585,538561,32324,2154.1%
2023-10583,383558,61424,7694.2%
2023-09585,131561,19123,9404.1%
2023-08584,626559,29725,3294.3%
2023-07584,126560,85323,2734.0%
2023-06578,743555,90622,8373.9%
2023-05579,045559,56519,4803.4%
2023-04578,829559,93118,8983.3%
2023-03585,182563,84521,3373.6%
2023-02581,925560,16121,7643.7%
2023-01577,245555,83121,4143.7%
2022-12575,906558,25117,6553.1%
2022-11577,129557,93319,1963.3%
2022-10577,473558,58118,8923.3%
2022-09577,367559,50017,8673.1%
2022-08577,283557,44019,8433.4%
2022-07575,864556,68219,1823.3%
2022-06574,558554,92019,6383.4%
2022-05573,713557,39916,3142.8%
2022-04570,203552,21817,9853.2%
2022-03579,884559,28720,5973.6%
2022-02577,625554,38923,2364.0%
2022-01575,054548,90126,1534.5%
2021-12572,539549,02023,5194.1%
2021-11573,464547,68725,7774.5%
2021-10572,551543,69228,8595.0%
2021-09571,954541,89830,0565.3%
2021-08572,017536,65035,3676.2%
2021-07573,547536,17737,3706.5%
2021-06568,972528,99239,9807.0%
2021-05565,138529,71735,4216.3%
2021-04563,389524,74838,6416.9%
2021-03566,591527,24839,3436.9%
2021-02564,166523,09041,0767.3%
2021-01561,334518,70942,6257.6%
2020-12554,259511,73442,5257.7%
2020-11554,763511,77842,9857.7%
2020-10557,916513,13444,7828.0%
2020-09559,863508,57951,2849.2%
2020-08560,766506,98453,7829.6%
2020-07565,727500,74464,98311.5%
2020-06564,868495,35169,51712.3%
2020-05550,873475,32175,55213.7%
2020-04557,960475,87282,08814.7%
2020-03580,048554,52025,5284.4%
2020-02588,245570,77817,4673.0%
2020-01583,151564,65418,4973.2%
2019-12583,721567,84515,8762.7%
2019-11582,949566,45716,4922.8%
2019-10582,891566,28716,6042.8%
2019-09583,751567,86715,8842.7%
2019-08582,363563,92118,4423.2%
2019-07585,505566,20219,3033.3%
2019-06578,536560,41518,1213.1%
2019-05577,327562,33414,9932.6%
2019-04576,382560,59415,7882.7%
2019-03584,793565,73519,0583.3%
2019-02585,046566,02519,0213.3%
2019-01580,836559,60321,2333.7%
2018-12583,228565,50017,7283.0%
2018-11583,002565,72417,2783.0%
2018-10583,081565,46017,6213.0%
2018-09582,955565,67917,2763.0%
2018-08580,611561,85718,7543.2%
2018-07585,522566,48719,0353.3%
2018-06580,446561,20119,2453.3%
2018-05579,751564,27615,4752.7%
2018-04577,629560,75016,8792.9%
2018-03582,525564,04218,4833.2%
2018-02581,599562,17319,4263.3%
2018-01576,194555,87120,3233.5%

BEA Personal Income

2024$126.95B1,172,607$108K
2023$118.76B1,162,179$102K
2022$112.10B1,160,296$97K
2021$110.31B1,163,813$95K
2020$102.44B1,166,165$88K
2019$93.57B1,164,443$80K
2018$91.16B1,161,151$79K
2017$86.34B1,154,685$75K
2016$80.45B1,145,072$70K
2015$75.81B1,130,708$67K
2014$69.48B1,113,976$62K
2013$66.25B1,097,315$60K
2012$65.95B1,080,252$61K
2011$61.05B1,066,922$57K
2010$56.46B1,052,827$54K
2009$55.96B1,037,890$54K
2008$59.62B1,023,344$58K
2007$58.02B1,009,152$57K
2006$55.80B1,000,834$56K
2005$51.82B999,013$52K
2004$49.18B992,424$50K
2003$46.37B987,531$47K
2002$45.06B979,862$46K
2001$45.39B970,952$47K
2000$42.81B952,810$45K
1999$37.69B936,983$40K
1998$34.95B921,663$38K
1997$32.14B903,049$36K
1996$29.67B884,227$34K
1995$27.61B872,075$32K
1994$26.05B861,979$30K
1993$25.01B852,532$29K
1992$23.88B839,768$28K
1991$27K

NFIP FLOOD CLAIMS

FEMA National Flood Insurance Program (NFIP) realised flood loss claims in Contra Costa County.

FEMA NFIP redacted claims (nfip_claim, county_code)

2026-01-04$18K$18K$0Yes
2025-02-12$0$0$0Yes
2025-02-07$0Yes
2025-02-03$4K$4K$0Yes
2024-12-15$6K$5K$1KYes
2024-11-27$0Yes
2024-05-04$19K$19K$0Yes
2024-02-18$0Yes
2024-02-05$0$0$0Yes
2023-06-09$0Yes
2023-04-20$10K$10K$0Yes
2023-04-01$0$0$0Yes
2023-03-22$0Yes
2023-03-21$4K$4K$0No
2023-03-15$0Yes
2023-03-14$5K$5K$0Yes
2023-03-09$56K$0$56KNo
2023-03-09$61K$61K$0No
2023-02-28$0Yes
2023-02-27$7K$7K$0No
2023-02-24$0$0$0Yes
2023-01-16$33K$33K$0No
2023-01-16$0Yes
2023-01-15$0Yes
2023-01-15$0$0$0Yes
2023-01-14$0Yes
2023-01-14$2K$2K$0Yes
2023-01-14$134K$134K$0No
2023-01-10$3K$3K$0Yes
2023-01-09$0No
2023-01-09$153K$153K$0No
2023-01-07$0$0$0Yes
2023-01-02$0$0$0Yes
2023-01-02$0No
2023-01-02$15K$15K$0Yes
2023-01-02$1K$1K$0Yes
2023-01-01$0Yes
2023-01-01$210K$210K$0Yes
2023-01-01$62K$62K$0Yes
2022-12-31$6K$6K$0Yes
2022-12-31$7K$5K$2KYes
2022-12-31$23K$23K$680Yes
2022-12-31$219K$182K$37KNo
2022-12-31$14K$14K$0Yes
2022-12-31$0Yes
2022-12-31$3K$3K$0No
2022-12-31$35K$35K$0No
2022-12-31$32K$32K$0No
2022-12-31$71K$64K$7KYes
2022-12-31$178K$150K$28KYes
2022-12-31$53K$53K$0No
2022-12-31$69K$61K$8KYes
2022-12-31$14K$14K$0No
2022-12-31$28K$28K$0Yes
2022-12-31$1K$0$1KYes
2022-12-31$11K$11K$0Yes
2022-12-31$0Yes
2022-12-31$284K$257K$27KNo
2022-12-31$10K$10K$0No
2022-12-31$159K$159K$0Yes
2022-12-31$64K$64K$0No
2022-12-31$58K$58K$0Yes
2022-12-31$50K$50K$0No
2022-12-31$27K$26K$478.68Yes
2022-12-31$89K$67K$21KNo
2022-12-31$58K$0$58KNo
2022-12-31$49K$48K$441.45Yes
2022-12-31$0Yes
2022-12-31$3K$2K$442.65Yes
2022-12-31$5K$5K$0Yes
2022-12-31$30K$30K$0Yes
2022-12-30$0$0$0Yes
2022-12-30$19K$19K$0Yes
2022-12-30$55K$55K$0Yes
2022-12-30$250K$250K$0Yes
2022-12-29$0$0$0Yes
2022-12-27$0$0$0Yes
2021-12-23$16K$16K$0Yes
2021-12-17$0$0$0Yes
2021-12-15$171K$171K$0No
2021-12-15$0Yes
2021-12-14$0Yes
2021-10-29$15K$15K$0Yes
2021-10-24$37K$37K$0No
2021-10-24$74K$74K$0No
2021-10-24$18K$15K$3KYes
2021-10-24$7K$7K$0No
2021-10-24$67K$67K$0Yes
2021-10-24$12K$12K$0Yes
2021-10-24$37K$37K$0No
2021-10-24$18K$18K$0Yes
2021-10-24$3K$3K$0No
2021-10-24$86K$86K$0Yes
2021-10-17$0Yes
2021-01-25$0$0$0No
2019-12-08$0No
2019-12-07$70K$29K$41KYes
2019-08-06$0No
2019-03-18$0Yes
2019-02-25$0No

ALSO CHECKED

18 more data areas were checked for Contra Costa 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 CA state hub, which carries the same registry at the grain those sources actually have.

Go deeper

EVERY HMDA RECORD IN CONTRA COSTA COUNTYOpens the loan explorer already filtered to county FIPS 06013.

See the California state market profile for the statewide picture, the California 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.