bricks self-service data platform · Twin Cities

Brick & Mortar · datasets

Who does the work here, and how to write to them

The trades who actually work this market, ranked by how much permitted work they have pulled, with the parcels they worked it on and the address their permit office has for them. It answers 'who does this kind of job around here, and are they still working' out of the cities' own records rather than out of a directory that sells placement.

The file

Minneapolis and Saint Paul · 6,588 firms on 47,764 permits · 2020-01-02 to 2026-08-17

6,588 rows

Counties in this file: Hennepin, Ramsey · 14 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.

firm as filedmain tradepermitssites workedlast permitmailing address
CenterPoint Energy Resource Corpsystems2,0359562026-08-06700 W LINDEN AVE MINNEAPOLIS
Charity Heating and Cooling Servicessystems1122026-07-2117399 700th Ave Dassel
Kraft Contracting LLCsystems552025-12-112330 Ventura Dr Woodbury
North Star Electrical Contractors Incsystems322023-09-21800 42nd Avenue North Minneapolis MN 55412
MANYVONE KEOMANYVONGstructural212023-09-113000 CHANDLER COURT BURNSVILLE MN 55337
BASILLICA OF ST MARYstructural112021-10-2888 17th St N Minneapolis
Facilities Director Jayson Palmstructural112025-08-181130 Nicollet mall Minneapolis
Larsh Plumbing LLCsystems112025-10-231749 Gotland Ln Shakopee
RYAN SUNRAM SUNRAM CONSTRUCTION INCstructural112020-09-1520010 75TH AVE N CORCORAN MN 55340
whitney elander CEDAR VIEW ELECTRIC INCsystems112023-09-24645 SHENANDOAH DRIVE SHAKOPEE MINNESOTA 55379

The cuts of this file

Every cut is the same columns, filtered. Pick one and the row count changes; the file does not.

4 scopes
CutRowsFile
every firm 6,588 CSV
still pulling permits 2,610 CSV
structural work 4,504 CSV
ten or more permits 842 CSV

Every column in this file

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

14 columns
ColumnWhat it isIn the default file
firm firm as filed default
main_trade main trade default
permits permits default
sites sites worked default
last_permit last permit default
mailing_address mailing address default
city city optional
first_permit first permit optional
open_permits no completion recorded optional
permits_recently permits since 2024-08-17 optional
trades trades worked optional
register register's own word optional
value_usd_stp declared value (St Paul only) optional
county county optional

Where it comes from

Minneapolis CCS_Permits — Community Planning and Economic Development; Saint Paul Approved_Building_Permits — Department of Safety and Inspections

Records retrieved 2026-08-19 — 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, 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=contractors&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=contractors&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.