Skip to main content
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