US House of Representatives Bills API
Legislative bills and resolutions
Legislative bills and resolutions
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/us-house-of-representatives-bills-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Congress.gov Bills API
description: The Congress.gov API provides programmatic access to congressional data from the Library of Congress. It is a REST API offering machine-readable data covering bills, amendments, congressional records, committees, members, nominations, treaties, and other collections. An API key is required for access. Version 3 is the current stable release.
version: v3
contact:
url: https://www.loc.gov/apis/additional-apis/congress-dot-gov-api/
license:
name: US Government Work
url: https://www.usa.gov/government-works
servers:
- url: https://api.congress.gov/v3
description: Congress.gov API v3 Production Server
security:
- ApiKeyQuery: []
tags:
- name: Bills
description: Legislative bills and resolutions
paths:
/bill:
get:
operationId: listBills
summary: List Bills
description: Returns a paginated list of congressional bills across all congresses.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- name: fromDateTime
in: query
description: Start date/time filter for bill updates (ISO 8601)
required: false
schema:
type: string
format: date-time
- name: toDateTime
in: query
description: End date/time filter for bill updates (ISO 8601)
required: false
schema:
type: string
format: date-time
- name: sort
in: query
description: Sort order for results
required: false
schema:
type: string
enum:
- updateDate+asc
- updateDate+desc
default: updateDate+desc
responses:
'200':
description: A paginated list of bills
content:
application/json:
schema:
$ref: '#/components/schemas/BillListResponse'
'400':
description: Bad request
'403':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimitExceeded'
/bill/{congress}:
get:
operationId: listBillsByCongress
summary: List Bills by Congress
description: Returns bills introduced in a specific Congress.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
- name: billType
in: query
description: Filter by bill type
required: false
schema:
type: string
enum:
- hr
- s
- hjres
- sjres
- hconres
- sconres
- hres
- sres
responses:
'200':
description: A paginated list of bills for the specified Congress
content:
application/json:
schema:
$ref: '#/components/schemas/BillListResponse'
'404':
description: Congress not found
/bill/{congress}/{type}:
get:
operationId: listBillsByType
summary: List Bills by Congress and Type
description: Returns bills of a specific type introduced in a specific Congress.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
description: Bill type (e.g., hr, s, hjres)
required: true
schema:
type: string
enum:
- hr
- s
- hjres
- sjres
- hconres
- sconres
- hres
- sres
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: A list of bills of the specified type
content:
application/json:
schema:
$ref: '#/components/schemas/BillListResponse'
/bill/{congress}/{type}/{number}:
get:
operationId: getBill
summary: Get Bill Details
description: Returns detailed information for a specific bill.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
description: Bill type (e.g., hr, s)
required: true
schema:
type: string
- name: number
in: path
description: Bill number
required: true
schema:
type: integer
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
responses:
'200':
description: Detailed bill information
content:
application/json:
schema:
$ref: '#/components/schemas/BillDetailResponse'
'404':
description: Bill not found
/bill/{congress}/{type}/{number}/actions:
get:
operationId: getBillActions
summary: Get Bill Actions
description: Returns the legislative actions taken on a specific bill.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
description: Bill type
required: true
schema:
type: string
- name: number
in: path
description: Bill number
required: true
schema:
type: integer
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: List of actions on the bill
content:
application/json:
schema:
$ref: '#/components/schemas/BillActionsResponse'
/bill/{congress}/{type}/{number}/cosponsors:
get:
operationId: getBillCosponsors
summary: Get Bill Cosponsors
description: Returns the cosponsors of a specific bill.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
required: true
schema:
type: string
- name: number
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
- $ref: '#/components/parameters/limitParam'
- $ref: '#/components/parameters/offsetParam'
responses:
'200':
description: List of cosponsors
content:
application/json:
schema:
type: object
/bill/{congress}/{type}/{number}/summaries:
get:
operationId: getBillSummaries
summary: Get Bill Summaries
description: Returns summaries for a specific bill.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
required: true
schema:
type: string
- name: number
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
responses:
'200':
description: List of summaries for the bill
content:
application/json:
schema:
type: object
/bill/{congress}/{type}/{number}/text:
get:
operationId: getBillText
summary: Get Bill Text Versions
description: Returns the available text versions for a specific bill.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/congressParam'
- name: type
in: path
required: true
schema:
type: string
- name: number
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/apiKeyParam'
- $ref: '#/components/parameters/formatParam'
responses:
'200':
description: Available text versions of the bill
content:
application/json:
schema:
type: object
components:
schemas:
BillSummary:
type: object
properties:
congress:
type: integer
description: Congress number the bill was introduced in
type:
type: string
description: Bill type code (hr, s, hjres, etc.)
number:
type: string
description: Bill number
title:
type: string
description: Official title of the bill
originChamber:
type: string
description: Chamber where the bill originated (House or Senate)
originChamberCode:
type: string
description: Chamber code (H or S)
introducedDate:
type: string
format: date
description: Date the bill was introduced
latestAction:
type: object
properties:
actionDate:
type: string
format: date
text:
type: string
updateDate:
type: string
format: date-time
url:
type: string
description: API URL for the bill details
BillDetailResponse:
type: object
properties:
bill:
type: object
properties:
congress:
type: integer
type:
type: string
number:
type: string
title:
type: string
introducedDate:
type: string
format: date
sponsors:
type: array
items:
type: object
cosponsors:
type: object
committees:
type: object
actions:
type: object
subjects:
type: object
summaries:
type: object
textVersions:
type: object
request:
$ref: '#/components/schemas/RequestInfo'
BillActionsResponse:
type: object
properties:
actions:
type: array
items:
type: object
properties:
actionDate:
type: string
format: date
text:
type: string
type:
type: string
actionCode:
type: string
committees:
type: array
items:
type: object
pagination:
$ref: '#/components/schemas/Pagination'
RequestInfo:
type: object
properties:
billNumber:
type: string
billType:
type: string
congress:
type: string
contentType:
type: string
format:
type: string
Pagination:
type: object
properties:
count:
type: integer
description: Total number of records matching the query
next:
type: string
description: URL for the next page of results
prev:
type: string
description: URL for the previous page of results
BillListResponse:
type: object
properties:
bills:
type: array
items:
$ref: '#/components/schemas/BillSummary'
pagination:
$ref: '#/components/schemas/Pagination'
request:
$ref: '#/components/schemas/RequestInfo'
responses:
Unauthorized:
description: API key missing or invalid
RateLimitExceeded:
description: Rate limit exceeded (5000 requests per hour)
parameters:
offsetParam:
name: offset
in: query
description: Starting record number for pagination
required: false
schema:
type: integer
minimum: 0
default: 0
congressParam:
name: congress
in: path
description: The Congress number (e.g., 118 for the 118th Congress)
required: true
schema:
type: integer
minimum: 1
apiKeyParam:
name: api_key
in: query
description: API key for authentication
required: false
schema:
type: string
limitParam:
name: limit
in: query
description: Number of results to return per request (max 250)
required: false
schema:
type: integer
minimum: 1
maximum: 250
default: 20
formatParam:
name: format
in: query
description: Response format
required: false
schema:
type: string
enum:
- json
- xml
default: json
securitySchemes:
ApiKeyQuery:
type: apiKey
in: query
name: api_key
description: API key required for all requests. Register at https://api.congress.gov/sign-up to obtain a key.