KeyVex
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.

EndpointGET /v1/roll-call-votes
SourceHouse + Senate roll-call votes
Authx-api-key — a free key works

What it returns

One record per result. Fields (from a live response):

Filters

vote_idComposite vote identifier ('{chamber}-{congress}-{session}-{rcNumber}', e.g., 'house-119-1-240'). Direct doc lookup, fastest path.
congressCongress number (e.g., 119).
session_numberSession within the Congress. Session 1 = first calendar year of the Congress; Session 2 = second year.
chamberFilter to House or Senate roll calls.
bill_idFilter to votes on a specific bill (composite key like '119-HR-134'). Use to chain a bill lookup → votes on that bill.
legislation_typeFilter to votes on a specific legislation type.
resultSubstring match against result text (e.g., 'passed', 'failed', 'agreed').
sinceVote-start date lower bound (ISO YYYY-MM-DD inclusive).
untilVote-start date upper bound (ISO YYYY-MM-DD inclusive).
sort_byDefault: start_date (most recent votes first).
sort_orderDefault: desc.
limitMaximum 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

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 →
← All 60+ datasets