Professional-grade Python tool for analyzing SEC 13F-HR filings with intelligent first-time filer detection and advanced holdings filtering capabilities.
Built for investment professionals, compliance teams, and financial analysts who need reliable, accurate data from SEC EDGAR.
Automatically identifies funds filing 13F-HR for the first time by analyzing complete filing history from SEC EDGAR databases.
Filter results by minimum/maximum holdings count, specific ranges, or custom criteria to focus on relevant investment strategies.
Beautiful, responsive frontend designed for daily use by investment professionals with real-time results and progress tracking.
Programmatic access via FastAPI endpoints for integration with existing systems, dashboards, and automated workflows.
Generate detailed CSV and JSONL files with complete holdings data, filing metadata, and compliance information.
Respects SEC EDGAR guidelines (10 requests/second max) with smart caching and retry logic for reliable data collection.
Experience the power of the 13F scraper with this interactive demonstration. Try different configurations to see how the tool works:
This is an interactive demonstration showing the tool's capabilities. In production, the tool connects to live SEC EDGAR data and processes real 13F filings.
Perfect for automated scripts, batch processing, and integration with existing workflows:
# Basic usage python3 cli.py scrape --funds "Citadel Advisors" "AQR Capital Management" # First-time filers only python3 cli.py scrape --funds "New Fund LLC" --only-first-time # Holdings filtering python3 cli.py scrape --funds "Large Fund" --min-holdings 100 python3 cli.py scrape --funds "Small Fund" --between-holdings 10 50 # Batch processing python3 cli.py scrape --funds-csv sample_funds.csv --quarter 2024Q4
Integrate directly into your Python applications and data pipelines:
from logic import ThirteenFProcessor
with ThirteenFProcessor() as processor:
results = processor.process_funds(
funds=["Citadel Advisors"],
quarter="2024Q4",
min_holdings=100
)
for result in results:
print(f"{result.fund_name}: {result.num_holdings} holdings")
print(f"First-time filer: {result.is_first_time_filer}")
print(f"Filing URL: {result.filing_url}")
User-friendly interface for daily use by investment professionals:
# Start the frontend server python3 start_frontend.py # Open your browser to: http://localhost:8000 # Features: # - Easy form-based input for fund names, CIKs, or CSV files # - Visual results display with statistics and charts # - Demo mode to explore functionality # - Responsive design for desktop and mobile # - Real-time progress tracking
The tool generates comprehensive, professional-grade reports: