What shares a lot line with a property
What is on each side of a commercial property, from the county's own lot lines. It answers the broker's 'what is next to it', the underwriter's 'what am I exposed to' and the planner's 'what does this site sit against' out of one table.
The file
52,686 commercial parcels · the longest shared line on each side
115,652 rowsCounties in this file: Anoka, Carver, Dakota, Hennepin, Ramsey, Scott, Washington · 28 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 | side | neighbour | neighbour use | neighbour zoning | neighbour zoning district | shared line ft | neighbour assessed | parcel id |
|---|---|---|---|---|---|---|---|---|
| 8100 24th Ave S, Bloomington | N | 2101 Lindau La, Bloomington | LAND-COMMERCIAL | — | — | 1,152 | 128,708,600 | 0102724310017 |
| 1210 4th Street Southeast, Forest Lake | W | — | 940 | — | — | 308 | — | 1703221110021 |
| 455 Willow Dr, Long Lake | E | 491 Willow Dr, Long Lake | COMMERCIAL-PREFERRED | — | — | 200 | 668,000 | 3311823140007 |
| 13613 60th Street North, Oak Park Heights | E | 13625 60th Street North, Oak Park Heights | 300 | — | — | 236 | 1,534,400 | 0502920120033 |
| 2815 Wayzata Blvd, Minneapolis | W | 2823 Wayzata Blvd, Minneapolis | APARTMENT | CM2 | Corridor Mixed Use | 132 | 4,080,000 | 2902924420074 |
| 12000 Robert Trail South, Rosemount | E | 12086 Biscayne Avenue, Rosemount | Residential | — | — | 783 | — | 340161037010 |
| — | S | — | 955 5E COUNTY-PUBLIC SERVICE-OTHER | — | — | 176 | — | 220240061 |
| — | E | 808 Broadway Avenue West, Forest Lake | 300 | — | — | 200 | 633,300 | 0803221230016 |
| — | S | 8300 University Avenue Northeast, Fridley | 3a COMMERCIAL PREFERENTIAL | — | — | 47 | 2,011,500 | 023024220014 |
| 190 State Avenue North, New Germany | W | 260 State Avenue North, New Germany | 3A INDUSTRIAL LAND AND BUILDING | — | — | 235 | 1,931,100 | 550050710 |
An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: neighbour zoning is blank on 70.6% of rows, neighbour zoning district is blank on 70.6% of rows, neighbour assessed is blank on 40.0% of rows, neighbour is blank on 19.1% of rows, address is blank on 15.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 |
|---|---|---|
address |
address | default |
side |
side | default |
neighbour_address |
neighbour | default |
neighbour_use |
neighbour use | default |
neighbour_zoning |
neighbour zoning | default |
neighbour_zoning_name |
neighbour zoning district | default |
shared_line_ft |
shared line ft | default |
neighbour_assessed |
neighbour assessed | default |
neighbour_building_sqft |
neighbour building sq ft (derived) | optional |
building_sqft |
building sq ft (derived) | optional |
zoning |
zoning | optional |
zoning_name |
zoning district | optional |
zoning_city |
zoning authority | optional |
zoning_edge |
zoning changes at this line | optional |
split_zoned |
split-zoned parcel | optional |
in_floodplain |
in a special flood hazard area | optional |
parcel_id |
parcel id | default |
use |
use | optional |
assessed |
assessed | optional |
owner |
owner of record | optional |
taxpayer |
taxpayer of record | optional |
neighbour_id |
neighbour parcel id | optional |
neighbour_built |
neighbour year built | optional |
neighbour_lot_sqft |
neighbour lot sq ft | optional |
neighbours_on_this_side |
neighbours on this side | optional |
residential_edge |
residential edge | optional |
vacant_land |
vacant land next door | optional |
county |
county | optional |
Where it comes from
Hennepin County, Ramsey County, Dakota County, Anoka County, Washington County, Scott County and Carver County parcel geometry
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. 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=adjacency&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=adjacency&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.