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:
bashexport ALPHAVANTAGE_API_KEY="your_key_here"
Installation
bashuv pip install requests pandas
Base URL & Request Pattern
All requests go to:
https://www.alphavantage.co/query?function=FUNCTION_NAME&apikey=YOUR_KEY&...params
pythonimport requests import os API_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 OHLCV daily = av_get("TIME_SERIES_DAILY", symbol="AAPL", outputsize="compact") ts = daily["Time Series (Daily)"] # Company fundamentals overview = av_get("OVERVIEW", symbol="AAPL") print(overview["MarketCapitalization"], overview["PERatio"]) # Income statement income = av_get("INCOME_STATEMENT", symbol="AAPL") annual = income["annualReports"][0] # Most recent annual # Crypto price crypto = av_get("DIGITAL_CURRENCY_DAILY", symbol="BTC", market="USD") # Economic indicator gdp = av_get("REAL_GDP", interval="annual") # Technical indicator rsi = 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
pythonimport time # Add delay to avoid rate limits time.sleep(0.5) # 0.5s between requests on free tier
Error Handling
pythondata = av_get("GLOBAL_QUOTE", symbol="AAPL") # Check for API errors if "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']}")
Reference Files
Load these for detailed endpoint documentation:
- time-series.md — Stock OHLCV data, quotes, bulk quotes, market status
- fundamentals.md — Company overview, financial statements, earnings, dividends, splits
- options.md — Realtime and historical options chain data
- intelligence.md — News/sentiment, earnings transcripts, insider transactions, analytics
- forex-crypto.md — Forex exchange rates and cryptocurrency prices
- commodities.md — Gold, silver, oil, natural gas, agricultural commodities
- economic-indicators.md — GDP, CPI, interest rates, employment data
- technical-indicators.md — 50+ technical analysis indicators (SMA, EMA, MACD, RSI, etc.)

