Library of Congress Congress.gov API
The Congress.gov API provides programmatic access to legislative information, including bills, laws, members, committees, and Congressional Record content from the U.S. Congress.
The Congress.gov API provides programmatic access to legislative information, including bills, laws, members, committees, and Congressional Record content from the U.S. Congress.
openapi: 3.1.0
info:
title: Library of Congress Congress.gov API
description: >-
The Congress.gov API provides programmatic access to legislative
information from the U.S. Congress, including bills, laws, members,
committees, amendments, and Congressional Record content. An API key
is required for access.
version: 1.0.0
contact:
name: Library of Congress
url: https://api.congress.gov/
servers:
- url: https://api.congress.gov/v3
description: Production
security:
- ApiKeyAuth: []
paths:
/bill:
get:
operationId: listBills
summary: List Bills
description: Returns a list of bills sorted by date of latest action.
tags:
- Bills
parameters:
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
- name: fromDateTime
in: query
schema:
type: string
format: date-time
- name: toDateTime
in: query
schema:
type: string
format: date-time
responses:
'200':
description: List of bills
content:
application/json:
schema:
$ref: '#/components/schemas/BillList'
/bill/{congress}/{billType}:
get:
operationId: listBillsByType
summary: List Bills by Congress and Type
tags:
- Bills
parameters:
- name: congress
in: path
required: true
schema:
type: integer
- name: billType
in: path
required: true
schema:
type: string
enum:
- hr
- s
- hjres
- sjres
- hconres
- sconres
- hres
- sres
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: List of bills
content:
application/json:
schema:
$ref: '#/components/schemas/BillList'
/bill/{congress}/{billType}/{billNumber}:
get:
operationId: getBill
summary: Get Bill
tags:
- Bills
parameters:
- name: congress
in: path
required: true
schema:
type: integer
- name: billType
in: path
required: true
schema:
type: string
- name: billNumber
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/Format'
responses:
'200':
description: Bill detail
content:
application/json:
schema:
$ref: '#/components/schemas/Bill'
/member:
get:
operationId: listMembers
summary: List Members
description: List members of Congress.
tags:
- Members
parameters:
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Members list
content:
application/json:
schema:
$ref: '#/components/schemas/MemberList'
/member/{bioguideId}:
get:
operationId: getMember
summary: Get Member
tags:
- Members
parameters:
- name: bioguideId
in: path
required: true
schema:
type: string
- $ref: '#/components/parameters/Format'
responses:
'200':
description: Member detail
content:
application/json:
schema:
$ref: '#/components/schemas/Member'
/committee:
get:
operationId: listCommittees
summary: List Committees
tags:
- Committees
parameters:
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Committees list
content:
application/json:
schema:
$ref: '#/components/schemas/CommitteeList'
/law/{congress}:
get:
operationId: listLaws
summary: List Laws
tags:
- Laws
parameters:
- name: congress
in: path
required: true
schema:
type: integer
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Laws list
content:
application/json:
schema:
$ref: '#/components/schemas/LawList'
/congressional-record:
get:
operationId: listCongressionalRecord
summary: List Congressional Record
tags:
- Congressional Record
parameters:
- $ref: '#/components/parameters/Format'
- $ref: '#/components/parameters/Offset'
- $ref: '#/components/parameters/Limit'
responses:
'200':
description: Congressional Record entries
content:
application/json:
schema:
type: object
components:
securitySchemes:
ApiKeyAuth:
type: apiKey
in: query
name: api_key
parameters:
Format:
name: format
in: query
schema:
type: string
enum:
- json
- xml
default: json
Offset:
name: offset
in: query
schema:
type: integer
default: 0
Limit:
name: limit
in: query
schema:
type: integer
default: 20
maximum: 250
schemas:
BillList:
type: object
properties:
bills:
type: array
items:
$ref: '#/components/schemas/Bill'
pagination:
$ref: '#/components/schemas/Pagination'
Bill:
type: object
properties:
congress:
type: integer
number:
type: string
type:
type: string
title:
type: string
originChamber:
type: string
introducedDate:
type: string
latestAction:
type: object
properties:
actionDate:
type: string
text:
type: string
url:
type: string
format: uri
MemberList:
type: object
properties:
members:
type: array
items:
$ref: '#/components/schemas/Member'
pagination:
$ref: '#/components/schemas/Pagination'
Member:
type: object
properties:
bioguideId:
type: string
name:
type: string
state:
type: string
party:
type: string
chamber:
type: string
url:
type: string
format: uri
CommitteeList:
type: object
properties:
committees:
type: array
items:
type: object
properties:
name:
type: string
chamber:
type: string
systemCode:
type: string
url:
type: string
format: uri
pagination:
$ref: '#/components/schemas/Pagination'
LawList:
type: object
properties:
bills:
type: array
items:
$ref: '#/components/schemas/Bill'
pagination:
$ref: '#/components/schemas/Pagination'
Pagination:
type: object
properties:
count:
type: integer
next:
type: string
prev:
type: string