What sold, and for how much per square foot
What commercial property in this market actually changed hands for, per parcel, with the date and the land area behind every figure. The comp set a broker builds by hand and an assessor's ratio study is built from.
The file
sale of record on 34,302 indexed parcels
34,302 rowsCounties in this file: Anoka, Carver, Dakota, Hennepin, Ramsey, Scott, Washington · 24 columns available · free, no account, no rate limit.
Joins to an address on parcel_id, so it can be pointed at one property rather than read whole.
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.
| address | sale month | price | lot sq ft | $ / lot sq ft | $ / building sq ft | building sq ft (derived) | how the building area was derived | footprint sq ft (measured) | use | parcel id |
|---|---|---|---|---|---|---|---|---|---|---|
| 9905 10th Ave N, Plymouth | 2026-07 | 700,000 | 34,841 | 20.09 | 306.88 | 2,281 | 1 storey x measured footprint (median err 12.2%) | 2,295 | INDUSTRIAL-PREFERRED | 3611822130008 |
| 2633 Minnehaha Ave, Minneapolis | 2024-05 | 10,000,000 | 147,407 | 67.84 | 126.71 | 78,918 | 1 storey x measured footprint (median err 12.2%) | 79,395 | INDUSTRIAL-PREFERRED | 3602924310035 |
| — | 2022-04 | 15,300,000 | 4,545 | 3,366.34 | — | — | — | — | 300 | 3302921340028 |
| 571 Earl Street, Saint Paul | 2020-06 | 35,000 | 7,351 | 4.76 | — | — | — | — | 3A COMMERCIAL LAND AND BUILDING | 332922240220 |
| — | 2018-01 | 119,000 | 14,810 | 8.04 | — | — | — | — | 3a INDUSTIAL PREFERENTIAL | 033024440055 |
| 1000 Essex St SE, Minneapolis | 2014-12 | 1,000,363 | 4,398 | 227.46 | — | — | — | 1,961 | VACANT LAND-APARTMENT | 3002923230134 |
| 2821 1st Ave S, Minneapolis | 2010-11 | 68,000 | 3,804 | 17.88 | — | — | — | 1,006 | LOW INCOME RENTAL | 3402924430115 |
| 842 3rd Ave, Excelsior | 2005-05 | 4,700,000 | 30,037 | 156.47 | — | — | — | 6,596 | APARTMENT | 3511723130005 |
| 1815 Greeley Street South, Stillwater | 1999-06 | 930,000 | 252,322 | 3.69 | — | — | — | 37,514 | 305 | 3303020320003 |
| — | 1899-12 | 2,214,000 | 195,847 | 11.3 | — | — | — | — | 110 | 3302921130037 |
An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: $ / building sq ft is blank on 66.1% of rows, building sq ft (derived) is blank on 66.1% of rows, how the building area was derived is blank on 66.1% of rows, footprint sq ft (measured) is blank on 26.3% of rows, address is blank on 8.9% of rows.
The cuts of this file
Every cut is the same columns, filtered. Pick one and the row count changes; the file does not.
Every column in this file
Columns marked default come down unless you pick your own with
&columns=.
| Column | What it is | In the default file |
|---|---|---|
address |
address | default |
sale_month |
sale month | default |
price |
price | default |
lot_sqft |
lot sq ft | default |
price_per_lot_sqft |
$ / lot sq ft | default |
price_per_building_sqft |
$ / building sq ft | default |
building_sqft |
building sq ft (derived) | default |
building_sqft_method |
how the building area was derived | default |
footprint_sqft |
footprint sq ft (measured) | default |
stories |
storeys (inferred) | optional |
structures |
structures on the parcel | optional |
all_footprint_sqft |
footprint sq ft, all structures | optional |
use |
use | default |
year_built |
year built | optional |
assessed |
assessed today | optional |
parcel_id |
parcel id | default |
owner |
owner of record | optional |
taxpayer |
taxpayer of record | optional |
owner_type |
owner type | optional |
arms_length |
arms length | optional |
multi_parcel_deed |
one deed, several parcels | optional |
shares_price_and_month |
price and month not unique | optional |
usable_comp |
usable as a comp | optional |
county |
county | optional |
Where it comes from
Hennepin County, Ramsey County, Dakota County, Anoka County, Washington County, Scott County and Carver County assessor sale of record
Records retrieved 2026-08-18 — the oldest capture date among the layers behind this file, because data is no fresher than its stalest input.
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 county assessors. Government data held by a Minnesota state agency or political subdivision, presumed public under the Minnesota Government Data Practices Act (Minn. Stat. ch. 13) and published by the agency itself.
Read the full licence · how we license every dataset, and the two we do not
Without the page
/api/export?dataset=sales&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=sales&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.