Boundary Atlas

Minnesota's 2nd congressional district (MN-02)

Minnesota's 2nd congressional district (MN-02) covers parts or all of Dakota County, Le Sueur County, Scott County, Rice County and Washington County, and 55 ZIP codes (33 wholly inside it). Its 2020 population was 713,312. This is the map in force for the November 3, 2026 election.

713,312residents (2020 Census)
5counties
55ZIP codes
260voting precincts

Who represents MN-02

OfficeMemberContact
U.S. Representative (MN-02)Angie Craig (D)202-225-2271
U.S. SenatorAmy Klobuchar (D)202-224-3244 · contact form
U.S. SenatorTina Smith (D)202-224-5641 · contact form

Officials serving now (members of Congress until January 3, 2027). Sources: Members of Congress: the @unitedstates project, congress-legislators (CC0).

Counties

CountyShare of the county's residents in MN-02
Dakota County100%
Le Sueur County100%
Scott County100%
Rice County54%
Washington County22%

ZIP codes

Percentages mark ZIPs only partly in MN-02: the share of that ZIP's residents inside it.

Towns

Apple Valley city, Belle Plaine city, Belle Plaine township, Blakeley township, Bridgewater township, Burnsville city, Castle Rock township, Cedar Lake township, Cleveland city, Cleveland township, Coates city, Cordova township, Cottage Grove city, Credit River city, Denmark township, Derrynane township, Douglas township, Dundas city, Eagan city, Elko New Market city, Elysian city, Elysian township, Empire city, Erin township, Eureka township, Farmington city, Forest township, Greenvale township, Grey Cloud Island township, Hampton city, Hampton township, Hastings city, Hastings city, Heidelberg city, Helena township, Inver Grove Heights city, Jackson township, Jordan city, Kasota city and Kasota township and others.

Get this in your AI agent

Your agent can draw every precinct in MN-02, or list them with population shares (related_geographies). Add https://boundarymcp.com/mcp to Claude, ChatGPT, Cursor or Codex (free, no key; how), then:

get_boundaries(id="us:congressional_district:2702", children_level="precinct", include_districts=True)