Monitor

Monitor SEC submissions in real-time using datamule’s monitoring capabilities.

monitor_submissions

Monitor SEC filings with customizable filters and callbacks.

Parameters

monitor_submissions(callback=None, form=None, cik=None, ticker=None, poll_interval=1000, quiet=True)
Parameters:
  • callback (Optional[Callable]) – Function to be called with each new submission

  • form (Optional[str]) – Specific form type to monitor (e.g., ‘10-K’, ‘8-K’)

  • cik (Optional[str]) – CIK of the company to monitor

  • ticker (Optional[str]) – Ticker symbol of the company to monitor

  • poll_interval (int) – Interval between polls for new submissions (in milliseconds)

  • quiet (bool) – Suppress output if True

Default callback:

None

Default form:

None

Default cik:

None

Default ticker:

None

Default poll_interval:

1000

Default quiet:

True

Example Usage

The following example demonstrates how to set up a monitor that prints URLs for new SEC submissions:

from datamule import Monitor

# Define callback function for new submissions
async def print_new_count(new_submissions):
    try:
        for new_sub in new_submissions:
            url = f"https://www.sec.gov/Archives/edgar/data/{new_sub['_source']['ciks'][0]}/{new_sub['_id'].split(':')[0]}.txt"
            print(f"New submission: {url}")
    except Exception as e:
        print(f"Error: {e}")

# Initialize and start the monitor
monitor = Monitor()
monitor.monitor_submissions(
    callback=print_new_count,
    poll_interval=1000
)