image

Congressional trade disclosures put the member name, symbol, transaction type, and USD value on the same row.

This guide covers GET /v1/markets/insider-trades with politiciansOnly=true. That filter returns trades from U.S. Congressmen and Senators. The example below does not also send type.

To access this endpoint, you must obtain an API key: Get your API key

The Endpoint

Method: GET

Endpoint: https://api.mboum.com/v1/markets/insider-trades

Documentation: Insider trades

Insider and congressional trade rows live under GET /v1/markets/insider-trades. The sample request uses only politiciansOnly=true and page=1, so you can confirm pagination meta and the row shape before you add filters.

Parameters

  • ticker: Optional. Add it when you care about one symbol. Leave it off the first call in this example.
  • type: Optional. Use Buy, Sell, or Transfer when you want to restrict the rows. Do not also send type on the first call that only sets politiciansOnly=true and page=1.
  • minValue: Optional dollar floor. The example is 10000. Use it when you need that floor. Leave unused optional parameters off the query string.
  • politiciansOnly: Optional string true or false. true returns trades from U.S. Congressmen and Senators. false does not apply that filter. The example uses true.
  • page: Optional. The example is 1. Keep paging with page while meta.total is larger than the current page.

Python Example

The script requests page 1 with politiciansOnly set to true and prints firstName, lastName, symbol, transactionType, and usdValue for the first few rows. Send a Bearer token from your Mboum API key.

import requests

url = "https://api.mboum.com/v1/markets/insider-trades"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
params = {"politiciansOnly": "true", "page": "1"}

response = requests.get(url, headers=headers, params=params)
response.raise_for_status()
for row in response.json().get("body", [])[:5]:
    print(row["firstName"], row["lastName"], row["symbol"], row["transactionType"], row["usdValue"])

Understanding the Response

A successful response has meta and body. Meta includes count, total, and page. Each body row is one disclosure. The shortened example below shows the key names only.

{
  "meta": {
    "count": "...",
    "total": "...",
    "page": 1
  },
  "body": [
    {
      "transactionDate": "...",
      "firstName": "...",
      "lastName": "...",
      "shortJobTitle": "...",
      "symbol": "...",
      "symbolShortName": "...",
      "usdValue": "...",
      "transactionType": "...",
      "noteText": "..."
    }
  ]
}

Use count, total, and page to decide whether you need another page. For a quick screen, print the name fields with symbol, transactionType, and usdValue, then open noteText when you need the disclosure detail. Keep symbol and symbolShortName distinct. One is the ticker. The other is the short name string returned with the trade.

Key Fields

  • count, total, and page: Pagination meta. The shortened example sets page to 1 and leaves count and total as placeholders.
  • firstName, lastName, and shortJobTitle: The member on the row and the short job title returned with the trade.
  • symbol and symbolShortName: The ticker and the short name string. Keep them distinct if you map rows into a portfolio book.
  • transactionDate, transactionType, usdValue, and noteText: When the trade was disclosed, the transaction type, the USD value, and the disclosure note.

Practical Use Cases

Reading page 1 of congressional trades

Start with politiciansOnly=true and page=1. Confirm meta.page against meta.total. Open the first row and record firstName, lastName, symbol, transactionType, and usdValue. politiciansOnly true returns trades from U.S. Congressmen and Senators. false does not apply that filter.

Narrowing a later call

Once page 1 parses cleanly, decide whether to page further, add ticker, or add type or minValue on a later call. type is Buy, Sell, or Transfer. minValue can be a dollar floor such as 10000. Leave unused optional parameters off the query string, and keep paging while meta.total is larger than the current page.

Learn more or explore other endpoints: Insider trades

How to Calculate MACD with the Mboum API Oct 18, 2026

How to Calculate MACD with the Mboum API

MACD is the Moving Average Convergence/Divergence indicator you use when you need the MACD line, the signal line, and the histogram for one ticker on a shared timestamp grid.

How to Calculate RSI with the Mboum API Oct 18, 2026

How to Calculate RSI with the Mboum API

Relative Strength Index measures recent gains against recent losses on the price series you choose.

How to Calculate an Exponential Moving Average with the Mboum API Oct 17, 2026

How to Calculate an Exponential Moving Average with the Mboum API

An exponential moving average weights recent prices more heavily than a simple average over the same window.

How to Screen Preset Stock Lists with the Mboum API Oct 16, 2026

How to Screen Preset Stock Lists with the Mboum API

Preset screener lists let you pull a ready-made market slice, such as day gainers, most actives, or undervalued growth names, without writing your own filter rules.