Congress & government officials
Roll-Call Votes
Returns congressional roll-call vote metadata (House + Senate) from api.congress.gov. Use this when the user asks about: recent votes in either chamber, votes on a specific bill, votes by date range, or to chain to per-member positions via the source_data_url.
Endpoint
GET /v1/roll-call-votesSourceHouse + Senate roll-call votes
Authx-api-key — a free key works
What it returns
One record per result. Fields (from a live response):
- Identity —
vote_title - Dates —
update_date,start_date,scraped_at - The trade / event —
vote_type,vote_id,result,measure - Provenance —
api_url,source_data_url,congress_gov_url - Details —
bill_id,session_number,congress,legislation_number,roll_call_number,legislation_type,chamber,amendment_type,amendment_author,en_bloc_matters,amendment_number
Filters
| vote_id | Composite vote identifier ('{chamber}-{congress}-{session}-{rcNumber}', e.g., 'house-119-1-240'). Direct doc lookup, fastest path. |
| congress | Congress number (e.g., 119). |
| session_number | Session within the Congress. Session 1 = first calendar year of the Congress; Session 2 = second year. |
| chamber | Filter to House or Senate roll calls. |
| bill_id | Filter to votes on a specific bill (composite key like '119-HR-134'). Use to chain a bill lookup → votes on that bill. |
| legislation_type | Filter to votes on a specific legislation type. |
| result | Substring match against result text (e.g., 'passed', 'failed', 'agreed'). |
| since | Vote-start date lower bound (ISO YYYY-MM-DD inclusive). |
| until | Vote-start date upper bound (ISO YYYY-MM-DD inclusive). |
| sort_by | Default: start_date (most recent votes first). |
| sort_order | Default: desc. |
| limit | Maximum votes to return. Default 50, max 500. |
Example request
curl "https://api.keyvex.com/v1/roll-call-votes?limit=1" \
-H "x-api-key: YOUR_KEY"
Response
{
"results": [
{
"bill_id": "119-PN-730",
"session_number": 2,
"vote_type": "On the Nomination",
"api_url": "",
"congress": 119,
"legislation_number": "730",
"vote_id": "senate-119-2-181",
"source_data_url": "https://www.senate.gov/legislative/LIS/roll_call_votes/vote1192/vote_119_2_00181.xml",
"update_date": "2026-06-18",
"roll_call_number": 181,
"legislation_type": "PN",
"result": "Confirmed",
"chamber": "senate",
"congress_gov_url": "",
"start_date": "2026-06-18",
"measure": "",
"amendment_type": "",
"amendment_author": "",
"vote_title": "Confirmation: George Holding, of North Carolina, to be United States Director of the European Bank for Reconstruction and Development",
"en_bloc_matters": [],
"amendment_number": "",
"scraped_at": "2026-06-22T14:59:30.319Z"
}
],
"count": 1,
"has_more": true
}
Example questions you can answer
- How a chamber voted on a recent measure.
- Find a member's votes over a date range.
Related datasets
Query Roll-Call Votes from your AI
Hand any AI your key + the OpenAPI spec and it can pull this dataset directly. Free key = full data, 60 requests/day.
Get a free key OpenAPI spec → REST docs →