Real-time dashboard tracking comprehensive financial metrics and market capitalizations for S&P 100 companies with automated updates. 100% FREE data sources!
- SEC EDGAR for comprehensive financial statements (unlimited, official)
- Yahoo Finance for real-time stock prices (unlimited, no API key)
- No paid APIs - save $50-100+/month vs competitors
- No API keys required for core functionality
Each company displays 8+ financial metrics:
- ๐ฐ Revenue - Total sales
- ๐ต Earnings (Net Income) - Bottom line profit
- โ๏ธ Operating Income - Operating profit before taxes
- ๐ธ Free Cash Flow - Cash available after CapEx
- ๐๏ธ CapEx - Capital expenditures (investments)
- ๐ Total Assets - Balance sheet assets
- ๐ Debt-to-Equity Ratio - Leverage analysis
- ๐ Profit Margin - Profitability percentage
- ๐ Market Cap - Current market valuation
- Weekly financial data - Every Monday at 6 AM UTC (after SEC weekend filings)
- Daily market caps - Weekdays at 10 PM UTC (after market close)
- GitHub Actions - Efficient automation (~60 min/month, $0 cost)
- Smart commits - Only updates when data actually changes
- Sortable list by CapEx, Revenue, Earnings, Market Cap, Sector
- Advanced filtering by sector and search functionality
- Live statistics showing totals, averages, and trends
- Responsive design - Works on desktop, tablet, and mobile
- 7 different chart types including scatter plots, bar charts, pie charts
- CapEx vs Market Cap correlation analysis
- Sector-wise breakdowns and comparisons
- Top performers ranking and insights
- Investment efficiency metrics and analysis
- Sector performance comparisons
- Market cap correlations with business metrics
- Statistical summaries and trend identification
- Modern web browser for dashboard access
- Python 3.9+ (optional, only for manual data updates)
- No API keys required! ๐
-
Clone the repository
git clone https://github.com/avalidurl/sp100-financial-tracker.git cd sp100-financial-tracker -
Start local server
python -m http.server 8000 # Or use any static file server -
Open dashboard
http://localhost:8000
If you want to fetch fresh data manually:
# Install Python dependencies
pip install requests
# Fetch comprehensive financial data from SEC EDGAR
python3 fetch-comprehensive-data.py
# Or update market caps only
python3 -c "exec(open('.github/workflows/update-market-caps.yml').read().split('python3 << \\'PYTHON_SCRIPT\\'')[1].split('PYTHON_SCRIPT')[0])"Note: Automated updates via GitHub Actions handle this for you!
sp100-financial-tracker/
โโโ ๐ Frontend
โ โโโ index.html # Main dashboard
โ โโโ chart.html # Chart visualizations
โ โโโ insights.html # Analytics page
โ โโโ script.js # Core functionality (enhanced cards)
โ โโโ chart-script.js # Chart logic
โ โโโ insights-script.js # Analytics logic
โ โโโ styles.css # Enhanced card styles
โ
โโโ ๐ Data
โ โโโ data/capex_data.json # Company financial data (101/102 companies)
โ โโโ data/last_updated.json # Update timestamps
โ โโโ public/data/ # Mirror for Cloudflare Pages
โ
โโโ ๐ Data Fetching Scripts
โ โโโ fetch-comprehensive-data.py # Main SEC EDGAR fetcher
โ โโโ fetch-earnings-free.py # Earnings-only fetcher
โ โโโ explore-sec-data.py # SEC data explorer
โ โโโ (legacy scripts for reference)
โ
โโโ โ๏ธ Cloudflare Functions (API Routes)
โ โโโ functions/
โ โโโ api/
โ โโโ stock-price.js # Real-time prices (Yahoo Finance)
โ โโโ quota-status.js # API status (all free!)
โ โโโ cache.js # 5-min price caching
โ โโโ rate-limit.js # Abuse protection
โ
โโโ ๐ค Automation
โ โโโ .github/workflows/
โ โโโ update-financial-data.yml # Weekly SEC EDGAR updates
โ โโโ update-market-caps.yml # Daily Yahoo Finance updates
โ
โโโ ๐ Documentation
โโโ SEC-EDGAR-GUIDE.md # How to use SEC EDGAR data
โโโ PRICE-DATA-SOURCES.md # Price data explanation
โโโ GITHUB-ACTIONS-BILLING-CHECK.md # Cost analysis
โโโ EARNINGS-SETUP.md # Setup guide
- URL: https://www.sec.gov/edgar
- Cost: 100% FREE, unlimited
- Rate Limit: 10 requests/second
- Data: Official company filings (10-K annual reports)
- Metrics: Revenue, Earnings, CapEx, Operating Income, Balance Sheet, Cash Flow
- URL: https://finance.yahoo.com/
- Cost: 100% FREE, unlimited
- Rate Limit: None (reasonable use)
- Data: Real-time stock prices, market caps, volume
- Metrics: Current price, market capitalization, day high/low
- Financial statements: Latest annual 10-K filing (updated weekly)
- Market caps: Updated daily after market close
- Stock prices: Real-time via Cloudflare Functions
{
"symbol": "AAPL",
"name": "Apple Inc.",
"sector": "Technology",
"year": 2024,
"period": "2024-Q4 (Annual)",
// Income Statement
"revenue": 394328000000,
"earnings": 99803000000,
"operating_income": 123216000000,
"gross_profit": 169148000000,
// Cash Flow Statement
"capex": -10959000000, // Negative = investment
"operating_cash_flow": 118254000000,
"free_cash_flow": 107295000000, // Calculated: OpCF + CapEx
// Balance Sheet
"total_assets": 364980000000,
"total_liabilities": 279414000000,
"stockholders_equity": 85566000000,
"long_term_debt": 106611000000,
"cash": 61555000000,
// Calculated Metrics
"debt_to_equity": 1.25, // Long-term Debt / Equity
"profit_margin": 25.3, // (Earnings / Revenue) * 100
"operating_margin": 31.2, // (Operating Income / Revenue) * 100
// Market Data (updated daily)
"market_cap": 3450000000000,
"market_cap_updated": "2025-01-08T22:00:00Z",
// Additional
"rd_expense": 31300000000,
"shares_outstanding": 15204100000
}Automatic deployment on every git push:
- Connect GitHub repository to Cloudflare Pages
- Configure build settings:
- Build Command: (none - static site)
- Build Output Directory:
/ - Root Directory:
/
- Deploy automatically on git push to
master
Custom Functions (API Routes):
- Cloudflare Pages Functions in
functions/directory - Serverless functions for stock prices and API status
- Global edge deployment (275+ locations)
Already configured! No action needed.
Workflows automatically:
- โ Fetch financial data from SEC EDGAR (Mondays 6 AM UTC)
- โ Update market caps from Yahoo Finance (Weekdays 10 PM UTC)
- โ Commit changes to git (only if data changed)
- โ Trigger Cloudflare Pages deployment
Cost: $0/month (public repo = unlimited free minutes)
| Service | Usage | Cost |
|---|---|---|
| SEC EDGAR | Unlimited financial data | $0 โ |
| Yahoo Finance | Unlimited price data | $0 โ |
| GitHub Actions | 60 min/month (public repo) | $0 โ |
| Cloudflare Pages | Unlimited bandwidth | $0 โ |
| Cloudflare Functions | 100k requests/day (free tier) | $0 โ |
| TOTAL | $0/month ๐ |
vs Paid Alternatives:
- Financial APIs (Bloomberg, FMP, etc.): $30-100/month
- Private GitHub repo: $4-6/month for Actions
- You save: $408-1,272/year with this stack! ๐ฐ
# Fetch comprehensive financial data (all metrics)
python3 fetch-comprehensive-data.py
# Explore available metrics for a company
python3 explore-sec-data.py AAPL
# Test locally
python -m http.server 8000
# Check linter
# (No linter errors! โ
)
# Validate JSON data
python3 -c "import json; data=json.load(open('data/capex_data.json')); print(f'โ {len(data)} companies loaded')"- Automated Updates: GitHub Actions handle scheduling (recommended)
- Manual Updates: Run Python scripts locally when needed
- Emergency Updates: Use GitHub Actions "workflow_dispatch" manual trigger
Check automation status:
- GitHub Actions: https://github.com/avalidurl/sp100-financial-tracker/actions
- Cloudflare Pages: https://dash.cloudflare.com/
- API Quota Status: https://sp100-financial-tracker.pages.dev/api/quota-status
No Data Showing
# Check if data files exist
ls -lh data/capex_data.json
# Validate JSON
python3 -c "import json; json.load(open('data/capex_data.json'))"
# Check browser console for errors
# Open DevTools (F12) โ Console tabGitHub Actions Failing
# Check workflow runs
# Visit: https://github.com/avalidurl/sp100-financial-tracker/actions
# Test locally
python3 fetch-comprehensive-data.py
# Check SEC EDGAR rate limit (10 req/sec)
# Script already respects this with 0.15s delayMarket Caps Not Updating
# Check last update timestamp
cat data/last_updated.json
# Manually trigger workflow
# Go to Actions โ "Update Market Caps" โ "Run workflow"
# Test Yahoo Finance connectivity
python3 -c "import requests; r=requests.get('https://query1.finance.yahoo.com/v8/finance/chart/AAPL'); print(r.status_code)"Cloudflare Pages Not Deploying
# Check deployment status
# Visit: Cloudflare Dashboard โ Pages โ sp100-financial-tracker
# Verify git push succeeded
git log --oneline -5
# Check for build errors in Cloudflare logs- SEC EDGAR Guide - How to leverage SEC data
- Price Data Sources - Understanding price data
- GitHub Actions Billing - Cost analysis
- Earnings Setup - Data fetching setup
- Fork the repository
- Create feature branch:
git checkout -b feature/amazing-feature - Make changes and test locally
- Commit changes:
git commit -m 'Add amazing feature' - Push to branch:
git push origin feature/amazing-feature - Open Pull Request
- โ Use semantic commit messages
- โ Test changes locally before pushing
- โ Ensure no linter errors
- โ Update documentation if needed
- โ Keep data fetching 100% free (no paid APIs)
- 100% FREE data stack (SEC EDGAR + Yahoo Finance)
- Enhanced company cards (8+ metrics)
- Automated GitHub Actions workflows
- Optimized API usage (98% reduction)
- Comprehensive financial data (101/102 companies)
- Real-time price updates
- Debt-to-Equity, Profit Margin calculations
- Add automated testing (unit + integration)
- Implement error monitoring (Sentry)
- Add workflow failure notifications
- Historical data tracking (quarterly trends)
- Company comparison tool (side-by-side)
- Export to CSV/Excel functionality
- Mobile app (React Native)
- Real-time WebSocket price updates
This project is licensed under the MIT License - see the LICENSE file for details.
- SEC (U.S. Securities and Exchange Commission) for providing free, unlimited access to company financials
- Yahoo Finance for real-time stock price data
- Cloudflare Pages for global edge hosting and serverless functions
- GitHub Actions for free CI/CD automation
- 102 Companies tracked continuously
- 8+ Metrics per company card
- 500+ Data Points available per company from SEC EDGAR
- 2 Update Frequencies (weekly financial data, daily market caps)
- 100% Free - no paid APIs or subscriptions
- $0/month Cost for hosting and automation
- ~60 min/month GitHub Actions usage (within free tier)
๐ Live Dashboard โข ๐ Documentation โข ๐๏ธ SEC EDGAR
Made with ๐ฐ for financial analysis and ๐ powered by 100% FREE data sources
Zero cost. Unlimited data. No API keys needed. ๐