We are excited to provide companies access to their data remotely so they can integrate data into their own applications and websites. For this reason we request that you follow the following guidelines for using our web service API
This is a service to our paying subscribers to provide legislative searching directly into their applications, and websites. Selling the legislative data to a third party is not allowed and a violation of our usage guidelines. If you are unsure if your service qualifies as selling data, or if you want to discuss a commercial usage partnerships, please contact us for more information.
In order to keep our service responsive for all of our customers we are imposing two API call rate limits. The service will only allow 5 requests per second, and a maximum of 5,000 requests per 24-hour period. When a rate limit is reached, you will receive a return code of 429 indicating the authentication succeded, but the rate limit was exceeded. In addition to the code a standard message value will provide additional detials. You will continue to receive this message until enough time has passed to bring the call rate back below the rate limits. All API calls contribute to the overall API call rate. If you are expecting to generate significant traffic through the API service, please let us know.
The number of results returned from a search is also limited. Very large result sets present a potential large network transfer in addition to presenting difficulties in displaying and actually digesting large amounts of data. In the occurance of a large search result set, the web service will only return a specified top number of results to the caller. In addition it will provide a count of the number of records that actually matched.
Information retrieved from the web service can be stored and cached for a period of 24 hours. All data obtained from the API is still subject to our Terms of Use.
The BillTrack50 web services api is a restful web service. REST uses standard HTTP(S) request/response mechanisims where all responses will be formatted in JSON. JSON is a preferred response type because it is generally less verbose while retaining its self describing flexible structure. The REST endpoints can be used to access your BillTrack50 account directly from your applications. All request responses will return with standard data elements that describe the success/failure state of the service call in addition to a set of data elements that are specific to the individual call. Please refer to the individual method details for more specifics.
All requests should use utf-8 character encoding.
To access the web api, we require that you request an apikey from us. The apikey is associated with a company account and lets us know who is accessing the web services api, and how often it is being called. For that reason, the apikey is required to be sent with every web service request as part of the Authorization Header. It is important to note that since the apikey is associated with the company account, it has access to all of the companies data and is not affected by any permissions set at a user level. It is important to keep this value protected.
The Authorization header should be formatted in the form "Authorization: apikey $API_KEY" where the term $API_KEY represents the apikey value received from BillTrack50 and may be requested through our contact form.
In order to further protect our users data all requests must be made over SSL. SSL allows us to encrypt all potentially sensitive information that is sent to or from our service to prevent any eavesdropping attacks that may occur.
Name | Type | Description |
---|---|---|
stateCode | string | [Required]2-character state abbreviation. |
Name | Type | Description |
---|---|---|
currentSession | boolean | Flag indicating if the session is currently active for a state. Active means is currently in session or is the most recent session for a given state. Regular and special sessions stay active until the end of the calendar year containing the end date of that session. |
sessionID | integer | [Unique]Identifier for the session. |
sessionName | integer | Name of state legislative session |
specialSession | boolean | Flag indicating if the session is a special session to address urgent issues. |
stateCode | string | State abbreviation. |
Name | Type | Description |
---|---|---|
searchText | String | [Required] Text to search in the bill which will attempt find the provided text in the bill name, bill number, summary and bill text. A minimum of 3 characters are required before any results will be returned, and the results will be limited to 250 bills. |
stateCodes | String | [Optional] A comma separated list of state codes used to filter bill numbers to specific states. Ommiting or leaving this parameter blank will search all states. |
sessionID | Integer | [Optional] Parameter used to find bills in a specific state session. If excluded the search will default to only search the active session. The SessionID parameter is retrieved from the session end point. If you are using the SessionID parameter, you do not need to use the StateCodes parameter as the SessionID is state specific. |
Name | Type | Description |
---|---|---|
aiSummary | string | Summary of the bill produced by the artificial intelligence |
actionDate | string | Date of the most recent action |
actions | integer | Total number of actions or events that have occurred to the bill |
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
billProgress | string | Latest status of the bill showing its progress. The stages are Introduced, In Committee, Crossed Over, Passed, Dead, Vetoed, Veto Override, Signed/Adopted/Enacted |
changes | integer | Count of the change types detected on the bill that have occurred in the last alerting period. |
committeeCategories | string | List of general categories assigned to committees which the bill has been referred to |
created | string | Date that the bill was added to our database |
keyWords | string | Important words contained in the bills text generated using a natural language algorithm |
hasCompanion | boolean | Flag indicating if the bill has an associated companion bill |
lastAction | string | Most recent action or event that has happened to the bill. |
lastAmendmentDate | string | Date of the most recent change to the bill |
officialDocument | string | Link to the bill page on the state website |
passedFlag | boolean | Flag showing whether the bill has been Signed/Enacted/Adopted |
session | string | Name of state legislative session in which the bill was introduced |
sponsorCount | integer | The total number of legislators sponsoring or co sponsoring the bill |
sponsors | string | Legislators who have sponsored the bill, name is followed by party. Primary sponsors are followed by an asterisk. |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
summary | string | Summary of the bill produced by the state |
versions | integer | Total number of versions of the bill that have been published by the state |
votes | integer | Total number of roll calls that have been published by the state. May exclude voice votes. |
Name | Type | Description |
---|---|---|
billID | Integer | [Required]BillTrack50 numerical bill id. |
Name | Type | Description |
---|---|---|
actionDate | string | Date of the most recent action |
aiSummary | string | Summary of the bill produced by the artificial intelligence |
actions | integer | Total number of actions or events that have occurred to the bill |
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
billProgress | string | Latest status of the bill showing its progress. Statuses include Introduced, In Committee, Crossed Over, Passed, Dead, Vetoed, Veto Override, Signed/Adopted/Enacted |
committeeCategories | string | List of general categories assigned to committees which the bill has been referred to |
created | string | Date that the bill was added to the database |
hasCompanion | boolean | Flag indicating if the bill has an associated companion bill |
keyWords | string | Important words contained in the bills text generated using a natural language algorithm |
lastAction | string | Most recent action or event that has happened to the bill, as published by the state |
lastAmendmentDate | string | Date of the most recent change to the bill |
officialDocument | string | Link to the bill page on the state website |
passedFlag | boolean | Flag showing whether the bill has been Signed/Enacted/Adopted |
session | string | Name of state legislative session in which the bill was introduced |
sponsors | string | Names of the legislators who have sponsored the bill, each name is followed by party, primary sponsors are followed by an asterisk. |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
summary | string | Summary of the bill produced by the state |
versions | integer | Total number of versions of the bill that have been published by the state |
votes | integer | Total number of different roll calls that have been published by the state. May exclude voice votes. |
Name | Type | Description |
---|---|---|
billID | Integer | [Required] BillTrack50's internal numerical bill identifier. |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number. |
knowWhoPersonID | integer | Unique idenifier for the legislator assigned by KnowWho |
legislatorID | integer | [Unique]Identifier for a legislator |
legislatorParty | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent). |
name | string | Legislator name, first name followed by last name |
primary | boolean | A flag to indicate whether the legislator is the primary legislator for the district. |
role | string | Legislator's elected position, such as 'State Senator' or 'State Representative' |
state | string | State abbreviation |
Name | Type | Description |
---|---|---|
billID | Integer | [Required] BillTrack50's internal numerical bill identifier. |
Name | Type | Description |
---|---|---|
absentVotes | integer | Total number of absent votes |
abstainVotes | integer | Total number of abstain votes |
chamberCode | string | Chamber identifier. |
chamber | string | Name of the legislative chamber: House, Senate, Assembly etc. |
motion | string | Motion being voted on, provided by the state |
noVotes | integer | Total number of no votes |
voteDate | string | Date the roll call took place |
voteID | integer | [Unique]Identifier for a roll call. |
yesVotes | integer | Total number of yes votes |
Name | Type | Description |
---|---|---|
billID | Integer | [Required] BillTrack50's internal bill identifier. |
Name | Type | Description |
---|---|---|
actionDate | string | Date the action happened |
actionDescription | string | Description of the action, provided by the state |
chamberCode | string | Chamber identifier. |
Name | Type | Description |
---|---|---|
billID | Integer | [Required] BillTrack50's internal bill identifier. |
Name | Type | Description |
---|---|---|
date | string | Date of the hearing or other event |
description | string | A description of the hearing or other event |
location | string | Location of the hearing or other event, may include a buidling name and/or room number |
time | string | Time of the hearing or other event, in the local time zone |
type | string | Type of the event. |
Name | Type | Description |
---|---|---|
voteID | Integer | [Required] BillTrack50 vote identifier. A list of votes can be queried for a specific bill using the bill votes endpoint. |
Name | Type | Description |
---|---|---|
absentVotes | integer | Total number of absent votes |
abstainVotes | integer | Total number of abstain votes |
chamber | chamber string | Name of the legislative chamber: House, Senate, Assembly etc. |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number |
knowWhoPersonID | integer | Unique idenifier for the legislator assigned by KnowWho |
legislatorID | integer | Unique identifier for a legislator |
motion | string | Motion being voted on, provided by the state |
name | string | Legislator name, first name followed by last name |
noVotes | integer | Total number of no votes |
party | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent) |
vote | string | Vote cast by the legislator - Yea, Nay, Absent or Abstain |
voteDate | string | Date the roll call took place |
voteID | integer | [Unique]Identifier for a roll call. |
yesVotes | integer | Total number of yes votes |
Name | Type | Description |
---|---|---|
legislatorName | String | [Required] All or part of the legislators first or last name. A minimum of 3 characters are required before any results will returned. |
stateCodes | String | [Required] A comma separated list of state codes used to filter bills to specific states. State codes for state legislators and US for federal. |
Name | Type | Description |
---|---|---|
ballotpediaURL | string | Url to Ballotpedia.com page for the legislator |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number. |
followTheMoneyUrl | string | Url to FollowTheMoney.org page for the legislator |
inOffice | boolean | Flag indicating of the legislator is currently in office |
knowWhoPersonID | integer | Unique idenifier for the legislator assigned by KnowWho |
legislatorID | integer | [Unique] Identifier for a legislator. |
name | string | Legislator name, first name followed by last name |
party | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent). |
role | string | Legislator's elected position, such as 'State Senator' or 'State Representative' |
stateCode | string | State abbreviation |
Name | Type | Description |
---|---|---|
legislatorID | Integer | [Required] BillTrack50's internal legislator identifier. |
Name | Type | Description |
---|---|---|
ballotpediaURL | string | Url to Ballotpedia.com page for the legislator |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number. |
followTheMoneyUrl | string | Url to FollowTheMoney.org page for the legislator |
inOffice | boolean | Flag indicating of the legislator is currently in office |
knowWhoPersonID | integer | Unique idenifier for the legislator assigned by KnowWho |
legislatorID | integer | [Unique] Identifier for a legislator. |
name | string | Legislator name, first name followed by last name |
party | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent). |
role | string | Legislator's elected position, such as 'State Senator' or 'State Representative' |
stateCode | string | State abbreviation |
Name | Type | Description |
---|---|---|
legislatorID | Integer | [Required] BillTrack50's internal legislator identifier. |
Name | Type | Description |
---|---|---|
aiSummary | string | Summary of the bill produced by the artificial intelligence |
actionDate | string | Date of the most recent action |
actions | integer | Total number of actions or events that have happened to the bill |
billID | integer | Unique dentifier for the bill |
billName | string | Title of the bill given by the state |
billProgress | string | Latest status of the bill showing its progress. Statuses include Introduced, In Committee, Crossed Over, Passed, Dead, Vetoed, Veto Override, Signed/Adopted/Enacted |
created | string | Date that the bill was added to the database |
hasCompanion | boolean | Flag indicating if the bill has an associated companion bill |
lastAction | string | Most recent action or event that has happened to the bill, as published by the state |
legislatorID | integer | [Unique] Identifier for a legislator. |
legislatorName | string | Legislator name, first name followed by last name |
officialDocument | string | Link to the bill page on the state website |
passedFlag | boolean | Flag showing whether the bill has been Signed/Enacted/Adopted |
primarySponsorFlag | boolean | A flag indicating if the legislator is the primary sponsor of the bill |
session | string | Name of state legislative session in which the bill was introduced |
sponsorType | string | Whether the sponsor is the primary sponsor of the bill, or a co sponsor |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
summary | string | Summary of the bill produced by the state |
versions | integer | Total number of versions of the bill that have been published by the state |
votes | integer | Total number of different roll calls that have been published by the state. May exclude voice votes. |
Name | Type | Description |
---|---|---|
legislatorID | Integer | [Required] BillTrack50's internal legislator identifier. |
Name | Type | Description |
---|---|---|
absentVotes | integer | Total number of no votes |
abstainVotes | integer | Total number of no votes |
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
motion | string | Motion being voted on, provided by the state |
noVotes | integer | Total number of no votes |
passed | boolean | Flag showing whether the bill has been Signed/Enacted/Adopted |
session | string | Name of state legislative session in which the bill was introduced |
stateCode | string | State abbreviation |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
vote | string | Vote cast by the legislator - Yea, Nay, Absent or Abstain |
voteDate | string | Date the roll call took place |
voteID | integer | Unique ientifier for a roll call |
voteNumber | integer | The total number of roll calls for the bill |
yesVotes | integer | Total number of yes votes |
Name | Type | Description |
---|---|---|
archived | boolean | Flag showing if the bill sheet has been archived by the user and no longer being updated |
billCount | integer | Number of bills on the bill sheet |
billSheetID | integer | [Unique]Identifier for the bill sheet. |
billSheetName | string | Name given to the bill sheet by the user |
billSheetSummary | string | Description given to the bill sheet by the user |
createDate | string | Date the bill sheet was created |
hiddenBillCount | integer | Number of hidden bills on the bill sheet |
updateDate | string | Date the bill sheet was last updated by the user |
Name | Type | Description |
---|---|---|
billSheetID | Integer | [Required] BillTrack50's internal bill sheet identifier. |
Name | Type | Description |
---|---|---|
aiSummary | string | Summary of the bill produced by the artificial intelligence |
actions | integer | Total number of actions or events that have happened to the bill |
added | string | Date that the bill was added to the bill sheet |
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
billProgress | string | Latest status of the bill showing its progress. Statuses include Introduced, In Committee, Crossed Over, Passed, Dead, Vetoed, Veto Override, Signed/Adopted/Enacted |
committeeCategories | string | List of general categories assigned to committees which the bill has been referred to |
created | string | Date that the bill was added to the database |
keywords | string | Important words contained in the bills text generated using a natural language algorithm |
lastAction | string | Most recent action or event that has happened to the bill, as published by the state |
lastActionDate | string | Date of the most recent action |
lastAmendmentDate | string | Date of the most recent change to the bill |
officialDocument | string | Link to the bill page on the state website |
passedFlag | boolean | Flag showing whether the bill has been Signed/Enacted/Adopted |
session | string | Name of state legislative session in which the bill was introduced |
sponsorCount | integer | The total number of legislators sponsoring or co sponsoring the bill |
sponsors | string | Names of the legislators who have sponsored the bill, each name is followed by party, primary sponsors are followed by an asterisk. |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
summary | string | Summary of the bill produced by the state |
versions | integer | Total number of versions of the bill that have been published by the state |
votes | integer | Total number of different roll calls that have been published by the state. May exclude voice votes. |
[UserColumnName] | string | List of user columns added to the users billsheet |
Name | Type | Description |
---|---|---|
categoryID | integer | Unique identifier for the user provided category |
categoryName | string | Category name used to group bills into groups |
createDate | string | The date the scorecard was created by the user |
publicFlag | boolean | Flag showing whether the user has checked the box to make the scorecard public, which generates a URL and iFrame embed link |
ratedBills | integer | The number of bills for which the user has provided some kind of score and that therefore form part of the scorecard calculation |
scorecardID | integer | [Unique]Identifier for the scorecard. |
scorecardName | string | Name given to the scorecard by the user |
stateCode | string | State abbreviation |
subtitle | string | Subtitle given to the scorecard by the user |
updateDate | string | The date the scorecard sheet was last updated by the user. |
Name | Type | Description |
---|---|---|
scorecardID | Integer | [Required] BillTrack50's internal scorecard identifier. |
Name | Type | Description |
---|---|---|
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
categories | string | The categories created by the user. Bills can be assigned to different categories, which can be used to filter the scorecard displays [doesn't seem right, the category for the bill?] |
comments | string | Comments added to the bill by the user |
cosponsorRating | integer | The score given to a co-sponsor of the bill by the user. |
lastAction | string | Most recent action or event that has happened to the bill, as published by the state |
lastActionDate | string | Date of the most recent action |
referenceURL | string | A URL input by the user which links to text in the comments column of the legislation display |
referenceURLText | string | Display text for the URL link |
sponsorRating | integer | The score given to the primary sponsor of the bill by the user. |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
voteRating | integer | The score given to the bill by the user, can be any integer, positive for a 'good' bill and negative for a 'bad' bill |
Name | Type | Description |
---|---|---|
scorecardID | Integer | [Required] BillTrack50's internal scorecard identifier. |
legislatorID | Integer | [Required] BillTrack50's internal legislator identifier. |
Name | Type | Description |
---|---|---|
categoryID | integer | Unique identifier for the user provided category |
categoryName | string | Category name used to group bills into groups |
chamber | string | Name of the legislative chamber: House, Senate, Assembly etc. |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number. |
firstName | string | Legislator's first name |
lastName | string | Legislator's last name |
legislatorID | integer | [Unique]Identifier for the legislator. |
party | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent). |
totalScore | decimal | A number showing the impact the legislator has had. Total Score is calculated by multiplying votes on a bill by the vote ratings, then adding up the results for all bills |
voteIndex | decimal | A number showing the percentage of the time the legislator voted the way the user wanted them to. Vote Index = (Total Vote Score + Possible Score) / (2*Possible Score) |
Name | Type | Description |
---|---|---|
scorecardID | Integer | [Required] BillTrack50's internal scorecard identifier which can be retrieved from the scorecard endpoint. |
legislatorID | Integer | [Required] BillTrack50's legislator identifier which can be retrieved from the scorecard legislator endpoint. |
Name | Type | Description |
---|---|---|
billID | integer | [Unique]Identifier for the bill. |
billName | string | Title of the bill given by the state |
comment | string | Comments added to the bill by the user |
motion | string | Description of the proposed motion |
referenceURL | string | A URL input by the user which links to text in the comments column of the legislation display |
referenceURLText | string | Display text for the URL link |
stateBillID | string | Bill identifier used by the state, usually identifies the chamber and bill type. Unique for the state within a particular session. |
stateCode | string | State abbreviation |
vote | string | Vote cast by the legislator - Yea, Nay, Absent or Abstain |
voteDate | string | Date the roll call took place |
voteRating | integer | The score given to the bill by the user, can be any integer, positive for a 'good' bill and negative for a 'bad' bill |
Name | Type | Description |
---|---|---|
scorecardID | Integer | [Required] BillTrack50's internal scorecard identifier. |
categoryID | Integer | [Required] ID of the category used to filter legislation for the scorecard. The list of categories can be retrieved using the /Scorecards endpoint. If no CategoryID is provided then the scores for the legislators will include all bills on the scorecard. |
Name | Type | Description |
---|---|---|
chamber | string | Name of the legislative chamber: House, Senate, Assembly etc. |
district | string | Unique Identifier assigned to the leglative district. Usually the state abbreviation and district number. |
districtName | string | Name of the legislative district. |
firstName | string | Legislator's first name |
lastName | string | Legislator's last name |
legislatorID | integer | [Unique]Identifier for the legislator. |
party | string | Political affiliation of the legislator. 'R' (Republican), 'D' (Democrat) or 'I' (Independent). |
possibleScore | decimal | Number showing the maximum possible score the legislator could have achieved |
totalScore | decimal | Number showing the impact the legislator has had. Total Score is calculated by multiplying votes on a bill by the vote ratings, then adding up the results for all bills |
voteIndex | decimal | Number showing the percentage of the time the legislator voted the way the user wanted them to. Vote Index = (Total Vote Score + Possible Score) / (2*Possible Score) |
Name | Type | Description |
---|---|---|
stateCode | string | [Optional] Standard 2-character state abbreviation. |
Name | Type | Description |
---|---|---|
crossedOver | integer | Number of bills at the 'Crossed Over' status - bill has passed one chamber and moved over to the second chamber |
dead | integer | Number of bills at the 'Dead' status - the bill has completed its journey and has not become law, so is dead |
enacted | integer | Number of bills at the 'Signed/Enacted/Adopted' status - the bill has completed its journey and become law |
inCommittee | integer | Number of bills at the 'in committee' status - currently being considered by one or more committees |
introduced | integer | Number of bills at the 'Introduced' status |
overriden | integer | Number of bills at the 'Veto Overriden' status - the legislature has successfully voted to overide the Governor's veto and the bill can become law |
passed | integer | Number of bills at the 'Passed' status - bill has passed both chambers and is awaiting action by the Governor |
stateCode | string | State abbreviation |
totalBills | integer | Total number of bills in the current session |
vetoed | integer | Number of bills at the 'Vetoed' status - the bill has been vetoed by the Governor after passing both chambers, and the veto has not been overriden |