Bill Positions API
About the API
MapLight performs original research on supporting and opposing interests for legislative bills. Combined with other databases (e.g., OpenSecrets.org from the Center for Responsive Politics (CRP), FollowTheMoney.org from the National Institute on Money in State Politics (NIMSP), Thomas via GovTrack.us, MapLight’s Bill Positions API provides a powerful tool that illuminates the connection between campaign donations and legislative votes. It can also be mashed up with other databases that contain information about bills or politically-active organizations (e.g., Project Vote Smart) in unforeseen ways.
This RESTful API returns results in JSON or XML.
It provides access to data that is currently in the production database. As of May 2015, this includes:
- U.S. Congress: 109th (limited), 110th, 111th, 112th, 113th, and 114th sessions
- California: 2009, 2011, 2013, and 2015 sessions
The API is available to anyone who registers and abides by our Terms of Service. Using the API requires enough programming knowledge to be able to parse JSON or XML.
We do not attempt to research every piece of legislation; resolutions for commemorative postage stamps or National Life Insurance Awareness Month, for example, will not have support or opposition in our database.
For a given organization, the API returns which bills the organization took a position upon, the position they took (i.e., support or oppose), and citations of publications that MapLight used to determine their position. For a given bill, the service returns organizations that took a position and the position they took, with citation, and a category code for the organization.
CRP codes Congressional campaign contributions as belonging to a certain industry/interest category, using their catcode taxonomy. NIMSP does the same at the state level. MapLight researchers assign catcodes to the organization that has taken a position on the bill, using the CRP's catcode taxonomy. Combining the catcode in the MapLight API with catcodes in Open Secrets' API or Bulk Data (or with NIMSP's data) provides an approximate sense of the connection between campaign contributions from special interests and the positions those special interests took on bills. However, when combining contributions data with this data set, note that:
- The catcode exposed in the API for an organization is a single catcode. For example, Pfizer is coded by MapLight as H4300 (Pharmaceutical manufacturing), but contributions from Pfizer are coded by CRP as both H4300 and A3100 (Animal feed & health products).
- MapLight records bill positions for organizations, but not all organizations that have a recorded position include a catcode. This is an artifact of how our methodology has evolved over time. The majority of missing values and conflicting values are around cases where we believe it is particularly problematic to draw meaningful conclusions about aggregated contributions data, represented by the following catcodes:
- Non-Profits (X4000)
- Lawyers & Lobbyists (K****)
- Democratic/Liberal (J1200)
- Republican/Conservative (J1100)
- You can test the API without a key. Contact us to get an API Key.
- View the documentation to learn how to use the API.
- July 2, 2009 (v1.1): Adds category codes for each organization (using the CRP catcode taxonomy), adds a new method that returns all bill positions in an entire session, and adds timestamps for positions taken.
- May 21, 2009 (v1.0): Introduced methods for finding all positions on a single bill or all positions taken by a single organization.
Matching on a bill requires the jurisdiction (e.g., US), session (e.g., 111th) and bill number (e.g., H.R. 1). Matching on an organization requires string matching on the organization name; we are actively working on improving the way we manage organizational entities and plan to release other organizational identifiers such as Federal Election Commission (FEC) committee identifiers upon completion of that project.
We encourage the community to develop and share client libraries and best practices in matching organizations with other data sets in the MapLight API Discussion Google Group.
Use of the MapLight API is subject to the following terms:
- MapLight cannot be held liable for the accuracy or availability of the service provided and does not make any claims to accuracy, completeness, availability, or any other warranty or guarantee.
- Each web page, data set, or publication that in any way uses data from the MapLight API must give clear attribution to MapLight by doing ALL of the following:
- Displaying the MapLight logo, at minimum dimension of 120 pixels wide. The logo must hyperlink to http://maplight.org or to another page on the MapLight website. The image displayed is not required to include the text portion of the MapLight logo that reads "Revealing Money's Influence on Politics". For your convenience, logo files are available to download from our logo page.
- Displaying one of these text phrases: (a) Source: MapLight (b) Data: MapLight (c) Data source: MapLight (d) Interest group positions: MapLight. Either the entire text phrase, or the "MapLight" within the text phrase, must hyperlink to http://maplight.org or to another page on the MapLight website.
- Displaying the logo and text phrase specified in (1) and (2) above as close as possible to the information being displayed from MapLight's API. Both the logo and text phrase specified in (1) and (2) must be immediately visible, without requiring user interaction such as mouseover, typing or clicking.
- Printed (non-electronic) publications must include the logo and text phrase specified in (1) and (2) but are not required to provide hyperlinks.
Exceptions to these terms of attribution must be agreed upon in advance in writing by MapLight.
Implication or claim of endorsement by MapLight is strictly prohibited.
- Usage of the API depends upon an API key which should only be used by the individual/organization which requested it. Sharing or distribution of API keys is not permitted.
- Usage is currently not limited, but excessive usage is monitored and may be grounds for the termination of service. If you plan to make heavy use of the MapLight API please contact us beforehand so we can be sure it will not damage general availability.
- User will, upon MapLight's request, provide MapLight with monthly traffic statistics (visitors and pageviews) for web pages that use data from the MapLight API. MapLight does not distribute user-specific statistics of API usage except in cases where we have obtained the user's permission. We do, however, reserve the right to publish usage statistics aggregated across multiple users.
- These terms may be modified at any time. We will send notification of changes to the user email address on file.
- Service may be terminated at any time at the discretion of MapLight.
- The MapLight API is provided free of charge for use on free public websites owned by nonprofit organizations. To use MapLight's API as part of a non-public, fee-based, for-profit, or subscription-based site or service, specific permission is required--please contact us for details.