sec:13f_alerts.
Websocket access for personal use is only available through the Advanced plan.
You can find fully-functional examples that stream data from many channels here:
- Python: https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output
- Javascript: https://github.com/unusual-whales/api-examples/tree/main/examples/ws-multi-channel-multi-output-nodejs
wss://api.unusualwhales.com/socket?token=<YOUR_API_TOKEN>
then join the sec:13f_alerts channel.
Each message summarises one institution’s 13F report: the number of positions in the
report period and how many of them the institution opened, added to, reduced and closed,
an estimate of the value it bought and sold, and its largest holdings in each of those
categories.
The sec:13f_filings channel carries the filing
itself, with the holdings totalled per security type.
Delivery characteristics
- Updates are event driven. The channel stays silent until a 13F report is processed. There is no heartbeat and no fixed schedule.
- Only the newest report period of an institution is sent. A 13F report for an earlier period, such as a late amendment, produces no message here.
- The position counts and top holdings cover shares and funds only. Options, warrants,
preferred stock and debt are left out of the
stock_*andtop_ten_*fields.total_valuecovers every security type. - A summary can be sent again. It is rebuilt and sent each time the institution’s
holdings for its newest report period are processed, for example after an amendment. The
newest message for a
cikandreport_datereplaces the earlier ones. - Bought and sold values are estimates. A 13F report contains no trade prices. The buy
and sell prices behind
stock_buy_avg_weighted_prem,stock_sell_avg_weighted_premand the ordering of the added, reduced and closed holdings are estimated from the market prices of each ticker during the report period. - The channel sends nothing when you join. Messages sent while you are disconnected are not replayed.
- The channel is global only. It covers every institution at once. A join on
sec:13f_alerts:<TICKER>is answered with an{"error": "..."}frame.
Field reference
Every field is present in every message. A value that is not available is sent as an empty string,0, false or an empty array, never as null. Dates are strings in YYYY-MM-DD
format. Values are in USD, rounded to whole dollars.
Each top_ten_* list holds up to ten entries, largest first.
ThirteenFAlert, published to the topic
sec-filings under the key 13_f_alert.