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
)