Boundary Atlas

Massachusetts's 9th congressional district (MA-09)

Massachusetts's 9th congressional district (MA-09) covers parts or all of Barnstable County, Dukes County, Nantucket County, Plymouth County, Bristol County and Norfolk County, and 95 ZIP codes (91 wholly inside it). Its 2020 population was 781,102. This is the map in force for the November 3, 2026 election.

781,102residents (2020 Census)
6counties
95ZIP codes
235voting precincts

Who represents MA-09

OfficeMemberContact
U.S. Representative (MA-09)William R. Keating (D)202-225-3111
U.S. SenatorEdward J. Markey (D)202-224-2742 · contact form
U.S. SenatorElizabeth Warren (D)202-224-4543 · 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 MA-09
Barnstable County100%
Dukes County100%
Nantucket County100%
Plymouth County61%
Bristol County32%
Norfolk County1.1%

ZIP codes

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

Towns

Acushnet town, Aquinnah town, Barnstable Town city, Bourne town, Brewster town, Bridgewater Town city, Carver town, Chatham town, Chilmark town, Cohasset town, Dartmouth town, Dennis town, Duxbury town, Eastham town, Edgartown town, Fairhaven town, Falmouth town, Gosnold town, Halifax town, Hanover town, Hanson town, Harwich town, Kingston town, Marion town, Marshfield town, Mashpee town, Mattapoisett town, Middleborough town, Nantucket town, New Bedford city, Norwell town, Oak Bluffs town, Orleans town, Pembroke town, Plymouth town, Plympton town, Provincetown town, Rochester town, Rockland town and Sandwich town and others.

Get this in your AI agent

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