Boundary Atlas

Missouri's 2nd congressional district (MO-02)

Missouri's 2nd congressional district (MO-02) covers parts or all of Franklin County, Warren County, St. Louis County and St. Charles County, and 65 ZIP codes (28 wholly inside it). Its 2020 population was 769,364. This is the map in force for the November 3, 2026 election.

769,364residents (2020 Census)
4counties
65ZIP codes
700voting precincts

Who represents MO-02

OfficeMemberContact
U.S. Representative (MO-02)Ann Wagner (R)202-225-1621
U.S. SenatorEric Schmitt (R)202-224-5721 · contact form
U.S. SenatorJosh Hawley (R)202-224-6154 · 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 MO-02
Franklin County100%
Warren County66%
St. Louis County53%
St. Charles County26%

ZIP codes

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

Towns

Boeuf township, Boles township, Bonhomme township, Boone township, Bridgeport township, Calvey township, Central township, Charrette township, Chesterfield township, Concord township, Gravois township, Lafayette township, Lemay township, Lyon township, Meramec township, Meramec township, New Haven township, Oakville township, Pinckney township, Prairie township, Queeny township, South Elkhorn township, St. Johns township, Tesson Ferry township, Union township, Washington township, Wildhorse township, Boone township, Missouri River township, Weldon Spring township, Maryland Heights township, Jefferson township, Lake St. Louis township, Hickory Grove township, Hadley township, Clayton township, North Elkhorn township, Creve Coeur township, Dardenne township and Cottleville township and others.

Get this in your AI agent

Your agent can draw every precinct in MO-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:2902", children_level="precinct", include_districts=True)