On Tuesday, members of the 111th Congress convened in Washington. Over the next two years, the 535 men and women of the House and Senate will introduce, consider and vote on a range of issues, from an economic stimulus package to confirmation of President-elect Barack Obama’s cabinet nominees. So it’s an appropriate time to announce the release of our Congress API, which lets developers access information about Congressional representatives and their votes.

The initial release exposes four types of data: a list of members for a given Congress and chamber, details of a specific roll-call vote, biographical and role information about a specific member of Congress, and a member’s most recent positions on roll-call votes.

The four work together, so you can start by retrieving a list of members, find the one(s) you’re interested in and then fetch additional details through other calls. We built this service to work with other publicly available data sources, so you can identify members of Congress with a seven-character code from the Biographical Directory of the United States Congress. For individual member responses, we included the numeric ID assigned by GovTrack, a free and open-source service that monitors legislative activity.

Our data comes directly from the U.S. House and Senate Web sites, and is updated throughout the day while Congress is in session. We use Hpricot, an HTML parser for Ruby, written in C, to parse both the XML produced by the House and the HTML displayed on Senate.gov, and we use the ar-extensions plugin for Ruby on Rails which extends ActiveRecord to speed the bulk loading of records. We also parse some information from THOMAS, the Library of Congress Web site.

Our database contains House votes since 1991 and Senate votes since 1989. House members are from 1983 and Senate members date back to 1947, thanks to a compilation of data organized by MIT’s Charles Stewart.

For individual votes, we’ve calculated a majority position for the two major political parties, along with an absolute vote margin. We display that information along with other details such as the total votes by party, the outcome and, where applicable, bill information. For details on requests and responses, see the documentation.

Just as it’s early in the 111th Congress, this API is in its beginning stages, and we have other types of information we plan on adding. Let us know what would be useful to you.