<< All versions
Skill v1.0.0
currentLLM-judged scan95/100ibrdot/swe-re-expert/alpha-vantage
──Details
PublishedOctober 24, 2026 at 02:52 PM
Content Hashsha256:f94ce3c1307bb265...
Git SHA27bc1374d177
──Files
Files (1 file, 4.5 KB)
SKILL.md4.5 KBactive
SKILL.md · 140 lines · 4.5 KB
version: "1.0.0" name: alpha-vantage description: "Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators." risk: critical source: community date_added: "2026-09-04" metadata: skill-author: K-Dense Inc.
Alpha Vantage — Financial Market Data
Access 20+ years of global financial data: equities, options, forex, crypto, commodities, economic indicators, and 50+ technical indicators.
API Key Setup (Required)
- Get a free key at https://www.alphavantage.co/support/#api-key (premium plans available for higher rate limits)
- Set as environment variable:
bash
read -rsp "Alpha Vantage API key: " ALPHAVANTAGE_API_KEYechoexport ALPHAVANTAGE_API_KEY
Installation
bash
uv pip install requests pandas
Base URL & Request Pattern
All requests go to:
https://www.alphavantage.co/query?function=FUNCTION_NAME&apikey=YOUR_KEY&...params
python
import requestsimport osAPI_KEY = os.environ.get("ALPHAVANTAGE_API_KEY")BASE_URL = "https://www.alphavantage.co/query"def av_get(function, **params):response = requests.get(BASE_URL, params={"function": function, "apikey": API_KEY, **params})return response.json()
Quick Start Examples
python
# Stock quote (latest price)quote = av_get("GLOBAL_QUOTE", symbol="AAPL")price = quote["Global Quote"]["05. price"]# Daily OHLCVdaily = av_get("TIME_SERIES_DAILY", symbol="AAPL", outputsize="compact")ts = daily["Time Series (Daily)"]# Company fundamentalsoverview = av_get("OVERVIEW", symbol="AAPL")print(overview["MarketCapitalization"], overview["PERatio"])# Income statementincome = av_get("INCOME_STATEMENT", symbol="AAPL")annual = income["annualReports"][0] # Most recent annual# Crypto pricecrypto = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD")# Economic indicatorgdp = av_get("REAL_GDP", interval="annual")# Technical indicatorrsi = av_get("RSI", symbol="AAPL", interval="daily", time_period=14, series_type="close")
API Categories
| Category | Key Functions | |
|---|---|---|
| Time Series (Stocks) | GLOBAL_QUOTE, TIME_SERIES_INTRADAY, TIME_SERIES_DAILY, TIME_SERIES_WEEKLY, TIME_SERIES_MONTHLY | |
| Options | REALTIME_OPTIONS, HISTORICAL_OPTIONS | |
| Alpha Intelligence | NEWS_SENTIMENT, EARNINGS_CALL_TRANSCRIPT, TOP_GAINERS_LOSERS, INSIDER_TRANSACTIONS, ANALYTICS_FIXED_WINDOW | |
| Fundamentals | OVERVIEW, ETF_PROFILE, INCOME_STATEMENT, BALANCE_SHEET, CASH_FLOW, EARNINGS, DIVIDENDS, SPLITS | |
| Forex (FX) | CURRENCY_EXCHANGE_RATE, FX_INTRADAY, FX_DAILY, FX_WEEKLY, FX_MONTHLY | |
| Crypto | CURRENCY_EXCHANGE_RATE, CRYPTO_INTRADAY, DIGITAL_CURRENCY_DAILY | |
| Commodities | GOLD (WTI spot), BRENT, NATURAL_GAS, COPPER, WHEAT, CORN, COFFEE, ALL_COMMODITIES | |
| Economic Indicators | REAL_GDP, TREASURY_YIELD, FEDERAL_FUNDS_RATE, CPI, INFLATION, UNEMPLOYMENT, NONFARM_PAYROLL | |
| Technical Indicators | SMA, EMA, MACD, RSI, BBANDS, STOCH, ADX, ATR, OBV, VWAP, and 40+ more |
Common Parameters
| Parameter | Values | Notes | |
|---|---|---|---|
outputsize | compact / full | compact = last 100 points; full = 20+ years | |
datatype | json / csv | Default: json | |
interval | 1min, 5min, 15min, 30min, 60min, daily, weekly, monthly | Depends on endpoint | |
adjusted | true / false | Adjust for splits/dividends |
Rate Limits
- Free tier: 25 requests/day (as of 2026)
- Premium plans: higher limits, real-time data, intraday access
- HTTP 429 = rate limit exceeded
- Add delays between requests when processing multiple symbols
python
import time# Add delay to avoid rate limitstime.sleep(0.5) # 0.5s between requests on free tier
Error Handling
python
data = av_get("GLOBAL_QUOTE", symbol="AAPL")# Check for API errorsif "Error Message" in data:raise ValueError(f"API Error: {data['Error Message']}")if "Note" in data:print(f"Rate limit warning: {data['Note']}")if "Information" in data:print(f"API info: {data['Information']}")
When to Use
Use this skill when tackling tasks related to its primary domain or functionality as described above.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.