Unusual Whales UnusualWhales API

Politician Portfolios

GET https://api.unusualwhales.com/api/politician-portfolios/{politician_id}

Request

Security: Bearer Auth Authorization: Bearer <token>

Path Parameters

politician_id string required

Query Parameters

aggregate_all_portfolios boolean optional

If true, aggregates all portfolios into a single portfolio named 'aggregated'. Default is false. Note that this does not aggregate holdings within a portfolio, only across portfolios.

Responses

200 422 500

Response Body 200 OK

crypto_holdings array[Crypto Holding]

The portfolio crypto holdings.

id string

The portfolio ID.

Example: 5fbe81ac-1157-4bc8-9d76-c77e6164fe25
last_annual_disclosure integer

The year of this portfolio's latest annual disclosure.

Example: 2023
option_holdings array[Option Holding]

The portfolio option holdings.

owner string

The portfolio owner's name. Is "aggregated" when aggregate_all_portfolios is true.

Example: self
stock_holdings array[Stock Holding]

The portfolio stock and ETF holdings.

Try It GET
Path Parameters
Query Parameters

Request Sample
curl -X GET "https://api.unusualwhales.com/api/politician-portfolios/{politician_id}" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response Example 200
{
  "data": [
    {
      "crypto_holdings": [],
      "id": "6361b0d9-ad41-424a-9c42-afa5f3393e69",
      "last_annual_disclosure": 2023,
      "option_holdings": [],
      "owner": "self",
      "stock_holdings": [
        {
          "max_amount": 15,
          "mid_amount": 7,
          "min_amount": 1,
          "ticker": "XYZ",
          "type": "stock"
        },
        {
          "max_amount": 505,
          "mid_amount": 328,
          "min_amount": 151,
          "ticker": "RHP",
          "type": "stock"
        }
      ]
    }
  ]
}