North Dakota Legislative Assembly

How the North Dakota scores work

Every number on the North Dakota pages comes from the Legislative Assembly's own records (the Legislative Council's roll-call records, checked against the House and Senate Journals, and its bill histories) and follows the rules on this page.

The vote records

  • This term is the 69th Legislative Assembly, whose members' terms began on December 1, 2024: 2,194 floor roll calls (1,164 in the House, 1,030 in the Senate), Dec. 4, 2024 to Sept. 4, 2026. North Dakota's Legislative Assembly meets in regular session in odd-numbered years, so there was no 2026 regular session; the Governor called it into two special sessions in 2026.
    • December 2024 Organizational Session: 1 Senate roll call, Dec. 4, 2024.
    • 2025 Regular Session: 1,145 House and 1,012 Senate roll calls, Jan. 10, 2025 to May 2, 2025.
    • January 2026 Special Session: 12 House and 11 Senate roll calls, Jan. 22, 2026 to Jan. 23, 2026.
    • September 2026 Special Session: 7 House and 6 Senate roll calls, Sept. 2, 2026 to Sept. 4, 2026.
  • Each roll call has two records. The Legislative Council's Legislative API records each one as the chambers' voting system took it: the time, the measure, the totals and every member's vote, by the Council's member ID. The chamber's daily Journal, the official record of its proceedings, prints the question, the counts and the members on each side by surname.
  • A roll call is used only where the two agree: the same chamber and day (or the next morning, for a vote after midnight), the same measures, the same counts, and every member the API lists named once in the Journal on the same side. 2,193 roll calls agree this way. The Journal names no one on 1 of them (it prints the tally only), so those are checked on their counts. The API's record names no measure for 11 that the Journal does, and where the same members voted the same way on the same day more than once (a run of confirmations), the API's records are paired with the Journal's in the order taken (17).
  • The Journals print their own corrections a few days later (each chamber's Committee on Correction and Revision of the Journal). Two change a roll call, and both are applied: SB 2274 in the Senate (Senate Journal, Feb. 25, 2025, page 609: the correction of the 27th and 28th days); SB 2380 in the Senate (Senate Journal, April 8, 2025, page 1013: the correction of the 30th and 51st days). Both corrected Journals agree with the API's records.
  • Where the Journal's result differs from the API's, the Journal's is used: the motion to reconsider the vote passing SB 2253, March 21, 2025: the House Journal records it failed, 46 to 39; the API's record marks it passed.
  • Three roll calls don't reconcile and are left out (with the API's records of the first two): SB 2279 in the Senate, Feb. 12, 2025, 6 to 41: the Journal's yeas are Boschee, Braunberger, Hogan, Magrum, Mathern and Wobbema; the API's are Boehm, Boschee, Braunberger, Magrum, Mathern and Schaible; no correction was printed; HB 1298's final passage in the Senate, April 18, 2025: the Journal prints 28 to 18 with the same lists as the vote on Division A just before; the API records 25 to 21; no correction was printed; a House record of Feb. 20, 2025, 3:07 p.m., 93 to 0 with no one absent, labeled a reconsideration of no measure: the House Journal that day prints no such roll call (six members were absent on every roll call it does print).
  • The API's records begin with the 2025 Regular Session. The one roll call of the December 2024 organizational session is built from the Senate Journal alone: the Senate's adoption of Division A of the procedural committee's report (its rules), Dec. 4, 2024, 28 to 17, the organizational session: 47 senators named.
  • On a consent calendar, a chamber passes several bills on one roll call; the API stores it once per bill. Each is one roll call here, with its bills listed (14 roll calls). The Senate's confirmations of the Governor's appointees are included, and so are the House's two votes in the September 2026 special session on introducing bills outside the Governor's call. Attendance roll calls, committee votes and voice votes aren't.
  • A second reading in North Dakota is a bill's final passage. When a chamber concurs in the other chamber's amendments, or adopts a conference committee's report, it passes the bill again in its final form; those roll calls are labeled as such, from each bill's history.
  • Contested votes are roll calls where the losing side got at least 10% of the yeas and nays: 535 in the House and 275 in the Senate. Every roll call has its own page. Floor votes lists the contested and party-line ones, and every roll call on request.

Who cast each vote

  • The API names each member by the Legislative Council's member ID, which ties to the member's biography page and so to one legislator; each Journal name (a surname, with an initial where two members share one: “Olson, S.”, “Brown, C.”) must be the one member of that name the API lists for that roll call, and every member must hold a seat that day.
  • Names and terms come from Open States' data on North Dakota legislators. Where it differs from the official record, we follow the Journals and news reports (13 fixes). In the House, Josh Christy (District 27) died on February 18, 2025, and T.J. Brown took the oath on March 10; Jeremy Olson (26) resigned on May 5, 2025; Cindy Schreiber-Beck (25) died on May 18, 2025; Emily O'Brien (42) resigned effective August 19, 2025; Jared Hagert (20) resigned on February 9, 2026; and Liz Conmy (11) died on April 25, 2026. Each seat was filled by the district committee of the member's party: Kelby Timmons, Kathy Skroch, Dustin McNally, Dave Rustebakke and Adam Goldwyn. In the Senate, Josh Boschee (44) resigned effective August 4, 2026, after his election as mayor of Fargo, and Jamie Selzler took the seat. Open States also lists a “Scott Nelson” in House District 18 in December 2024 and January 2025, with no source; the Legislative Council lists no such member, and he is left out.
  • No legislator changed parties during the term: the Legislative Council lists each member with one party. North Dakota's Democratic Party is the Democratic-Nonpartisan League Party (Democratic-NPL); its members are counted as Democrats.
  • Each build checks our current members against the Legislative Council's list of members, names, districts and parties.
  • Photos are the official portraits on each member's biography page at ndlegis.gov.

Votes with the Speaker or President Pro Tempore

  • Speaker Robin Weisz (District 14) leads the House. The Senate is measured against its President Pro Tempore, Brad Bekkedahl (District 1), a senator the Senate elects to lead it. Both were elected on December 2, 2024, at the organizational session, and both vote like any member. The Lieutenant Governor presides over the Senate but isn't a senator.
  • The score is the share of roll calls on which the member voted the same way, yea or nay, as their chamber's leader. A roll call counts only when both of them voted yea or nay. The Speaker voted on 1,082 of 1,164 House roll calls (nay on 243); the President Pro Tempore on 951 of 1,030 Senate roll calls (nay on 178).
  • The headline number uses contested votes. On unanimous votes nearly everyone agrees with the leader, so the share on all votes, shown alongside, is high for almost everyone.
  • A score needs at least 20 votes. The leaders aren't scored against themselves.
  • This works like “votes with the President” on the Congress pages, with one difference: the President's position on a bill comes from the White House's public statements, while the leader's position here is the leader's own recorded vote.

Votes with own party

  • Counts party-line votes: roll calls where most Democrats voted one way and most Republicans the other (186 in the House, 136 in the Senate). The score is the share of those votes where the member voted with most of their own party. The Congress pages use the same definition.
  • Partisan rank orders each chamber's current members by this score, whichever their party: 1 votes with their party most often, and the last votes with it least. Members shown with the same whole percent share a rank, and each legislator's page says how many share it and how many vote with their party more often.
  • A score needs at least 20 party-line votes.
  • The table of contested votes on each legislator's page marks every contested vote where they voted against most of their party, whether or not it was a party-line vote, so it can list more votes than the score counts.

Didn't vote at roll call

  • The share of roll calls, while the member was in office, on which they didn't vote yea or nay. The Journals list the members “absent and not voting” (from February 14, 2025, “absent or excused and not voting”); until then they also printed a list of members excused, which had no names on any roll call here.
  • “In office” means the member held a seat that day: each roll call lists every seated member, whether or not they voted.

The seat chart

  • Each chamber's current members are seats, ordered from most liberal (left) to most conservative (right). There's no DW-NOMINATE score for state legislators, so the order comes from the Legislative Assembly's own contested votes: for every pair of members, the share of contested roll calls on which they voted the same way, scaled to one left-right dimension (Poole's agreement-score method, the usual first step of roll-call scaling). Republicans are on the right. A member with fewer than 20 contested votes sits at their party's middle.
  • Color uses the same rule as the Congress pages: how often a member crosses party lines toward the middle on party-line votes, siding with the other party alongside their own party's more moderate members. Solid blue or red means almost never; purple means at least 3 in 10 of those votes.
  • North Dakota legislators cross party lines on party-line votes far more often than members of Congress: one in ten does so on at least 26.0% of them, against 7.4% in Congress, and the median legislator on 8.6%, against 1.7%. So the North Dakota pages use color steps three times Congress's: purple at 30% rather than 10%, then 22.5, 15, 9 and 4.5%. That keeps purple for those who cross most often: 6 of the 135 current members scored.
  • Gray seats: no party-line score.

Bills passed

  • Every bill introduced in the term's sessions, from the Legislative API: 616 House bills and 407 Senate bills, the concurrent resolutions proposing amendments to the Constitution of North Dakota included. Other resolutions aren't laws and aren't counted.
  • A bill counts for its primary sponsor, the legislator the Legislative Council lists first on it. Co-sponsors aren't counted, and a bill a committee introduced (222, most of them the budget bills) counts for no one.
  • Passed both chambers: 349 House bills and 266 Senate bills. A bill became law when the Governor signed it, 6 of them with items vetoed (budget bills): 608 laws. 4 were vetoed, and each veto stood: the Senate voted to override the veto of SB 2261, and the House didn't. 3 proposed constitutional amendments went to the voters. Each session's bills introduced and passed in each chamber, bills signed, vetoes, overrides and item vetoes agree with that session's statistics on ndlegis.gov.
  • Ranks are among current members of the chamber, and among current members of the chamber in the same party: 1 has the most, and members with the same number share a rank. Members who took office during the term had less time to pass bills.

Budget projects

  • These pages don't credit budget items to North Dakota legislators.

The November 3 ballot

  • North Dakota's legislators serve four-year terms, and half the districts vote every two years. The 24 odd-numbered districts, whose members were elected in 2022, elect their senator and both representatives this year, for terms beginning December 1, 2026. Three House seats in even-numbered districts (Districts 20, 26, 42) are on the ballot for the last two years of their terms. The other seats are next on the ballot in 2028.
  • The candidates come from the Secretary of State's 2026 General Election Contest/Candidate List (127 candidates), and only names, parties and districts are kept from it; the list also prints candidates' addresses, phone numbers and e-mail, which aren't read. The list's term-length column prints four years for the three unexpired-term races; their names say two, which these pages follow.
  • The address lookup and the district map use Census's 2025 district files: 47 Senate districts, and the same districts for the House, with District 4 split into Subdistricts 4A and 4B.

Recent key votes

Each legislator's page lists their five most recent key votes, and its voting record opens with their key votes (the newest 300) until the whole record loads. A key vote is a contested or party-line roll call (both as defined above) that gave the chamber's last word on a whole bill, budgets included: its passage, agreeing to the other chamber's changes, adopting a conference committee's report or accepting the Governor's amendments, or a vote to override a veto. We read that from the motion as the record names it. Amendments, procedural motions and the adoption of resolutions aren't key votes, and neither is a motion we haven't listed. This term, 496 of the North Dakota House's 1,164 roll calls and 275 of the North Dakota Senate's 1,030 are key votes.

Next to each key vote is the bill's plain-language explanation where one has been checked against the official text (below); where there isn't one yet, the page says so rather than describe the bill another way.

Bill explanations

North Dakota vote pages don't carry an explanation of the bill yet. Each page's title is the Legislative Council's summary of the bill, and the page links to the bill's page on ndlegis.gov, where its text, actions and votes are.

Data sources and downloads

WhatSourceLast downloaded
Floor roll calls, with each member's voteNorth Dakota Legislative Council (ndlegis.gov): the Legislative API's roll calls, each member named by the Council's member ID
The Legislative Council's site states no terms for reusing its records; its Disclaimer says only that the Council doesn't warrant their accuracy. Its Legislative API is offered “for increased accessibility” with no key required. Capitol Lens names the Legislative Assembly as the source of each record and links to it.
Oct. 23, 2026
The House and Senate Journals' record of each roll call, and the Journals' correctionsNorth Dakota Legislative Assembly (ndlegis.gov): the House and Senate daily Journals
The Legislative Council's site states no terms for reusing its records; its Disclaimer says only that the Council doesn't warrant their accuracy. Its Legislative API is offered “for increased accessibility” with no key required. Capitol Lens names the Legislative Assembly as the source of each record and links to it.
Oct. 23, 2026
Bills and resolutions, their sponsors, histories and outcomes; each session's statisticsNorth Dakota Legislative Council (ndlegis.gov): the Legislative API's bills and each session's page
The Legislative Council's site states no terms for reusing its records; its Disclaimer says only that the Council doesn't warrant their accuracy. Its Legislative API is offered “for increased accessibility” with no key required. Capitol Lens names the Legislative Assembly as the source of each record and links to it.
Oct. 23, 2026
Legislators, terms, contact details and committeesOpen States (public domain)Oct. 23, 2026
Members, their districts and parties, checked each build; official portraitsNorth Dakota Legislative Council (ndlegis.gov): the Legislative API's members and each member's biography page
The Legislative Council's site states no terms for reusing its records; its Disclaimer says only that the Council doesn't warrant their accuracy. Its Legislative API is offered “for increased accessibility” with no key required. Capitol Lens names the Legislative Assembly as the source of each record and links to it.
Oct. 23, 2026
Candidates on the Nov. 3 ballotNorth Dakota Secretary of State: 2026 General Election Contest/Candidate List
District boundaries, for the map and the address lookupU.S. Census Bureau (2025 state legislative districts)Oct. 24, 2026

Everything these pages show can be downloaded, free to reuse. Percent columns ending in “_shown” are the whole numbers the pages show; the counts behind each one are beside it. Terms of reuse

  • members.csv: Every North Dakota legislator this term with each score, the counts behind it and the whole percent the pages show.
  • votes.csv: Every North Dakota floor roll call with its totals, whether it was contested or party-line, how the leader and each party's majority voted, and the official record.
  • member-votes.csv: How every North Dakota legislator voted on every floor roll call.
  • bills.csv: Every North Dakota bill this term with its sponsors, its kind (statewide, local or claim) and how far it got.

Checks

  • PASS: North Dakota House: current members match the chamber's own list — 94 members and 0 vacant seats agree
  • PASS: North Dakota Senate: current members match the chamber's own list — 47 members and 0 vacant seats agree
  • PASS: North Dakota: every bill's sponsors are legislators on these pages, and their counts add up — 801 sponsor credits on 801 bills
  • PASS: North Dakota: every bill's primary sponsor is a legislator or a committee; every bill sent to the Governor is law or vetoed; the counts tie out to each session's own statistics — all of them
  • PASS: North Dakota: the vote-by-vote download's files match the state's settings — member-votes.csv
  • PASS: North Dakota: the address lookup's file lists every seat's holder — 95 seats
  • PASS: North Dakota: every vote on the records credited to the right legislator — all matched
  • PASS: North Dakota: bill explanations are approved and match their official source — 0 vote pages show one
  • PASS: North Dakota: every vote page's bill has its title — 2194 votes
  • PASS: North Dakota: every current legislator has an official portrait — 148 portraits
  • PASS: North Dakota: the current term hasn't ended — through 2026-11-30
  • PASS: North Dakota: the district map has every seat, and only those — 48 House districts, 47 Senate districts
  • PASS: North Dakota: every incumbent on the ballot links to their voting record — all linked
  • PASS: North Dakota: every roll call in the Legislative API is the Journal's roll call that day on the same measures, with the same counts and every member named once on the same side, each the member holding that seat; the Journals' corrections applied — 2,194 roll calls (2,196 in the API)
  • PASS: North Dakota: Nov. 3 legislative candidates cover every seat on the ballot — 51 races