Michigan Porch

Open data

Michigan data downloads

These are the datasets behind Michigan Porch's calculators, as free JSON files. Use them in apps, spreadsheets, articles, or research. Each file names its official source and its vintage — the report and year the numbers come from — inside the file itself. The license and the credit line ride along too, so a copy that travels still says where it came from.

File format

One JSON object per dataset

The rows sit under the data key. The rest of the object describes the rows: source, vintage, lastUpdated, fields, rowCount, license, attribution, and citeAs. The endpoints are versioned under /data/v1/ and allow cross-origin requests, so a script or page on another site can fetch them directly.

Dataset

Michigan property tax millage rates

Total property tax millage rates for Michigan cities and townships, by school district. One mill is $1 of tax per $1,000 of Taxable Value. The rows are parsed from the Michigan Treasury 2025 Total Property Tax Rates report.

One row per city or township and school-district combination, covering all 83 counties. This file powers the Michigan Homebuyer Tax Calculator.

Rows
3,574
Vintage
2025 Michigan Treasury Total Property Tax Rates
Last updated
2026-05-28
Download millage-rates.json JSON · CC BY 4.0 · no key, no signup

License and citation

Licensed CC BY 4.0. Reuse is welcome, including commercial reuse. Keep this credit line with the data:

Data: Michigan Porch (michiganporch.com) — CC BY 4.0

For a formal reference, cite the file like this:

Michigan Porch, "Michigan property tax millage rates" (2025 Michigan Treasury Total Property Tax Rates). https://michiganporch.com/data/v1/millage-rates.json. CC BY 4.0. Underlying figures: Michigan Treasury 2025 Total Property Tax Rates report.

Field dictionary

Field Type Meaning
county string Michigan county name.
municipality string Local taxing unit name as printed in the Treasury report, for example "Alcona Twp".
unitCode string Six-digit Michigan Treasury code for the local unit of government.
schoolDistrict string School district name as printed in the Treasury report (uppercase, sometimes shortened). Some entries carry a tax-area or village suffix.
preMillage number Total millage, in mills, for a home with a Principal Residence Exemption (PRE). Does not include ad valorem special-assessment mills.
nonHomesteadMillage number Total millage, in mills, for non-homestead property — property without a PRE, such as rentals and second homes. Does not include ad valorem special-assessment mills.
preMillageWithSpecial number PRE millage including any ad valorem special-assessment mills the report lists for the unit.
nonHomesteadMillageWithSpecial number Non-homestead millage including any ad valorem special-assessment mills the report lists for the unit.
commercialPersonalMillage number Total millage the report lists for commercial personal property, in mills.
industrialPersonalMillage number Total millage the report lists for industrial personal property, in mills.
displayName string Reader-friendly unit name used on Michigan Porch, for example "Alcona Township".
type string Local unit type: "city", "township", or "village".
slug string Michigan Porch place identifier. The matching page is michiganporch.com/places/{slug}/.

Dataset

Michigan city income tax rates

The 24 Michigan cities that levy a city income tax, with resident and nonresident rates as decimals. Most cities use 1% for residents and 0.5% for nonresidents; Detroit, Grand Rapids, Highland Park, and Saginaw use higher rates.

One row per taxing city. This file powers the city income tax checker.

Rows
24
Vintage
Michigan Treasury city-income-tax list and 2025 taxpayer manual
Last updated
2026-05-29
Download city-income-tax.json JSON · CC BY 4.0 · no key, no signup

License and citation

Licensed CC BY 4.0. Reuse is welcome, including commercial reuse. Keep this credit line with the data:

Data: Michigan Porch (michiganporch.com) — CC BY 4.0

For a formal reference, cite the file like this:

Michigan Porch, "Michigan city income tax rates" (Michigan Treasury city-income-tax list and 2025 taxpayer manual). https://michiganporch.com/data/v1/city-income-tax.json. CC BY 4.0. Underlying figures: Michigan Treasury list of cities that impose an income tax.

Field dictionary

Field Type Meaning
city string City name. City income tax applies inside the legal city boundary, not the wider mailing area that shares the city's name.
residentRate number Rate for people who live in the city, as a decimal (0.01 = 1%).
nonresidentRate number Rate for people who live elsewhere but earn wages inside the city, as a decimal (0.005 = 0.5%). It applies to the in-city wages.

Dataset

Michigan recurring deadlines

The recurring dates that matter to Michigan homeowners, homebuyers, movers, and the outdoors crowd — tax bills, PRE deadlines, the March Board of Review, license years, and season opens. The dates are the same for everyone statewide; each row links the page that explains it.

One row per recurring statewide date. This file powers the homepage calendar and the .ics feed.

Rows
18
Vintage
Michigan statutes and 2026 agency pages, as cited per row
Last updated
2026-07-08
Download deadlines.json JSON · CC BY 4.0 · no key, no signup

License and citation

Licensed CC BY 4.0. Reuse is welcome, including commercial reuse. Keep this credit line with the data:

Data: Michigan Porch (michiganporch.com) — CC BY 4.0

For a formal reference, cite the file like this:

Michigan Porch, "Michigan recurring deadlines" (Michigan statutes and 2026 agency pages, as cited per row). https://michiganporch.com/data/v1/deadlines.json. CC BY 4.0. Underlying figures: Official sources linked per row (Michigan Treasury, DNR, legislature.mi.gov).

Field dictionary

Field Type Meaning
slug string Stable event identifier.
label string Event name.
month number Month of the year, 1–12.
day number Day of month for fixed statutory or season dates. Absent when the date shifts year to year.
window string Display text for events without a fixed day, for example "The last Saturday in April".
audience string Who the date matters to: "buyer", "owner", "mover", or "outdoors".
blurb string One or two plain sentences on what the date means.
url string The michiganporch.com page that explains the date.
officialLabel string Name of the official source, when one is linked.
officialUrl string Official source URL, when one is linked.

License

License and attribution

Both files are licensed Creative Commons Attribution 4.0 (CC BY 4.0). You can copy, reshape, and republish the data — in a product, a story, a model, or a class project — as long as the credit line stays with it.

The State of Michigan publishes the underlying figures. The license covers Michigan Porch's cleaned, combined, and documented files. When a number is load-bearing for your work, check it against the official source linked on each dataset — that source decides.

Sources and review

The official sources

Michigan Porch parses and rechecks official state publications. These are the documents behind the two files.

Last reviewed
June 8, 2026

Use this carefully: These files are planning aids. The local assessor, city treasurer, or Michigan Treasury controls the official number for a specific parcel, taxpayer, or year.

Next steps

Where to next

The tools these files power, plus the rest of the toolbox.

Page feedback

See something wrong or unclear?

Send a note about this page. The page address will be included automatically.

Send a note