Congress.gov API amendments API

Returns amendment data from the API

Operations 8

GET /amendment Returns a list of amendments sorted by date of latest action.
GET /amendment/{congress} Returns a list of amendments filtered by the specified congress, sorted by date of latest action.
GET /amendment/{congress}/{amendmentType} Returns a list of amendments filtered by the specified congress and amendment type, sorted by date of latest action.
GET /amendment/{congress}/{amendmentType}/{amendmentNumber} Returns detailed information for a specified amendment.
GET /amendment/{congress}/{amendmentType}/{amendmentNumber}/actions Returns the list of actions on a specified amendment.
GET /amendment/{congress}/{amendmentType}/{amendmentNumber}/cosponsors Returns the list of cosponsors on a specified amendment.
GET /amendment/{congress}/{amendmentType}/{amendmentNumber}/amendments Returns the list of amendments to a specified amendment.
GET /amendment/{congress}/{amendmentType}/{amendmentNumber}/text Returns the list of text versions for a specified amendment from the 117th Congress onwards.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/congress-gov-amendments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

congress-gov-amendments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: 'Congress.gov shares its application programming interface (API) with the public to ingest the Congressional data. <a href="sign-up/" target="_blank">Sign up for an API key</a> from api.data.gov that you can use to access web services provided by Congress.gov. To learn more, view our <a href="https://github.com/LibraryOfCongress/api.congress.gov/" target="_blank">GitHub repository</a>.

    '
  title: Congress.gov Amendments API
  version: '3'
servers:
- url: /v3
security:
- ApiKeyAuth: []
tags:
- name: amendments
  description: Returns amendment data from the API
paths:
  /amendment:
    get:
      tags:
      - amendments
      summary: Returns a list of amendments sorted by date of latest action.
      description: Returns a list of amendments sorted by date of latest action.
      parameters:
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/fromDateTime'
      - $ref: '#/components/parameters/toDateTime'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Amendment'
            application/xml:
              schema:
                $ref: '#/components/schemas/Amendment'
        '400':
          description: Invalid status value
  /amendment/{congress}:
    get:
      tags:
      - amendments
      summary: Returns a list of amendments filtered by the specified congress, sorted by date of latest action.
      description: Returns a list of amendments filtered by the specified congress, sorted by date of latest action.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/fromDateTime'
      - $ref: '#/components/parameters/toDateTime'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Amendment'
            application/xml:
              schema:
                $ref: '#/components/schemas/Amendment'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}:
    get:
      tags:
      - amendments
      summary: Returns a list of amendments filtered by the specified congress and amendment type, sorted by date of latest action.
      description: Returns a list of amendments filtered by the specified congress and amendment type, sorted by date of latest action.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/fromDateTime'
      - $ref: '#/components/parameters/toDateTime'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Amendment'
            application/xml:
              schema:
                $ref: '#/components/schemas/Amendment'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}/{amendmentNumber}:
    get:
      tags:
      - amendments
      summary: Returns detailed information for a specified amendment.
      description: Returns detailed information for a specified amendment.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/amendmentNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/fromDateTime'
      - $ref: '#/components/parameters/toDateTime'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmendmentNumber'
            application/xml:
              schema:
                $ref: '#/components/schemas/AmendmentNumber'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}/{amendmentNumber}/actions:
    get:
      tags:
      - amendments
      summary: Returns the list of actions on a specified amendment.
      description: Returns the list of actions on a specified amendment.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/amendmentNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmendmentActions'
            application/xml:
              schema:
                $ref: '#/components/schemas/AmendmentActions'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}/{amendmentNumber}/cosponsors:
    get:
      tags:
      - amendments
      summary: Returns the list of cosponsors on a specified amendment.
      description: Returns the list of cosponsors on a specified amendment.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/amendmentNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmendmentCosponsors'
            application/xml:
              schema:
                $ref: '#/components/schemas/AmendmentCosponsors'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}/{amendmentNumber}/amendments:
    get:
      tags:
      - amendments
      summary: Returns the list of amendments to a specified amendment.
      description: Returns the list of amendments to a specified amendment.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/amendmentNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmendmentAmendments'
            application/xml:
              schema:
                $ref: '#/components/schemas/AmendmentAmendments'
        '400':
          description: Invalid status value
  /amendment/{congress}/{amendmentType}/{amendmentNumber}/text:
    get:
      tags:
      - amendments
      summary: Returns the list of text versions for a specified amendment from the 117th Congress onwards.
      description: Returns the list of text versions for a specified amendment from the 117th Congress onwards.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/amendmentType'
      - $ref: '#/components/parameters/amendmentNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AmendmentText'
            application/xml:
              schema:
                $ref: '#/components/schemas/AmendmentText'
        '400':
          description: Invalid status value
components:
  schemas:
    CoSponsor:
      type: object
      properties:
        bioguidId:
          type: string
          example: F000450
        district:
          type: integer
          example: 5
        firstName:
          type: string
          example: Virginia
        fullName:
          type: string
          example: Rep. Foxx, Virginia [R-NC-5]
        isOriginalCosponsor:
          type: boolean
          example: true
        lastName:
          type: string
          example: Foxx
        party:
          type: string
          example: R
        sponsorshipDate:
          type: string
          format: date
          example: '2021-05-11'
        state:
          type: string
          example: NC
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/member/F000450?format=json
    recordedVote:
      type: object
      properties:
        chamber:
          type: string
          example: Senate
        congress:
          type: integer
          example: 117
        date:
          type: string
          format: date-time
          example: '2021-08-08T12:00:00Z'
        rollNumber:
          type: integer
          example: 312
        sessionNumber:
          type: integer
          example: 1
        url:
          type: string
          format: url
          example: https://www.senate.gov/legislative/LIS/roll_call_votes/vote1171/vote_117_1_00312.xml
    Amendment:
      type: object
      properties:
        congress:
          type: integer
          example: 117
        description:
          type: string
          example: Amendment changes the effective date of the bill to the date of enactment.
        latestAction:
          type: object
          properties:
            actionDate:
              type: string
              format: date
              example: '2021-08-08'
            actionTime:
              type: string
              format: time
              example: '12:00:00'
            text:
              type: string
              example: 'Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28. Record Vote Number: 312.'
        number:
          type: string
          example: '2137'
        purpose:
          type: string
          example: In the nature of a substitute.
        type:
          type: string
          format: SAMDT
        updateDate:
          type: string
          format: date-time
          example: '2021-08-08T12:00:00Z'
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/amendment/117/samdt/2137?format=json
    Sponsor:
      type: object
      properties:
        bioguideId:
          type: string
          example: G000555
        firstName:
          type: string
          example: Bill
        lastName:
          type: string
          example: Washington
        fullName:
          type: string
          example: Senator Bill Washington [I-NY]
        isByRequest:
          type: string
          example: N
        middleName:
          type: string
          example: J.
        party:
          type: string
          example: I
        state:
          type: string
          example: VA
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/member/G000555?format=json
    formats:
      type: object
      properties:
        type:
          type: string
          example: Formatted Text
        url:
          type: string
          format: url
          example: https://www.congress.gov/117/bills/hr3076/BILLS-117hr3076enr.htm
    textVersion:
      type: object
      properties:
        count:
          type: integer
          example: 1
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/amendment/117/samdt/4/text?format=json
    sourceSystem:
      type: object
      properties:
        code:
          type: integer
          example: 0
        name:
          type: string
          example: Senate
    AmendmentText:
      type: array
      items:
      - $ref: '#/components/schemas/textVersions'
    AmendmentNumber:
      type: object
      properties:
        actions:
          type: object
          properties:
            count:
              type: integer
              example: 1
            url:
              type: string
              format: url
              example: https://api.congress.gov/v3/amendment/117/samdt/4/actions?format=json
        amendedBill:
          $ref: '#/components/schemas/amendedBill'
        chamber:
          type: string
        congress:
          type: integer
          example: 117
        number:
          type: string
          example: '2137'
        sponsors:
          type: array
          items:
            $ref: '#/components/schemas/Sponsor'
        submittedDate:
          type: string
          format: date-time
          example: '2021-02-02T05:00:00Z'
        textVersions:
          $ref: '#/components/schemas/textVersion'
        type:
          type: string
          format: SAMDT
        updateDate:
          type: string
          format: date-time
          example: '2021-08-08T12:00:00Z'
    textVersions:
      type: object
      properties:
        date:
          type: string
          format: date
          example: '2022-02-18T16:38:41Z'
        formats:
          type: array
          items:
            $ref: '#/components/schemas/formats'
        type:
          type: string
          example: Enrolled Bill
    AmendmentAmendments:
      type: array
      items:
      - $ref: '#/components/schemas/Amendment'
    AmendmentCosponsors:
      type: array
      items:
      - $ref: '#/components/schemas/CoSponsor'
    amendedBill:
      type: object
      properties:
        congress:
          type: integer
          example: 117
        number:
          type: string
          example: '5'
        originChamber:
          type: string
          example: Senate
        originChamberCode:
          type: string
          example: S
        title:
          type: string
          example: A concurrent resolution setting forth the congressional budget for the United States Government for fiscal year 2021 and setting forth the appropriate budgetary levels for fiscal years 2022 through 2030.
        type:
          type: string
          example: SCONRES
        updateDateIncludingText:
          type: string
          format: date
          example: '2025-04-07'
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/bill/117/sconres/5?format=json
    amendmentActions:
      type: object
      properties:
        actionDate:
          type: string
          format: date
          example: '2021-08-08'
        recordedVotes:
          type: array
          items:
            $ref: '#/components/schemas/recordedVote'
        sourceSystem:
          $ref: '#/components/schemas/sourceSystem'
        text:
          type: string
          example: 'Amendment SA 2137 agreed to in Senate by Yea-Nay Vote. 69 - 28. Record Vote Number: 312.'
        type:
          type: string
          example: Floor
    AmendmentActions:
      type: array
      items:
      - $ref: '#/components/schemas/amendmentActions'
  parameters:
    fromDateTime:
      name: fromDateTime
      in: query
      description: 'The starting timestamp to filter by update date. Use format: YYYY-MM-DDT00:00:00Z.'
      required: false
      schema:
        type: string
    toDateTime:
      name: toDateTime
      in: query
      description: 'The ending timestamp to filter by update date. Use format: YYYY-MM-DDT00:00:00Z.'
      required: false
      schema:
        type: string
    offset:
      name: offset
      in: query
      description: The starting record returned. 0 is the first record.
      required: false
      schema:
        type: integer
    amendmentNumber:
      name: amendmentNumber
      in: path
      description: The amendment’s assigned number. For example, the value can be 2137.
      required: true
      schema:
        type: string
    amendmentType:
      name: amendmentType
      in: path
      description: The type of amendment. Value can be hamdt, samdt, or suamdt.
      required: true
      schema:
        type: string
    format:
      name: format
      in: query
      description: The data format. Value can be xml or json.
      required: false
      schema:
        type: string
        default: xml
        enum:
        - xml
        - json
    limit:
      name: limit
      in: query
      description: The number of records returned. The maximum limit is 250.
      required: false
      schema:
        type: integer
    congress:
      name: congress
      in: path
      description: The congress number. For example, can be 117.
      required: true
      schema:
        type: integer
        format: int32
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key