Healthcare providers with a federal NPI, statewide
Every active federal provider number issued to a healthcare business in Minnesota — clinics, home care agencies, nursing homes, pharmacies, dental practices, medical transport — with the address it practises from, what it does, the other names it trades under, and the person who signed for it at CMS. One row is one provider number rather than one business, because a hospital is issued a separate number for each service it runs. It is the only file here that reaches the whole state, and the only one that puts a named human beside a business at this scale. It is not a list of who is enrolled in a Minnesota programme, and it cannot be made into one.
This file covers the whole state and still cannot be pointed at your address. NPPES publishes a street and a city, never a coordinate, so a radius has to run through our address index — and that index is the counties that publish an open address layer, not all 87. It now reaches 56 of them, so Duluth and St Cloud are in it where they were not before. But 31 Minnesota counties publish no open address layer at all, which is why Mankato and Bemidji cannot be reached — and Olmsted publishes 424 addresses for the entire county, so neither can Rochester. Filtering by address would hand those visitors a confident zero about a file holding hundreds of rows for them. Filter on the city column instead; it holds all 714.
The file
Minnesota · statewide · 32,257 federal provider numbers held by 25,624 named organisations at 23,988 addresses, in 714 cities
32,257 rowsGround covered: Minnesota — statewide. 714 cities in the file — the registry behind it records a city and never a county, so this file names no counties. · 18 columns available · free, no account, no rate limit.
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.
| organisation | authorized official | their title | provider type | taxonomy code | practice address | city | trades as | NPI |
|---|---|---|---|---|---|---|---|---|
| Ada Chiropractic Clinic, P.A. | Jason Menge | Doctor/owner | Chiropractor | 111N00000X | 406 E Main St | Ada | — | 1467818187 |
| Best Of Care Home Health INC. | Alivia Thurman | Owner | Home Health | 251E00000X | 7710 Brooklyn Blvd | Brooklyn Park | — | 1407199359 |
| Mark D. Homstad, D.p.m., P.A. | Mark Homstad | President | Podiatrist | 213E00000X | 3308 W Arrowhead Rd | Duluth | — | 1710166541 |
| Complete Construction Of Mpls INC | Carol Croal | Cfo | Home Modifications | 171WH0202X | 2525 Nevada Ave N Ste 302 | Golden Valley | — | 1417742024 |
| Hmong Minnesota Senior Center | Mang Chu-yang-heu | Owner | Adult Day Care | 261QA0600X | 1730 Gervais Ave | Maplewood | — | 1225208044 |
| Royal Health Service INC | Mohamed Kodah | Manager | Home Health | 251E00000X | 2718 Nicollet Ave | Minneapolis | United Home Health Care | 1386938025 |
| Meadow Creek, INC | Valerie Bundy | Controller | Substance Abuse Rehabilitation Facility | 324500000X | 17305 Meadow Creek Lane | Pine City | — | 1942413687 |
| From My Side Of The Couch LLC | Jessica Katz | Owner/operator | Mental Health | 101YM0800X | 9890 42nd St Ne | Saint Michael | — | 1740155886 |
| Total Medical Supply CO INC | Jeremy Johnson | Delegated Official | Durable Medical Equipment & Medical Supplies | 332B00000X | 7777 Highway 65 Ne | Spring Lake Park | — | 1437186707 |
| Fairview Pharmacy Services LLC | Sameer Badlani | Chairman Of The Board | Non-Pharmacy Dispensing Site | 332900000X | 3605 Mayfair Ave | 3605 Mayfair Ave | Fairview Hibbing Clinic; M Health Fairview Hibbing Clinic MTM | 1972259570 |
An em dash means the record is blank, and that is the source's gap rather than ours. Across the whole file: trades as is blank on 69.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 |
|---|---|---|
organisation |
organisation | default |
official |
authorized official | default |
official_title |
their title | default |
provider_type |
provider type | default |
taxonomy_code |
taxonomy code | default |
address |
practice address | default |
city |
city | default |
trades_as |
trades as | default |
npi |
NPI | default |
zip |
ZIP | optional |
provider_group |
provider group | optional |
official_middle |
official middle name | optional |
former_name |
former legal name | optional |
other_name |
other name on file | optional |
mailing_address |
mailing address | optional |
mailing_city |
mailing city | optional |
mailing_state |
mailing state | optional |
mail_outside_mn |
mail goes out of state | optional |
Where it comes from
NPPES — the CMS National Plan and Provider Enumeration System monthly full replacement file (download.cms.gov/nppes/), with provider types named from the NUCC Health Care Provider Taxonomy code set 251
Records retrieved 2026-08-23 — 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 Centers for Medicare & Medicaid Services, National Uniform Claim Committee. A work of the United States government, which is not subject to copyright protection in the U.S. (17 U.S.C. § 105).
Read the full licence · how we license every dataset, and the two we do not
Without the page
/api/export?dataset=providers&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=providers&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.