Brick & Mortar · datasets

Every 311 request, call by call

Pick a year. Join nothing to a parcel — there is no parcel key here.

The file

932,497 311 requests in Minneapolis, 2015 to 2026, one row each with the city's own point on 783,888. One file per year. Newest row 2026-08-19.

932,497 rows

Counties in this file: Hennepin · 13 columns available · free, no account, no rate limit.

Joins to an address on lat, lon, 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.

openedclosedsubjectreasontype
2015-01-052015-07-31StreetsLightingStreet Light Trouble
2017-05-092017-05-25Public SafetyGraffiti / Clean CityGraffiti - Open311
2019-02-012019-02-01Animal RelatedAnimal ControlAnimal Complaint - Livability
2020-05-152020-05-22Solid Waste & RecyclingGarbage & RecyclingSolid Waste Overflowing Litter - Open311
2021-06-302021-07-01Vehicles and CommutingTraffic ControlParking Violation Complaint
2022-08-082022-08-12PropertyPrivate PropertyRHOD Tenant Conditions Complaint
2023-06-282023-06-28Animal RelatedAnimal ControlAnimal Complaint - Public Health
2024-07-302024-07-30Vehicles and CommutingTraffic ControlParking Violation - Open311
2025-08-192025-08-21PropertyPrivate PropertyResidential Conditions Complaint Tenant
2026-08-19—Vehicles and CommutingTraffic ControlParking Violation - Open311

An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: closed is blank on 0.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.

12 scopes
CutRowsFile
2015 34,736 CSV
2016 51,688 CSV
2017 55,180 CSV
2018 61,565 CSV
2019 69,206 CSV
2020 94,069 CSV
2021 93,250 CSV
2022 92,169 CSV
2023 117,935 CSV
2024 95,890 CSV
2025 100,088 CSV
2026 66,721 CSV

Every column in this file

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

13 columns
ColumnWhat it isIn the default file
opened opened default
closed closed default
status status optional
subject subject default
reason reason default
type type default
title title optional
case_id case id optional
year year optional
city city optional
county county optional
lat latitude optional
lon longitude optional

Where it comes from

City of Minneapolis open data — 311 requests, the same feed the aggregate slice reads

Records retrieved 2026-09-10 — 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 City of Minneapolis. 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=service-requests&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=service-requests&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.