Martin Heinrich headshot
At a Glance
Seat
U.S. Senator from New Mexico
Born
October 17, 1971
Age 54
Phone
(202) 224-5521
Office
709 Hart Senate Office Building Washington, DC 20510, Washington 20515
Congress Member Profile|U.S. Senator|Democrat|New Mexico

Martin Heinrich

Martin Trevor Heinrich is an American politician serving as the senior United States senator from New Mexico, a seat he has held since 2013. A member of the Democratic Party, Heinrich served as the U.S. representative from New Mexico's 1st congressional district from 2009 to 2013. He and fellow senator Ben Ray Luján are the co-deans of New Mexico's congressional delegation.

Source: WikipediaView full (CC BY-SA)
Voting Record — 776
Yes32%
No64%
Present0%
Not Voting4%
Party align93%
Cross-party6%
SoupScore
District Map

Senate District (Statewide)

U.S. Census Bureau boundary data.
Martin Heinrich headshot
Martin Heinrich
U.S. SenatorDemocratNew Mexico
SoupScore
Martin's ATmosphere Activity
20 recent posts · 42 sponsored · 241 cosponsored
View profile

Recent ATmosphere posts, sponsorships, and cosponsorships.

The reckless disregard for national security continues from the Trump White House. It defies explanation to fire senior intelligence leaders without cause or warning. Firing General Haugh and his staff makes our country less safe.
NYT headline with photo of Laura Loomer: Trump fires 6 N.S.C. Officials After Oval Office Meeting With Laura Loomer. 

Subheading: During the 30-minute meeting, the far-right activist excoriated National Security Council officials in front of the president and Michael Waltz, the national security advisor.
Public lands belong to all of us. Under the Republicans’ agenda, wealthy out-of-state landowners can turn our most beloved public lands into their private resorts. Not on our watch. Senator Hickenlooper and I are introducing an amendment to protect these places for generations to come.
Yesterday, my friend @booker.senate.gov gave voice to everyone being harmed by Trump and Musk’s actions. In doing so, he broke a record–one set almost 70 years ago in protest of the Civil Rights Act. Fighting for the people will always be more powerful than fighting against them.
Photo of Senators Cory Booker and Martin Heinrich laughing on the Capitol steps.
Photo of Senators Cory Booker and Martin Heinrich laughing on the Capitol steps.
For weeks, Republicans have laid the foundation to sell off our public lands to fund tax handouts for billionaire donors. Now, their plans are out in the open. Make it clear just how unpopular these attacks on our American birthright are. Public lands belong in public hands.
Screenshot of E&E News headline: Republicans weigh sales of public land in reconciliation
My friend @booker.senate.gov is on hour 14 on the Senator floor to amplify the voices of Americans being harmed by Donald Trump and Elon Musk. This isn’t business as usual, and we won’t act like it is. Tune in ⬇️
I’ve taken the Senate floor and will speak for as long as I’m physically able to lift the voices of Americans who are being harmed and not being heard in this moment of crisis. Watch here:
Bill O’Neill was a true public servant, well known for his commitment to connecting with constituents across Albuquerque’s North Valley. My condolences go out to his friends and family. He will be deeply missed.
Last week I met with air traffic controllers from Albuquerque — folks who keep us all safe. In Congress, I am fighting to staff up our air traffic control towers and keep pushing back against Trump’s gutting of the FAA.
Senator Martin Heinrich and Albuquerque members of the National Air Traffic Controllers Association meeting in a conference room.
Senator Martin Heinrich and Albuquerque members of the National Air Traffic Controllers Association meeting in a conference room.
There is absolutely NO place for political violence in our democracy, at any level. And whoever did this must be held accountable. While I am glad to hear no one was injured, I strongly condemn what happened. This is NOT how we should treat one another.
SoupScore Breakdown
Loading analysis metrics…
Voting History
776 total votes
ExpandCollapse

Recent roll calls with party-majority context so it is easier to scan how this member tends to vote.

DateBillQuestionPositionParty MajAlign?Result
2025-05-21H.J. Res. 88 (119th)Begin considerationNOT_VOTINGNOMotion to Proceed Agreed to (51-46)
2025-05-21S.J. Res. 55 (119th)Approve resolutionNOT_VOTINGNOJoint Resolution Passed (51-46)
2025-05-21S.J. Res. 55 (119th)Point of Order S.J.Res. 55NOT_VOTINGNOPoint of Order Sustained (51-46)
2025-05-21S.J. Res. 55 (119th)Point of Order S.J.Res. 55NOT_VOTINGNOPoint of Order Sustained (51-46)
2025-05-21S.J. Res. 55 (119th)Motion to Adjourn S.J.Res. 55NOT_VOTINGYESMotion to Adjourn Rejected (46-51)
2025-05-21Motion (Motion to Recess for Ten Minutes)NOT_VOTINGYESMotion Rejected (45-52)
2025-05-21Motion (Motion to Recess for Fifteen Minutes)NOT_VOTINGYESMotion Rejected (46-51)
2025-05-21Motion (Motion to Recess for Thirty Minutes)NOT_VOTINGYESMotion Rejected (46-51)
2025-05-21Motion (Motion to Recess for 60 Minutes)NOT_VOTINGYESMotion Rejected (45-51)
2025-05-21Motion (Motion to Recess for Ninety Minutes)NOT_VOTINGYESMotion Rejected (46-51)
2025-05-21S.J. Res. 55 (119th)Kill the motionNOT_VOTINGNOMotion to Table Agreed to (51-46)
2025-05-21S.J. Res. 55 (119th)Kill the motionNOT_VOTINGYESMotion to Table Failed (46-52)
2025-05-21S.J. Res. 55 (119th)Begin considerationNONOMotion to Proceed Agreed to (53-46)
2025-05-21S. 1582 (119th)Begin considerationYESNOMotion to Proceed Agreed to (69-31)
2025-05-19S. 1582 (119th)End filibuster to begin debateYESNOCloture on the Motion to Proceed Agreed to (66-32, 3/5 majority required)
2025-05-19Confirm nomineeNONONomination Confirmed (51-45)
2025-05-19End debateNONOCloture Motion Agreed to (52-46)
2025-05-15S. Res. 195 (119th)Motion to Discharge S.Res. 195YESYESMotion to Discharge Rejected (45-50)
2025-05-15Confirm nomineeNONONomination Confirmed (51-46)
2025-05-14End debateNONOCloture Motion Agreed to (52-47)
2025-05-14Confirm nomineeNONONomination Confirmed (52-45)
2025-05-14End debateNONOCloture Motion Agreed to (51-45)
2025-05-14Confirm nomineeNONONomination Confirmed (54-43)
2025-05-14End debateNONOCloture Motion Agreed to (53-43)
2025-05-14Confirm nomineeNONONomination Confirmed (51-46)
2025-05-14End debateNONOCloture Motion Agreed to (51-45)
2025-05-14Confirm nomineeYESNONomination Confirmed (54-40)
2025-05-13End debateYESNOCloture Motion Agreed to (57-41)
2025-05-13Confirm nomineeNOT_VOTINGNONomination Confirmed (52-44)
2025-05-13End debateYESNOCloture Motion Agreed to (53-45)
2025-05-13Confirm nomineeYESNONomination Confirmed (74-25)
2025-05-13End debateYESNOCloture Motion Agreed to (72-26)
2025-05-13Confirm nomineeNONONomination Confirmed (52-46)
2025-05-12End debateNONOCloture Motion Agreed to (52-45)
2025-05-12Confirm nomineeNONONomination Confirmed (52-45)
2025-05-12End debateNONOCloture Motion Agreed to (53-47)
2025-05-08S. 1582 (119th)End filibuster to begin debateNONOCloture on the Motion to Proceed Rejected (48-49, 3/5 majority required)
2025-05-08H.J. Res. 60 (119th)Approve resolutionNONOJoint Resolution Passed (50-43)
2025-05-08S.J. Res. 7 (119th)Approve resolutionNONOJoint Resolution Passed (50-38)
2025-05-07S.J. Res. 13 (119th)Approve resolutionNONOJoint Resolution Passed (52-47)
2025-05-06H.J. Res. 60 (119th)Begin considerationNONOMotion to Proceed Agreed to (53-47)
2025-05-06S.J. Res. 7 (119th)Begin considerationNONOMotion to Proceed Agreed to (53-47)
2025-05-06Confirm nomineeNONONomination Confirmed (53-47)
2025-05-06S.J. Res. 13 (119th)Begin considerationNONOMotion to Proceed Agreed to (53-46)
2025-05-06H.J. Res. 61 (119th)Approve resolutionNONOJoint Resolution Passed (55-45)
2025-05-05H.J. Res. 61 (119th)Begin considerationNONOMotion to Proceed Agreed to (51-43)
2025-05-01End debateNONOCloture Motion Agreed to (50-45)
2025-05-01S.J. Res. 31 (119th)Approve resolutionNONOJoint Resolution Passed (52-46)
2025-05-01H.J. Res. 75 (119th)Approve resolutionNONOJoint Resolution Passed (52-45)
2025-04-30S.J. Res. 31 (119th)Begin considerationNOT_VOTINGNOMotion to Proceed Agreed to (52-40)

Alignment stats consider only votes where a clear yes/no majority existed for the legislator's party. Cross-party marks divergence where the vote matched the opposite party majority. ↔ indicates cross-party divergence.

← PrevPage 11 / 16Next →