Skip to main content
NOTE: This is the documentation for the websocket channel sec:13f_filings. 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: Connect to the websocket URI: wss://api.unusualwhales.com/socket?token=<YOUR_API_TOKEN> then join the sec:13f_filings channel. Each message carries one 13F filing of an institution (13F-HR, 13F-NT, 13F-CTR and their amendments). The holdings are not listed one by one. The message totals their value and their share count per security type: shares, funds, warrants, call options, put options, preferred stock and debt. The sec:13f_alerts channel carries a summary of the position changes and the top holdings of a report.

Delivery characteristics

  • Updates are event driven. The channel stays silent until a 13F filing is processed. There is no heartbeat and no fixed schedule.
  • A notice filing carries no holdings. A 13F-NT states that another manager reports the holdings, so its values and counts are 0.
  • Messages are not deduplicated. If the same filing is published twice, you receive it twice. Identify a filing by accession_no.
  • 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_filings:<TICKER> is answered with an {"error": "..."} frame.
Payload format:

Field reference

Every field is present in every message. A value the filing does not provide is sent as an empty string, 0 or false, never as null. A 0 can therefore mean either zero or not reported. Dates are strings in YYYY-MM-DD format, and values are in USD. The fields that start with agg_, and buy_value and sell_value, cover the whole report period, including the amendments filed for it. The other totals cover this filing only.
The payload has the fields of the Kafka message Form13F_HR, published to the topic sec-filings under the key form13f.
Last modified on October 1, 2026