---
title: "Returns congressional bill metadata from api.congress.gov"
method: GET
path: "/v1/bills"
---

# Returns congressional bill metadata from api.congress.gov

`GET /v1/bills`

## Request

- Base URL: `https://api.keyvex.com`
- URL: `https://api.keyvex.com/v1/bills`
- Auth: API key in header `x-api-key`

Returns congressional bill metadata from api.congress.gov. Use this when the user asks about: bills introduced this Congress, the status of a specific bill, House vs Senate bill volume, what bills mention a topic, or to bridge from a roll-call vote (legislation_type + legislation_number) to the underlying bill.  Source: api.congress.gov v3 (Library of Congress). Covers ALL bill types: HR (House Bill), S (Senate Bill), HRES (House Simple Resolution), SRES (Senate Simple Resolution), HJRES (House Joint Resolution), SJRES (Senate Joint Resolution), HCONRES (House Concurrent Resolution), SCONRES (Senate Concurrent Resolution).  v1A returns metadata only: title, type + number, originating chamber, latest action (date + text), and links. Sponsors, cosponsors, full action history, bill text, and CRS summaries live at `api_url` (structured JSON) and `congress_gov_url` (public HTML). Agents follow those for prose detail.  Bill identifiers are stable composite keys formatted as {congress}-{TYPE}-{number}, e.g., '119-HR-134', '119-S-1234', '118-HJRES-5'. Use bill_id for the fastest direct lookup.  Pure-publisher posture: KeyVex returns what's in the public record. No legislative outcome predictions, no 'likely to pass' signals.

## Query parameters

- `bill_id` string
- `congress` integer
- `bill_type` 'HR' | 'S' | 'HRES' | 'SRES' | 'HJRES' | 'SJRES' | 'HCONRES' | 'SCONRES'
- `title` string
- `origin_chamber` 'House' | 'Senate'
- `since` string
- `until` string
- `introduced_since` string
- `introduced_until` string
- `sort_by` 'latest_action_date' | 'update_date' | 'introduction_date'
- `sort_order` 'asc' | 'desc'
- `limit` integer

## Response `200`

JSON envelope: { results: [...], count, has_more }.

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
