MPLS Poll Finder

An open-source, API-backed poll finder that (mostly) doesn't suck ❤️

⚠️ Check out the FAQ before diving in!

đź‘€ Need an example? Click here!

Frequently Asked Questions (F.A.Q.)

What is this?

This is a tool that (mostly) helps you with one thing: finding your polling place (if you live in Minneapolis) and your voting precinct (if you live in Minnesota)!

Are there any limitations with this tool?

Yes. lol.

First off, this relies on Google Maps for geocoding the data. Like most APIs, if you send garbage data to it, you'll likely receive garbage in return. In other words, you'll see the best results if you send complete street addresses (that actually exist!), with brownie points if you include a ZIP code.

With any geocoder, the data tends to be less accurate in less populous areas. While it should work just fine for most parts of the state (provided you send it complete and valid addresses), take it with a grain of salt if you're outside of the Twin Cities Metro Area! If you're ever unsure of the results you're getting, the official poll finder is your best bet.

So this is cool and all but... the Minnesota Secretary of State already does this. Why are you?

It's true—the Secretary of State (SOS) has done excellent work on these fronts and it serves us very well! However, the current system requires a lot of clicks to access all of that valuable information—not just access to your precinct and its corresponding polling place, but all of your electoral boundaries (Ward, County, Congressional Districts, etc.) and everything on your ballot.

And the bummer for developers like myself is that there's no discernable pattern to these URLs, meaning that all of this information is difficult to access at scale unless you cobble it together yourself. This makes it harder for grassroots campaigns with an essential part of their jobs, which has a downstream negative impact on electoral turnout.

This tool isn't intended to replace the SOS's system—it was built by a single person with a literal $0 budget, I honestly couldn't do that if I tried! This is more intended to be a exploration of what a modern electoral information API could like. 🌱

You mentioned that this is an API! How does that work?

You can retrieve a JSON representation of the data provided on the website by passing an Accept header in your request that specifies application/json. You can alternatively pass a format=json query parameter (like this!).

The markup on this webpage also includes a few hidden tricks for Google Sheets users to easily integrate this data into their spreadsheets. You can grab the XPath selectors of certain fields on the page and then use formulas like these to import the data:

  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='Precinct']")
  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='address']")
  • =IMPORTXML("https://mpls.vote?address="&ENCODEURL("100 Main St"),"//*[@id='mplsPollingPlace21']")

Do you have a privacy policy?

This is a humble proof-of-concept so it doesn't have any official privacy policy legalese, but this website does not include with any client-side analytics/tracking scripts whatsoever, nor we store any of the information you send anywhere. The code is fully open-source if you'd like to verify this for yourself!

The information you submit to the site via the query parameters (address information, geographic coordinates via the 'Current Location' button, etc.) is anonymously sent to the Google Maps Geocoding API so that information is subject to their privacy policy and their terms of use. So don't, like, send your social security number through the form? It's totally invisible to us, but it's technically being sent to Google.

Will elections save us?

lol... you must be new here