Walk a corridor, address by address
Every commercial parcel fronting a named street, in the order you would pass them, with what each one is, what it is worth and how much frontage it holds. The corridor study a broker, a planner and a city do by hand.
The file
1,267 named runs carrying at least 15 mapped parcels
44,151 rowsCounties in this file: Anoka, Carver, Dakota, Hennepin, Ramsey, Scott, Washington · 57 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.
| corridor | feet along | address | use | zoning | zoning district | flood zone | what that zone means | year built | assessed | frontage ft | parcel id | footprint sq ft (measured) | businesses observed | what kind |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Nicollet Avenue | 0 | 6141 Nicollet Ave, Minneapolis | APARTMENT | CM2 | Corridor Mixed Use | X | outside the mapped floodplain | 1,958 | 1,470,000 | 132 | 2202824430070 | 3,772 | — | — |
| France Avenue South | 40,265 | 5050 France Ave S, Edina | COMMERCIAL-PREFERRED | — | — | X | outside the mapped floodplain | 1,963 | 5,068,800 | 236 | 1802824410237 | 9,059 | 4 | health, bank credit union, banks |
| Commerce Boulevard | 97,289 | 13375 Commerce Blvd, Rogers | INDUSTRIAL-PREFERRED | — | — | X | outside the mapped floodplain | 1,993 | 3,990,000 | 495 | 1412023440014 | 59,946 | 1 | metal fabricator |
| Lowry Avenue North | 0 | 3131 France Ave N, Robbinsdale | MED/CARE FACILITY | — | — | X | outside the mapped floodplain | 1,968 | 3,330,000 | 66 | 0702924410001 | 16,745 | 4 | health, auto |
| Lake Street South | 2,131 | 420 Lake Street South, Forest Lake | 110 | — | — | X | outside the mapped floodplain | — | 818,800 | 201 | 0803221420093 | 2,275 | — | — |
| Maple Grove Parkway North | 19,086 | — | LAND-COMMERCIAL | — | — | X | outside the mapped floodplain | — | — | 3,628 | 0911922240004 | — | 1 | restaurant |
| Radisson Road Northeast | 5,307 | 2190 107th Lane Northeast, Blaine | 3a INDUSTIAL PREFERENTIAL | — | — | X | outside the mapped floodplain | — | 3,041,700 | 191 | 213123210033 | 35,694 | 2 | engine repair service, home and garden |
| 28th Avenue North | 51,886 | 2700 2nd St N, Minneapolis | INDUSTRIAL-PREFERRED | PR2 | Production and Processing | X | outside the mapped floodplain | 1,980 | 7,900,000 | 361 | 1002924340066 | 77,806 | — | — |
| 4th Avenue | 1,371 | 234 4th Avenue, Newport | 305 | — | — | X | outside the mapped floodplain | — | 10,100 | 177 | 0102722230024 | — | — | — |
| West River Road North | 10,000 | 3939 1st St N, Minneapolis | LAND - INDUSTRIAL | CM2 | Corridor Mixed Use | X | outside the mapped floodplain | — | 934,800 | 289 | 0302924310012 | — | — | — |
An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: zoning district is blank on 50.9% of rows, zoning is blank on 50.9% of rows, what kind is blank on 47.8% of rows, businesses observed is blank on 47.3% of rows, year built is blank on 32.1% of rows, footprint sq ft (measured) is blank on 25.5% of rows, assessed is blank on 14.7% of rows, address is blank on 7.6% 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 |
|---|---|---|
corridor |
corridor | default |
station_ft |
feet along | default |
address |
address | default |
use |
use | default |
zoning |
zoning | default |
zoning_name |
zoning district | default |
flood_zone |
flood zone | default |
flood_zone_name |
what that zone means | default |
in_floodplain |
in a special flood hazard area | optional |
base_flood_elev |
base flood elevation ft | optional |
sba_loans |
SBA loans at this address | optional |
sba_approved |
SBA dollars approved | optional |
sba_last_fy |
most recent SBA approval (FY) | optional |
sba_charged_off |
an SBA loan here was charged off | optional |
year_built |
year built | default |
assessed |
assessed | default |
frontage_ft |
frontage ft | default |
side |
side of street | optional |
parcel_id |
parcel id | default |
owner |
owner of record | optional |
taxpayer |
taxpayer of record | optional |
lot_sqft |
lot sq ft | optional |
footprint_sqft |
footprint sq ft (measured) | default |
building_sqft |
building sq ft (derived) | optional |
building_sqft_method |
how the building area was derived | optional |
stories |
storeys (inferred) | optional |
structures |
structures on the parcel | optional |
all_footprint_sqft |
footprint sq ft, all structures | optional |
road_class |
road class | optional |
daily_traffic |
vehicles per day | optional |
traffic_year |
count year | optional |
traffic_basis |
count basis | optional |
heavy_traffic |
heavy vehicles per day | optional |
heavy_traffic_basis |
heavy count basis | optional |
traffic_dist_ft |
count taken within (ft) | optional |
vacant_land |
vacant land | optional |
businesses |
businesses observed | default |
business_mix |
what kind | default |
zoning_city |
zoning authority | optional |
split_zoned |
split-zoned parcel | optional |
last_permit |
last permit issued | optional |
last_permit_trade |
last permit trade | optional |
last_permit_work |
last permit work type | optional |
permits_since_2020 |
permits since 2020 | optional |
permitted_recently |
permitted since 2024-08-17 | optional |
open_permits |
permits with no completion recorded | optional |
open_permit_last |
most recent of those, issued | optional |
open_permit_work |
work type on it | optional |
open_permit_trade |
trade on it | optional |
calls_311 |
311 requests on this street | optional |
calls_311_recent |
311 requests on this street since 2025-08-19 | optional |
last_311_call |
last 311 request on this street | optional |
top_311_request |
most common 311 request on this street | optional |
recent_311_request |
most common 311 request lately on this street | optional |
calls_311_on_one_point |
311 requests on a single coordinate | optional |
parcels_on_this_corridor |
parcels on this run | optional |
county |
county | optional |
Where it comes from
Hennepin County, Ramsey County, Dakota County, Anoka County, Washington County, Scott County and Carver County parcel and road centreline layers
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 GIS offices, Minnesota Department of Transportation, City of Minneapolis, City of Saint Paul. 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=corridors&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=corridors&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.