Bargo Congress Trades API Members API

Members of Congress and their disclosure histories.

Documentation

Specifications

Other Resources

OpenAPI Specification

bargo-congress-trades-api-members-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Bargo Congress Trades Members API
  version: 1.0.0
  description: Independent, unofficial API for normalized U.S. House and Senate STOCK Act securities transaction disclosures. Includes member, security, transaction, filing, value-range, and price-performance fields. Disclosures can be filed up to approximately 45 days after a transaction; this is not a real-time trading feed or investment advice.
  termsOfService: https://www.bargo.ai/free-apis/terms
  license:
    name: Bargo Free API Terms
    url: https://www.bargo.ai/free-apis/terms
  contact:
    name: Bargo
    url: https://www.bargo.ai/contact
servers:
- url: https://www.bargo.ai/free-apis/congress/v1
  description: Production
security:
- {}
- ApiKeyHeader: []
- BearerAuth: []
- QueryToken: []
tags:
- name: Members
  description: Members of Congress and their disclosure histories.
paths:
  /members:
    get:
      tags:
      - Members
      summary: List members of Congress
      description: Returns members ranked by disclosed trade count, with purchase, sale, and last-trade statistics.
      operationId: listCongressMembers
      parameters:
      - $ref: '#/components/parameters/MemberLimitQuery'
      responses:
        '200':
          $ref: '#/components/responses/MemberList'
        '401':
          $ref: '#/components/responses/InvalidKey'
        '429':
          $ref: '#/components/responses/RateLimited'
  /members/{member_slug}:
    get:
      tags:
      - Members
      summary: Get one member's disclosures
      description: Returns a member profile, aggregate trading statistics, and the member's trades from the last 3 months.
      operationId: getCongressMember
      parameters:
      - $ref: '#/components/parameters/MemberSlugPath'
      - $ref: '#/components/parameters/MemberTradeLimitQuery'
      responses:
        '200':
          $ref: '#/components/responses/MemberDetail'
        '401':
          $ref: '#/components/responses/InvalidKey'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
components:
  headers:
    RowLimitRemaining:
      description: Daily rows remaining for the current caller.
      schema:
        type: integer
    RowLimit:
      description: Daily row limit for the current caller.
      schema:
        type: integer
    RateLimit:
      description: Daily request limit for the current caller.
      schema:
        type: integer
    RateLimitRemaining:
      description: Daily requests remaining for the current caller.
      schema:
        type: integer
  schemas:
    MemberDetail:
      type: object
      required:
      - member
      - member_slug
      - chamber
      - state
      - stats
      - trades
      properties:
        member:
          type: string
        member_slug:
          type: string
        chamber:
          type: string
          enum:
          - house
          - senate
        state:
          type:
          - string
          - 'null'
        stats:
          $ref: '#/components/schemas/MemberStats'
        trades:
          type: array
          items:
            $ref: '#/components/schemas/Trade'
    Trade:
      type: object
      required:
      - member
      - member_slug
      - chamber
      - state
      - ticker
      - asset
      - type
      - amount_low
      - amount_high
      - amount_range
      - transaction_date
      - disclosure_date
      - est_price
      - recent_price
      - recent_price_date
      - perf_pct
      - realized_return_pct
      - outcome
      - filing_portal
      properties:
        member:
          type:
          - string
          - 'null'
          example: Nancy Pelosi
        member_slug:
          type:
          - string
          - 'null'
          example: nancy-pelosi
        chamber:
          type:
          - string
          - 'null'
          enum:
          - house
          - senate
          example: house
        state:
          type:
          - string
          - 'null'
          example: CA11
        ticker:
          type:
          - string
          - 'null'
          example: NVDA
        asset:
          type:
          - string
          - 'null'
          example: NVIDIA Corporation - Common Stock
        type:
          type:
          - string
          - 'null'
          enum:
          - purchase
          - sale
          - exchange
          example: purchase
        amount_low:
          type:
          - number
          - 'null'
          example: 1001
        amount_high:
          type:
          - number
          - 'null'
          example: 15000
        amount_range:
          type:
          - string
          - 'null'
          example: $1,001 - $15,000
        transaction_date:
          type:
          - string
          - 'null'
          format: date
          example: '2026-01-16'
        disclosure_date:
          type:
          - string
          - 'null'
          format: date
          example: '2026-01-23'
        est_price:
          type:
          - number
          - 'null'
          format: double
          description: Estimated per-share price near the transaction date.
          example: 186.23
        recent_price:
          type:
          - number
          - 'null'
          format: double
          description: Most recently tracked closing price.
          example: 211.8
        recent_price_date:
          type:
          - string
          - 'null'
          format: date
          example: '2026-07-14'
        perf_pct:
          type:
          - number
          - 'null'
          format: double
          description: Per-share percentage price movement since the transaction.
          example: 13.73
        realized_return_pct:
          type:
          - number
          - 'null'
          format: double
          example: 8.42
        outcome:
          type:
          - string
          - 'null'
          example: gain
        filing_portal:
          type: string
          format: uri
          example: https://disclosures-clerk.house.gov/FinancialDisclosure
    MemberList:
      type: object
      required:
      - members
      properties:
        members:
          type: array
          items:
            $ref: '#/components/schemas/MemberSummary'
    MemberStats:
      type: object
      required:
      - trades
      - buys
      - sells
      - last_trade
      - avg_buy_perf_pct
      properties:
        trades:
          type: integer
          minimum: 0
        buys:
          type: integer
          minimum: 0
        sells:
          type: integer
          minimum: 0
        last_trade:
          type:
          - string
          - 'null'
          format: date
        avg_buy_perf_pct:
          type:
          - number
          - 'null'
          format: double
    Error:
      type: object
      required:
      - error
      properties:
        error:
          type: string
    MemberSummary:
      type: object
      required:
      - member
      - member_slug
      - chamber
      - state
      - trades
      - buys
      - sells
      - last_trade
      properties:
        member:
          type: string
          example: Nancy Pelosi
        member_slug:
          type: string
          example: nancy-pelosi
        chamber:
          type: string
          enum:
          - house
          - senate
        state:
          type:
          - string
          - 'null'
          example: CA11
        trades:
          type: integer
          minimum: 0
        buys:
          type: integer
          minimum: 0
        sells:
          type: integer
          minimum: 0
        last_trade:
          type:
          - string
          - 'null'
          format: date
  parameters:
    MemberTradeLimitQuery:
      name: limit
      in: query
      description: Member trade rows. Maximum 100 without a key and 250 with a free key.
      schema:
        type: integer
        minimum: 1
        maximum: 250
        default: 100
    MemberSlugPath:
      name: member_slug
      in: path
      required: true
      description: Stable member slug returned by the trades or members endpoints.
      schema:
        type: string
        minLength: 2
        maxLength: 80
        example: nancy-pelosi
    MemberLimitQuery:
      name: limit
      in: query
      description: Maximum number of members.
      schema:
        type: integer
        minimum: 1
        maximum: 500
        default: 100
  responses:
    RateLimited:
      description: Daily request or row budget reached.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    MemberDetail:
      description: Member profile, statistics, and disclosures.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Rows-Limit:
          $ref: '#/components/headers/RowLimit'
        X-RateLimit-Rows-Remaining:
          $ref: '#/components/headers/RowLimitRemaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MemberDetail'
    NotFound:
      description: The requested member was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    MemberList:
      description: Members ranked by disclosed trade count.
      headers:
        X-RateLimit-Limit:
          $ref: '#/components/headers/RateLimit'
        X-RateLimit-Remaining:
          $ref: '#/components/headers/RateLimitRemaining'
        X-RateLimit-Rows-Limit:
          $ref: '#/components/headers/RowLimit'
        X-RateLimit-Rows-Remaining:
          $ref: '#/components/headers/RowLimitRemaining'
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/MemberList'
    InvalidKey:
      description: The supplied API key is invalid or revoked.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Optional free Bargo API key.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Bargo API key
      description: Optional free Bargo API key as a Bearer token.
    QueryToken:
      type: apiKey
      in: query
      name: token
      description: Optional free Bargo API key for clients that cannot set headers.
externalDocs:
  description: Congress Trades API documentation
  url: https://www.bargo.ai/free-apis/congress