Legislative API Documentation

For increased accessibility, the North Dakota legislative branch offers an API consisting of static JSON files categorized by assemblies/bienniums, sessions, members, committees, bills, roll call votes, and century code. The majority of the data is grouped by assembly beginning with the 62nd Legislative Assembly (2011) and can be accessed by simply using a GET request in your applications. No authorization key is required.

Use the dropdown menus below to select the data you would like to review or click on the models for more information.

Assemblies
Legislative biennium data
GET

/api/data/assemblies.json

assembly {
assembly integer
assembly_name string
assembly_year string - [assembly]-[biennium_start]
biennium_start integer - first year of assembly biennium
biennium_end integer - last year of assembly biennium
last_updated string - ISO 8601 datetime of when the file was generated (e.g., "2025-01-01T12:00:00")
sessions [{  
 
id string - id reference to Session model
name string - name of session
type string - Organizational, Regular, or Special
current boolean - true if current, active session
start date - start date of this session
}]
}
Sessions
Legislative session data
GET

/api/assembly/{assembly-year}/data/sessions.json

session {
id string - unique identifier
name string
type string - Organizational, Regular, or Special
current boolean - true if current, active session
start date - start date of this session
}
Members
State Representatives and Senators
GET

/api/assembly/{assembly-year}/data/members.json

member {
id integer - unique identifier
name string - name of Legislator
salutation string - Representative or Senator
chamber string - House or Senate
party string - political party affiliation
district string - Legislative district that member represents (may include subdistrict letter)
url string - url to member's biography page
active boolean - true if member is active for assembly
}
Committees
Legislative committees and membership
GET

/api/assembly/{assembly-year}/data/committees.json

committee {
id integer - unique identifier
name string - name of committee
chamber string - House or Senate, if applicable (nullable)
type string - Standing, Interim, or Procedural
abbreviation string - abbreviated committee name code
url string - url to committee overview page
members [{  
 
id integer - id reference to Members model
name string - name of member
chamber string - House or Senate
is_chair boolean - true if member is the committee chairman
is_vice_chair boolean - true if member is a vice chairman for this committee
}]
}
Bills
Bills and Resolutions
GET

/api/assembly/{assembly-year}/data/bills.json

bill {
name string - bill prefix and number
number string - bill number only
summary string - shortened version of bill title (nullable)
title string - official bill description
chamber string - House or Senate, if applicable (nullable)
session string - session name
url string - url to bill overview page
current_status string - current bill status
last_action string - last official action taken on bill
passed boolean - true if bill passed both chambers or false if it failed (nullable)
agency string- agency that requested bill (nullable)
sponsors [{  
 
id integer - id reference to Committees or Members model
name string - name of committee or legislator
type string - sponsor type (committee or legislator)
chamber string - House or Senate
primary boolean - true if primary sponsor for bill
}]
actions [{  
 
id integer - unique identifier
description string - description of action taken
date datetime - date and time that action was taken
category string - action category
chamber string - House or Senate, if applicable (nullable)
NEW bill_version string - LC number version of bill (nullable)
NEW roll_call {  
 
id string - id reference to Roll Call model
chamber string - House or Senate
date datetime - date and time that the vote was taken
description string - vote description
division string - bill or amendment division identifier, if applicable (nullable)
passed boolean - vote outcome (whether it passed or failed)
total_yeas integer - total YEA votes
total_nays integer - total NAY votes
total_absent integer - total members ABSENT OR EXCUSED AND NOT VOTING
}
}]
versions [{  
 
lc_number string - legislative tracking number for this bill version
description string - description for this version
document_url string - url to the official document for this version of the bill
}]
hearings [{  
 
id integer - unique identifier
description string - description for this committee hearing
type string - type of hearing (Bill Hearing, Committee Work, or Conference Committee)
date datetime - date and time of the hearing
committee {  
 
id integer - id reference to Committees model
name string - name of committee that held the hearing
}
room string - State Capitol room where the hearing was held (nullable)
}]
}
Roll Call NEW 
Voting details (available since the 2023-2024 biennium)
GET

/api/assembly/{assembly-year}/data/roll_call.json

roll_call {
id string - unique identifier
session_id string - id reference to Session model
bill string - bill prefix and number, if applicable (nullable)
bill_version string - LC number version of bill, if applicable (nullable)
chamber string - chamber where vote was recorded (House or Senate)
date datetime - date/time of vote
description string - vote description
division string - bill or amendment division identifier, if applicable (nullable)
passed boolean - vote outcome (whether it passed or failed)
total_yeas integer - total YEA votes
total_nays integer - total NAY votes
total_absent integer - total members ABSENT OR EXCUSED AND NOT VOTING
member_votes [{  
 
member_id integer - id reference to Member model
name string - name of member (last name first)
vote string - member's vote choice (Yea, Nay, or Absent)
}]
}
Century Code NEW
Current version of North Dakota Century Code
GET

/api/data/century_code.json

century_code {
last_updated string — ISO 8601 datetime of when the file was generated (e.g., "2025-01-01T12:00:00")
titles { key — title number string (e.g., "1", "4", "4.1", "62.1")
 
title_num string — title number (e.g., "4.1")
title_name string — title name in title case (e.g., "Agriculture")
chapters { key — chapter number string (e.g., "01", "02", "02.1")
 
id string — title-chapter composite key (e.g., "4.1-02")
chapter_num string — chapter number (e.g., "02")
chapter_title string — chapter name in title case (e.g., "Grain Dealers")
source_url string — URL to the NDCC chapter PDF
repealed boolean — true if the chapter has been repealed
sections { key — section number string (e.g., "01", "16", "16.1") — empty if chapter is repealed
 
id string — title-chapter-section composite key (e.g., "4.1-02-16")
section_num string — section number within the chapter (e.g., "16")
title string — section heading text (e.g., "Refund of assessment")
page integer — page number within the source PDF where the section begins
text string — plain text of the section body
html string — HTML-formatted section body; bold/italic runs are wrapped in <b>/<i>; list markers (1., a., (1), (a)) are converted to nested <ol> elements
}
}
}
}

If you encounter any issues or need assistance, please submit a message on our Contact Us page.