Who owns it, and what else do they hold
Who holds more than one commercial parcel in this market, how much of it, where, and when they bought. The owner-side view a broker prospects from and a reporter starts a landlord story with.
The file
9,251 owners holding 2 or more parcels in the commercial index
9,251 rowsCounties in this file: Anoka, Dakota, Hennepin, Ramsey, Washington · 13 columns available · free, no account, no rate limit.
Joins to an address on parcel_ids, 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.
| owner of record | parcels held | assessed total | owner type | cities | first purchase | latest purchase |
|---|---|---|---|---|---|---|
| CITY OF BLOOMINGTON | 414 | 4,320,600 | entity | Bloomington | 1970-02 | 2025-12 |
| Costco Wholesale Corporation | 5 | 24,823,600 | entity | Burnsville · Eagan | — | — |
| NEW HOPE CENTER INC | 4 | 236,100 | entity | Minneapolis | 1996-09 | 1996-09 |
| AVENUE 13 LLC | 3 | 1,514,900 | entity | Minneapolis | 2021-11 | 2021-11 |
| OAKGREEN COMMONS LLC | 2 | 19,631,800 | entity | Oak Park Heights | 2010-08 | 2010-08 |
| JACS PROPERTIES LLC | 2 | 3,486,200 | entity | Edina | 2010-09 | 2015-02 |
| SANOR PROPERTIES LLC | 2 | 1,412,000 | entity | Minneapolis | 2015-11 | 2015-11 |
| FRANK M FRATTALONE | 2 | 588,600 | individual | — | 2004-04 | 2004-04 |
| BROOKLYN PARK ECONOMIC DEVEL | 2 | — | individual | Brooklyn Park | 2012-04 | 2012-04 |
| ZION BAPTIST CHURCH | 2 | — | entity | Minneapolis | — | — |
An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: first purchase is blank on 36.8% of rows, latest purchase is blank on 36.8% of rows, assessed total is blank on 19.5% of rows, cities is blank on 5.3% 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 |
|---|---|---|
owner |
owner of record | default |
parcels_held |
parcels held | default |
assessed_total |
assessed total | default |
taxpayer |
taxpayer of record, where it differs | optional |
owner_type |
owner type | default |
cities |
cities | default |
first_purchase |
first purchase | default |
latest_purchase |
latest purchase | default |
largest_holding |
largest holding | optional |
lot_sqft_total |
lot sq ft held | optional |
commercial_parcels |
commercial parcels | optional |
vacant_land_parcels |
vacant land parcels | optional |
county |
county | optional |
Where it comes from
Hennepin County, Ramsey County, Dakota County, Anoka County and Washington County assessor owner and taxpayer of record
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 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=owners&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=owners&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.