📊 13F Filing Scraper

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.

🚀 Enterprise Features

🔍 First-Time Filer Detection

Automatically identifies funds filing 13F-HR for the first time by analyzing complete filing history from SEC EDGAR databases.

📈 Advanced Holdings Filtering

Filter results by minimum/maximum holdings count, specific ranges, or custom criteria to focus on relevant investment strategies.

🌐 Professional Web Interface

Beautiful, responsive frontend designed for daily use by investment professionals with real-time results and progress tracking.

Enterprise REST API

Programmatic access via FastAPI endpoints for integration with existing systems, dashboards, and automated workflows.

📊 Comprehensive Data Export

Generate detailed CSV and JSONL files with complete holdings data, filing metadata, and compliance information.

🔄 Intelligent Rate Limiting

Respects SEC EDGAR guidelines (10 requests/second max) with smart caching and retry logic for reliable data collection.

🎯 Interactive Demo

Experience the power of the 13F scraper with this interactive demonstration. Try different configurations to see how the tool works:

📊 Analysis Results

0
Funds Processed
0
First-Time Filers
0
Total Holdings
0
Avg Holdings

💡 Demo Note

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.

💻 Professional Usage

Command Line
Python API
Web Interface

Command Line Interface

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

Python API

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}")

Web Interface

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

🔧 Technical Architecture

Data Sources & APIs

Output & Reports

The tool generates comprehensive, professional-grade reports:

Enterprise Features