It was an honor to speak to the New Mexico legislature today. New Mexicans are counting on us—all of us—to lead, to care, and to keep our communities safe.
And if we always pledge to put the people first, then together we will deliver the future our kids deserve.

Congress Member Profile|U.S. Senator|Democrat|New Mexico
Martin Heinrich
SoupScoreanalysis-first civic rating · view full breakdown
Loading…
Voting Record — 890
Yes34%
No62%
Present0%
Not Voting4%
Party align93%
Cross-party6%
SoupScore
District Map
Senate District (Statewide)
U.S. Census Bureau boundary data.
Social & Web
External Resources

Martin Heinrich
U.S. SenatorDemocratNew Mexico
SoupScore
Martin's ATmosphere Activity
20 recent posts · 55 sponsored · 281 cosponsored
Recent ATmosphere posts, sponsorships, and cosponsorships.
Here’s another picture of complete stupidity and incompetence that hits close to home for New Mexico…
www.santafenewmexican.com/news/trump-a...
USDA Secretary Rollins said one of her top priorities is to quickly manage the bird flu outbreak. I’m glad to hear it, but egg prices keep rising, so it's not enough that she says it’s a priority. I want to know what she’s actually going to do. www.wattagnet.com/poultry-meat...
As we speak, the Trump administration is laying off thousands of workers who take care of our public lands. If you care about the legacy that we pass on to our kids and grandkids, now is the time to speak up.
If you’re among the thousands of federal workers that Donald Trump and Elon Musk just fired, make sure you submit your claim for unemployment benefits. In New Mexico, you can file it at the link here: www.dws.state.nm.us/MyWorkforceC...
Trump just fired 88 employees at the Western Area Power Administration. Combined with Elon’s “buyout,” we could be looking at a 20% reduction in their workforce, crippling the western grid and leading to blackouts and power outages.
Things Trump Did This Week:
• Made himself chair of the Kennedy Center
• Fired thousands of federal workers
• Imposed a 25% tariff on foreign steel and aluminum
Things Trump Did Not Do This Week:
• Help us lower the costs of eggs
Apparently Trump is too busy bailing out the corrupt Mayor of NYC to do anything about the cost of groceries and housing.
apnews.com/article/egg-...
The crime package is a great start, but Republicans shouldn’t walk away from doing the right thing here, and Democrats should continue to embrace doing even more. www.abqjournal.com/news/courts/...
I'm leading the New Mexico Congressional Delegation in demanding Donald Trump and Elon Musk end their illegal mass firings at once.
We depend on small businesses to power our local economies and Donald Trump and Elon Musk just fired 720 workers at the federal agency that supports small businesses.
We have a grave shortage of doctors and nurses in Indian Country and Donald Trump and Elon Musk just fired 850 of the staff at Indian Health Services.
We are in the middle of a housing crisis and Donald Trump and Elon Musk are firing half the staff at our federal housing agency.
We are facing a growing threat from Avian Flu and Donald Trump and Elon Musk just fired 5200 federal public health workers.
Donald Trump and Elon Musk’s Valentine’s Day firing massacre won’t just impact federal workers. It will impact everyone. 🧵
Russia attacked Chernobyl this morning and what is Trump doing?… laying off the people who safeguard and modernize our nuclear deterrent.
Happy Valentine’s Day to my forever Valentine, Julie.
And by this he means it costs one gold bar just to afford a carton of eggs. www.foxnews.com/opinion/marc...
President Donald Trump and his billionaire crony Elon Musk are now coming for the workers who literally keep our lights on and power our economy.
Stupid. Wrongheaded. Dangerous.
We will fight this in the courts. www.politico.com/news/2025/02...
Wow. You don’t say.
SoupScore Breakdown
Loading analysis metrics…
Voting History890 total votesExpandCollapse
Voting History
890 total votes
Recent roll calls with party-majority context so it is easier to scan how this member tends to vote.
| Date | Bill | Question | Position | Party Maj | Align? | Result |
|---|---|---|---|---|---|---|
| 2025-06-04 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-46) |
| 2025-06-04 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (60-37) |
| 2025-06-04 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-46) |
| 2025-06-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (72-26) |
| 2025-06-03 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (66-28) |
| 2025-06-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (59-36) |
| 2025-06-03 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (59-37) |
| 2025-06-03 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-46) |
| 2025-06-02 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-45) |
| 2025-05-22 | H.J. Res. 89 (119th) | Approve resolution | NOT_VOTING | NO | — | Joint Resolution Passed (49-46) |
| 2025-05-22 | H.J. Res. 89 (119th) | Begin consideration | NOT_VOTING | NO | — | Motion to Proceed Agreed to (51-46) |
| 2025-05-22 | H.J. Res. 87 (119th) | Approve resolution | NOT_VOTING | NO | — | Joint Resolution Passed (51-45) |
| 2025-05-22 | H.J. Res. 87 (119th) | Begin consideration | NOT_VOTING | NO | — | Motion to Proceed Agreed to (51-46) |
| 2025-05-22 | H.J. Res. 88 (119th) | Approve resolution | NOT_VOTING | NO | — | Joint Resolution Passed (51-44) |
| 2025-05-21 | H.J. Res. 88 (119th) | Begin consideration | NOT_VOTING | NO | — | Motion to Proceed Agreed to (51-46) |
| 2025-05-21 | S.J. Res. 55 (119th) | Approve resolution | NOT_VOTING | NO | — | Joint Resolution Passed (51-46) |
| 2025-05-21 | S.J. Res. 55 (119th) | Point of Order S.J.Res. 55 | NOT_VOTING | NO | — | Point of Order Sustained (51-46) |
| 2025-05-21 | S.J. Res. 55 (119th) | Point of Order S.J.Res. 55 | NOT_VOTING | NO | — | Point of Order Sustained (51-46) |
| 2025-05-21 | S.J. Res. 55 (119th) | Motion to Adjourn S.J.Res. 55 | NOT_VOTING | YES | — | Motion to Adjourn Rejected (46-51) |
| 2025-05-21 | — | Motion (Motion to Recess for Ten Minutes) | NOT_VOTING | YES | — | Motion Rejected (45-52) |
| 2025-05-21 | — | Motion (Motion to Recess for Fifteen Minutes) | NOT_VOTING | YES | — | Motion Rejected (46-51) |
| 2025-05-21 | — | Motion (Motion to Recess for Thirty Minutes) | NOT_VOTING | YES | — | Motion Rejected (46-51) |
| 2025-05-21 | — | Motion (Motion to Recess for 60 Minutes) | NOT_VOTING | YES | — | Motion Rejected (45-51) |
| 2025-05-21 | — | Motion (Motion to Recess for Ninety Minutes) | NOT_VOTING | YES | — | Motion Rejected (46-51) |
| 2025-05-21 | S.J. Res. 55 (119th) | Kill the motion | NOT_VOTING | NO | — | Motion to Table Agreed to (51-46) |
| 2025-05-21 | S.J. Res. 55 (119th) | Kill the motion | NOT_VOTING | YES | — | Motion to Table Failed (46-52) |
| 2025-05-21 | S.J. Res. 55 (119th) | Begin consideration | NO | NO | ✓ | Motion to Proceed Agreed to (53-46) |
| 2025-05-21 | S. 1582 (119th) | Begin consideration | YES | NO | ✕↔ | Motion to Proceed Agreed to (69-31) |
| 2025-05-19 | S. 1582 (119th) | End filibuster to begin debate | YES | NO | ✕↔ | Cloture on the Motion to Proceed Agreed to (66-32, 3/5 majority required) |
| 2025-05-19 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-45) |
| 2025-05-19 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-46) |
| 2025-05-15 | S. Res. 195 (119th) | Motion to Discharge S.Res. 195 | YES | YES | ✓ | Motion to Discharge Rejected (45-50) |
| 2025-05-15 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-46) |
| 2025-05-14 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-47) |
| 2025-05-14 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-05-14 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-45) |
| 2025-05-14 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (54-43) |
| 2025-05-14 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-43) |
| 2025-05-14 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (51-46) |
| 2025-05-14 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (51-45) |
| 2025-05-14 | — | Confirm nominee | YES | NO | ✕↔ | Nomination Confirmed (54-40) |
| 2025-05-13 | — | End debate | YES | NO | ✕↔ | Cloture Motion Agreed to (57-41) |
| 2025-05-13 | — | Confirm nominee | NOT_VOTING | NO | — | Nomination Confirmed (52-44) |
| 2025-05-13 | — | End debate | YES | NO | ✕↔ | Cloture Motion Agreed to (53-45) |
| 2025-05-13 | — | Confirm nominee | YES | NO | ✕↔ | Nomination Confirmed (74-25) |
| 2025-05-13 | — | End debate | YES | NO | ✕↔ | Cloture Motion Agreed to (72-26) |
| 2025-05-13 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-46) |
| 2025-05-12 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (52-45) |
| 2025-05-12 | — | Confirm nominee | NO | NO | ✓ | Nomination Confirmed (52-45) |
| 2025-05-12 | — | End debate | NO | NO | ✓ | Cloture Motion Agreed to (53-47) |
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.