NOTE:
This is the documentation for the websocket channel sec: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:filings channel.
Each message carries one filing published to SEC EDGAR, of any form type. Insider trade
filings, 13F reports, Schedule 13D and 13G reports, company reports and Rule 497 filings
arrive here as well. Their own channels carry them with more detail. See
SEC filings for the list.
Delivery characteristics
- Updates are event driven. The channel stays silent until a filing is processed. There
is no heartbeat and no fixed schedule.
- A filing with several filers is sent once per filer. The messages share
document_url and differ in ticker, name, is_public_listed and filing_url.
- Messages are not deduplicated. If the same filing is published twice, you receive it
twice. Identify a message by
filing_url, which contains the CIK of the filer and the
accession number of the filing.
- The channel sends nothing when you join. Messages sent while you are disconnected are
not replayed.
- The channel is global only. It covers every filer at once. A join on
sec: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, false or an empty array, never as null. Dates are strings in YYYY-MM-DD
format.
The payload has the fields of the Kafka message
GeneralFiling, published to the topic
sec-filings under the key general. Last modified on October 1, 2026