Monitor Institutional Holdings Changes
Institutional investors managing over $100M must disclose their equity holdings quarterly via SEC Form 13F. This tutorial shows how to retrieve those holdings and compare them across quarters to detect position changes.Prerequisites
- An Omni Datastream API key (set as
OMNI_DATASTREAM_API_KEY) - Basic familiarity with REST APIs
- (Optional) Python 3.8+ or Node.js 18+ for SDK examples
Step 1 — Retrieve current 13F holdings
Use/v1/owners/13f to pull the latest holdings for an institutional investor by their CIK number.
curl
Python
JavaScript
Expected output
Step 2 — Compare holdings across quarters
The/v1/owners/13f/compare endpoint shows what changed between two filing periods. This surfaces new positions, closed positions, and share count changes.
curl
Python
JavaScript
Expected output
Step 3 — Build a quarterly monitoring workflow
Combine the two endpoints to build a script that runs after each 13F filing deadline (45 days after quarter end) and flags material changes.Python
Next steps
- Set up webhooks: Use the Filing Monitor tutorial to get notified when new 13F filings are published.
- Cross-reference with insider trades: Combine 13F data with insider trading patterns for a complete ownership picture.
- Track sector exposure: Aggregate holdings by sector to monitor allocation shifts.