Automated earnings call transcript fetcher using API Ninjas, running on GitHub Actions.
This repository automatically fetches earnings call transcripts for S&P 100 companies and stores them as JSON files. The fetcher runs daily via GitHub Actions and commits new transcripts to this repository.
API Ninjas - Free tier covers S&P 100 companies (top 100 US stocks by market cap).
Includes: Apple, Microsoft, Amazon, Google, Meta, Tesla, Nvidia, JPMorgan, and 90+ more major companies.
- Sign up at api-ninjas.com/register
- Copy your API key from the dashboard
- Go to your repository Settings
- Navigate to Secrets and variables → Actions
- Click "New repository secret"
- Name:
API_NINJAS_KEY - Value: Your API key
- Go to Settings → Actions → General
- Under "Workflow permissions", select "Read and write permissions"
- Save
The workflow runs daily at 6 AM UTC and fetches the latest transcript for each S&P 100 company.
- Go to Actions tab
- Select "Fetch Earnings Transcripts"
- Click "Run workflow"
- Options:
- tickers: Comma-separated list (e.g.,
AAPL,MSFT,GOOGL) or leave empty for all - latest_only:
truefor latest only,falsefor all available
- tickers: Comma-separated list (e.g.,
# Clone git clone https://github.com/YOUR_USERNAME/earnings-transcripts.git cd earnings-transcripts # Setup python -m venv venv source venv/bin/activate pip install -r requirements.txt # Run (set your API key) export API_NINJAS_KEY="your_api_key_here" python scrape_transcripts.py # Or fetch specific tickers TICKERS="AAPL,MSFT" python scrape_transcripts.py
Files are saved as {TICKER}_{YEAR}_Q{QUARTER}.json:
{
"ticker": "AAPL",
"year": 2024,
"quarter": 4,
"date": "2024年10月31日",
"transcript": "...",
"participants": [...],
"fetched_at": "2024年11月01日T06:00:00",
"source": "api-ninjas"
}A daily-updated calendar of upcoming S&P 500 earnings calls.
- View the Calendar — human-readable Markdown
- JSON Data — machine-readable structured data
Data source: Yahoo Finance via yfinance. Updated daily at 8 AM UTC by GitHub Actions.
# Run locally python scripts/update_earnings_calendar.py # Test with a few tickers python scripts/update_earnings_calendar.py --limit 10 # Refresh S&P 500 list from Wikipedia python scripts/update_earnings_calendar.py --update-tickers
MIT