Congress.gov API treaty API

Returns treaty data from the API

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-treaty-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 email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

congress-gov-treaty-api-openapi.yml Raw ↑
openapi: 3.0.3
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 treaty API
  version: '3'
servers:
- url: /v3
security:
- ApiKeyAuth: []
tags:
- name: treaty
  description: Returns treaty data from the API
paths:
  /treaty:
    get:
      tags:
      - treaty
      summary: Returns a list of treaties sorted by date of last update.
      description: Returns a list of treaties sorted by date of last update.
      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/Treaty'
            application/xml:
              schema:
                $ref: '#/components/schemas/Treaty'
        '400':
          description: Invalid status value
  /treaty/{congress}:
    get:
      tags:
      - treaty
      summary: Returns a list of treaties for the specified congress, sorted by date of last update.
      description: Returns a list of treaties for the specified congress, sorted by date of last update.
      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/Treaty'
            application/xml:
              schema:
                $ref: '#/components/schemas/Treaty'
        '400':
          description: Invalid status value
  /treaty/{congress}/{treatyNumber}:
    get:
      tags:
      - treaty
      summary: Returns detailed information for a specified treaty.
      description: Returns detailed information for a specified treaty.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/treatyNumber'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatyDetail'
            application/xml:
              schema:
                $ref: '#/components/schemas/TreatyDetail'
        '400':
          description: Invalid status value
  /treaty/{congress}/{treatyNumber}/{treatySuffix}:
    get:
      tags:
      - treaty
      summary: Returns detailed information for a specified partitioned treaty.
      description: Returns detailed information for a specified partitioned treaty.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/treatyNumber'
      - $ref: '#/components/parameters/treatySuffix'
      - $ref: '#/components/parameters/format'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatyDetail'
            application/xml:
              schema:
                $ref: '#/components/schemas/TreatyDetail'
        '400':
          description: Invalid status value
  /treaty/{congress}/{treatyNumber}/actions:
    get:
      tags:
      - treaty
      summary: Returns the list of actions on a specified treaty.
      description: Returns the list of actions on a specified treaty.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/treatyNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatyActions'
            application/xml:
              schema:
                $ref: '#/components/schemas/TreatyActions'
        '400':
          description: Invalid status value
  /treaty/{congress}/{treatyNumber}/{treatySuffix}/actions:
    get:
      tags:
      - treaty
      summary: Returns the list of actions on a specified partitioned treaty.
      description: Returns the list of actions on a specified partitioned treaty.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/treatyNumber'
      - $ref: '#/components/parameters/treatySuffix'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatyActions'
            application/xml:
              schema:
                $ref: '#/components/schemas/TreatyActions'
        '400':
          description: Invalid status value
  /treaty/{congress}/{treatyNumber}/committees:
    get:
      tags:
      - treaty
      summary: Returns the list of committees associated with a specified treaty.
      description: Returns the list of committees associated with a specified treaty.
      parameters:
      - $ref: '#/components/parameters/congress'
      - $ref: '#/components/parameters/treatyNumber'
      - $ref: '#/components/parameters/format'
      - $ref: '#/components/parameters/offset'
      - $ref: '#/components/parameters/limit'
      responses:
        '200':
          description: Successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TreatyCommittees'
            application/xml:
              schema:
                $ref: '#/components/schemas/TreatyCommittees'
        '400':
          description: Invalid status value
components:
  parameters:
    treatyNumber:
      name: treatyNumber
      in: path
      description: The treaty’s assigned number. For example, the value can be 13.
      required: true
      schema:
        type: integer
    congress:
      name: congress
      in: path
      description: The congress number. For example, can be 117.
      required: true
      schema:
        type: integer
        format: int32
    offset:
      name: offset
      in: query
      description: The starting record returned. 0 is the first record.
      required: false
      schema:
        type: integer
    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
    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
    treatySuffix:
      name: treatySuffix
      in: path
      description: The treaty’s partition letter value. For example, the value can be A.
      required: true
      schema:
        type: string
    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
    limit:
      name: limit
      in: query
      description: The number of records returned. The maximum limit is 250.
      required: false
      schema:
        type: integer
  schemas:
    TreatyActions:
      type: object
      properties:
        actions:
          type: array
          items:
            $ref: '#/components/schemas/treatyAction'
    treatyAction:
      type: object
      properties:
        actionCode:
          type: string
          example: S05291
        actionDate:
          type: string
          format: date
          example: '2022-08-03'
        committee:
          $ref: '#/components/schemas/senatecommittee'
        text:
          type: string
          example: 'Resolution of advice and consent to ratification agreed to as amended in Senate by Yea-Nay Vote. 95 - 1. Record Vote Number: 282.'
        type:
          type: string
          example: Floor
    treaty:
      type: object
      properties:
        congressReceived:
          type: integer
          example: 89
        congressConsidered:
          type: integer
          example: 89
        number:
          type: integer
          example: 3
        parts:
          type: object
        suffix:
          type: string
          example: ''
        topic:
          type: string
          example: Dispute Settlement and Arbitration
        transmittedDate:
          type: string
          format: date-time
          example: '1965-05-17T00:00:00Z'
        updateDate:
          type: string
          format: date-time
          example: '2024-12-11T00:18:16Z'
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/treaty/89/3?format=json
    TreatyCommittees:
      type: object
      properties:
        treatyCommittees:
          type: array
          items:
            $ref: '#/components/schemas/treatyCommittee'
    TreatyDetail:
      type: object
      properties:
        treaty:
          type: object
          properties:
            actions:
              type: object
              properties:
                count:
                  type: integer
                  example: 3
                url:
                  type: string
                  format: url
                  example: https://api.congress.gov/v3/treaty/89/7/actions?format=json
            congressConsidered:
              type: integer
              example: 89
            congressReceived:
              type: integer
              example: 89
            countriesParties:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    example: Belgium
            inForceDate:
              type: string
              example: ''
            indexTerms:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                    example: ENGLISH
            number:
              type: integer
              example: 7
            oldNumber:
              type: string
              example: G. 89-1
            oldNumberDisplayName:
              type: string
              example: Ex. G, 89th Congress, 1st Session
            parts:
              type: object
            relatedDocs:
              type: array
            resolutionText:
              type: string
              example: ''
            suffix:
              type: string
              example: ''
            titles:
              type: array
              items:
                type: object
                properties:
                  title:
                    type: string
                    example: PROTOCOL MODIFYING CONVENTION WITH BELGIUM FOR THE AVOIDANCE OF DOUBLE TAXATION
                  titleType:
                    type: string
                    example: Treaty - Short Title
            topic:
              type: string
              example: Taxation
            transmitted:
              type: string
              format: date-time
              example: '1965-08-05T00:00:00Z'
            updateDate:
              type: string
              format: date-time
              example: '2022-02-26T16:25:25Z'
    senatecommittee:
      type: object
      properties:
        name:
          type: string
          example: Armed Services Committee
        systemCode:
          type: string
          example: ssas00
        url:
          type: string
          format: url
          example: https://api.congress.gov/v3/committee/senate/ssas00?format=json
    treatyCommittee:
      type: object
      properties:
        activities:
          type: array
          items:
            type: object
            properties:
              date:
                type: string
                format: date
                example: '1965-10-19T04:00:00Z'
              name:
                type: string
                example: Reported By
        chamber:
          type: string
          example: Senate
        name:
          type: string
          example: Foreign Relations Committee
        subcommittees:
          type: array
        systemCode:
          type: string
          example: ssfr00
        type:
          type: string
          example: Standing
        url:
          type: string
          example: https://api.congress.gov/v3/committee/senate/ssfr00?format=json
    Treaty:
      type: object
      properties:
        treaties:
          type: array
          items:
            $ref: '#/components/schemas/treaty'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: query
      name: api_key