Dashboard

Senate trades by member

GET/api/congress/senate/trades/by-member

Pro

Every periodic transaction report filed by one Senator, newest filing first, with the transactions each report disclosed. Identify the senator by Bioguide ID (from /api/congress/senate/members). Reports filed on paper are included with parseStatus unparsed_paper and an empty transactions list so the scanned source can still be followed; parse_failed marks a report that could not be read. Amended reports are listed next to the originals. notificationDate and capGainsOver200 are House-only fields and are always null here.

Get API key Try it live in the API explorer

Query parameters

Example request

curl 'https://api.stockfit.io/v1/api/congress/senate/trades/by-member?bioguideId=C001088&startDate=2025-01-01&endDate=2025-12-31&page=1&pageSize=50' \
  -H 'Authorization: Bearer YOUR_API_TOKEN'

Responses

200 OK

Paginated reports, newest filing first. An unknown Bioguide ID yields an empty page.

Response schema

  • page integer

    Current page number (1-indexed).

  • pageSize integer

    Reports per page.

  • totalPages integer

    Total number of pages.

  • totalResults integer

    Total matching reports.

  • data array of object
    array of:
    • filingId string

      Source filing identifier (House Clerk DocID or Senate eFD report id).

    • filingDate string

      Date the report was filed (YYYY-MM-DD).

    • filingUrl string

      URL of the original report on the chamber's disclosure site.

    • parseStatus string | null

      | Value | Meaning | |---|---| | `parsed` | Transactions extracted | | `no_transactions` | The report disclosed no transactions | | `unparsed_paper` | Filed on paper (scanned image); follow `filingUrl` | | `parse_failed` | The report could not be read; follow `filingUrl` |

    • isAmendment boolean

      Whether the report amends an earlier one.

    • member object
      • bioguideId string | null

        Bioguide ID (null when the filer could not be matched to the roster).

      • name string

        Member name.

      • party string | null
      • state string | null
      • district string | null

        Congressional district (House only; null for senators).

    • transactionCount integer

      Number of transactions disclosed in the report.

    • transactions array of object
      array of:
      • owner string

        Who holds the asset (`self`, `spouse`, `joint`, `child`, `unknown`).

      • assetName string
      • assetTypeCode string | null

        House asset-type code (ST, OP, PS, CS, GS, MF, EF, CT, OT, ...).

      • ticker string | null

        Ticker exactly as the filer disclosed it, uppercased; not validated (may be OTC, foreign, preferred such as EFC$D, or a typo). Join on `resolvedTicker`.

      • transactionType string

        One of `purchase`, `sale`, `sale_partial`, `exchange`, `other`.

      • transactionDate string | null
      • notificationDate string | null

        House only; null for Senate.

      • amountRange string | null
      • amountMin number | null
      • amountMax number | null

        Null for open-ended bands.

      • capGainsOver200 boolean | null

        House only when readable; null otherwise.

      • description string | null
      • resolvedTicker string | null

        The listing ticker this API resolved the asset to, the join key for every other endpoint; null when matched by name only or unmatched (see `linkConfidence`).

      • linkConfidence string

        One of `high`, `medium`, `low`, `none`.

Example response

{
  "page": 1,
  "pageSize": 50,
  "totalPages": 1,
  "totalResults": 2,
  "data": [
    {
      "filingId": "20024615",
      "filingDate": "2025-01-16",
      "filingUrl": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2025/20024615.pdf",
      "parseStatus": "parsed",
      "isAmendment": false,
      "member": {
        "bioguideId": "P000197",
        "name": "Nancy Pelosi",
        "party": "Democrat",
        "state": "CA",
        "district": "11"
      },
      "transactionCount": 1,
      "transactions": [
        {
          "owner": "spouse",
          "assetName": "NVIDIA Corporation - Common Stock",
          "assetTypeCode": "OP",
          "ticker": "NVDA",
          "transactionType": "purchase",
          "transactionDate": "2024-12-31",
          "notificationDate": "2024-12-31",
          "amountRange": "$250,001 - $500,000",
          "amountMin": 250001,
          "amountMax": 500000,
          "capGainsOver200": null,
          "description": "Purchased 50 call options with a strike price of $80 and an expiration date of 1/16/26.",
          "resolvedTicker": "NVDA",
          "linkConfidence": "high"
        }
      ]
    },
    {
      "filingId": "9111234",
      "filingDate": "2024-11-04",
      "filingUrl": "https://disclosures-clerk.house.gov/public_disc/ptr-pdfs/2024/9111234.pdf",
      "parseStatus": "unparsed_paper",
      "isAmendment": false,
      "member": {
        "bioguideId": "P000197",
        "name": "Nancy Pelosi",
        "party": "Democrat",
        "state": "CA",
        "district": "11"
      },
      "transactionCount": 0,
      "transactions": []
    }
  ]
}

400 Bad Request

Invalid parameters

Response schema

  • error string

    Human-readable error message

Example response

{}

403 Forbidden

Feature not available on current plan

Response schema

  • error string

    Human-readable error message

Example response

{}