bricks self-service data platform · Twin Cities

Brick & Mortar · datasets

What a home costs against what a household earns

The price and rent of housing set against what the households there actually earn, every year since 2015, for each of the seven counties. The two ratio columns are the ones that survive inflation; the dollars beside them do not.

A row here is a whole county across five years of survey. There is no neighbourhood version to point at: the living-arrangement table is too thin at tract grain to publish. For measures around one address, use the census tract file.

The file

7 counties · 2011-2015 through 2020-2024 · 70 county-windows

70 rows

Counties in this file: Anoka, Carver, Dakota, Hennepin, Ramsey, Scott, Washington · 15 columns available · free, no account, no rate limit.

What the rows look like

10 real rows from this file, spread evenly across it rather than taken off the top — every file here is written in some order, so its first rows are never a fair sample of it. These are the default columns, which is what the download button hands over.

countysurvey windowhome value ÷ incomerent as % of income18-34 living with a parent
Anoka County, Minnesota2011-2015 ACS 5-year2.6516.438.1
Anoka County, Minnesota2019-2023 ACS 5-year3.317.037.1
Carver County, Minnesota2016-2020 ACS 5-year3.2113.538.7
Dakota County, Minnesota2014-2018 ACS 5-year3.0316.135.3
Hennepin County, Minnesota2012-2016 ACS 5-year3.4717.321.2
Hennepin County, Minnesota2019-2023 ACS 5-year3.9117.919.7
Ramsey County, Minnesota2017-2021 ACS 5-year3.5718.825.8
Scott County, Minnesota2015-2019 ACS 5-year2.9313.738.3
Washington County, Minnesota2012-2016 ACS 5-year2.9216.538.6
Washington County, Minnesota2020-2024 ACS 5-year3.6617.838.1

The cuts of this file

Every cut is the same columns, filtered. Pick one and the row count changes; the file does not.

3 scopes
CutRowsFile
every county, every survey window 70 CSV
the first and last window only (2011-2015 vs 2020-2024) 14 CSV
where each county stands now (2020-2024) 7 CSV

Every column in this file

Columns marked default come down unless you pick your own with &columns=.

15 columns
ColumnWhat it isIn the default file
county county default
acs_period survey window default
value_to_income home value ÷ income default
rent_pct_of_income rent as % of income default
living_with_a_parent_pct 18-34 living with a parent default
median_household_income median household income optional
median_home_value median home value optional
median_gross_rent median gross rent optional
adults_18_34 adults 18-34 optional
living_with_a_parent of them, living with a parent optional
renter_pct homes that are rented optional
occupied_homes occupied homes optional
renter_occupied rented homes optional
window_ends window ends optional
endpoint_window first or last window optional

Where it comes from

U.S. Census Bureau, ACS 5-year subject tables B19013, B25064, B25077, B09021, B25003

This source does not stamp the day it was published, so we cannot honestly date our copy of it and will not guess. The period the records themselves cover is on the system card.

What this layer cannot answer is stated in full on the system card — read it before quoting a figure.

What you may do with it

Creative Commons Attribution 4.0 International (CC BY 4.0). Share it, change it, build a product on it, sell that product — all fine. The one condition is credit: say it came from Brick & Mortar and link back.

Records published by U.S. Census Bureau. A work of the United States government, which is not subject to copyright protection in the U.S. (17 U.S.C. § 105).

Read the full licence · how we license every dataset, and the two we do not

Without the page

/api/export?dataset=housing-affordability&format=csv returns the same file. Call /api/export with no arguments for the whole catalogue.

Point an AI at it

Every file carries its own source, its capture date and the layer's own warnings in the header, so a model reading one gets the caveats with the numbers rather than the numbers alone. Paste this at an assistant that can fetch a URL:

Read https://brickandmortar.dev/api/export?dataset=housing-affordability&format=csv
Everything above the header row is provenance and limits. Read it first,
then answer using only what the rows support.

llms.txt describes the whole warehouse the same way — what each dataset holds, which counties it really covers, and what it cannot answer.