twelvedata
starchild-ai-agent/official-skills
Real-time and historical prices for stocks, forex, and commodities via TwelveData API.
What is twelvedata?
Access current quotes, historical OHLCV bars, and end-of-day prices for traditional markets (stocks, forex, commodities). Use when users ask about market prices—not for cryptocurrency.
- Fetch current prices and detailed quotes for stocks, forex pairs, and commodities
- Retrieve historical time-series data (OHLCV bars) at multiple intervals (1min to 1month)
- Batch-query multiple symbols efficiently in a single call
- Search for symbols by name or ticker
- List supported stocks, forex pairs, and exchanges
- Access pre/post-market data for US stocks
How to install twelvedata
npx skills add https://github.com/starchild-ai-agent/official-skills --skill twelvedata- TWELVEDATA_API_KEY environment variable set
How to use twelvedata
- 1.Set your TWELVEDATA_API_KEY environment variable
- 2.Call the appropriate function from exports.py (e.g., twelvedata_quote for detailed quotes, twelvedata_time_series for historical bars)
- 3.Use twelvedata_quote_batch for multiple symbols to reduce API calls
- 4.Specify interval (1min, 5min, 1h, 1day, etc.) and outputsize (compact=30 bars, full=5000 bars) for time series
- 5.Use TwelveData symbol format: AAPL for stocks, EUR/USD for forex, XAU/USD for commodities
Use cases
- Look up current AAPL stock price or EUR/USD exchange rate
- Retrieve last 30 days of daily candles for technical analysis
- Compare prices across multiple stocks (e.g., AAPL, MSFT, GOOGL) in one call
- Find gold (XAU/USD) or oil (WTI/USD) prices
- Search for a stock symbol by company name
- Financial analysts and traders
- Investment researchers
- Market data integrations
- Anyone tracking traditional market prices
twelvedata FAQ
No. Use CoinGecko for crypto (BTC, ETH, SOL). TwelveData is for stocks, forex, and commodities only.
Use twelvedata_quote_batch(symbols=['AAPL','MSFT','GOOGL']) instead of calling twelvedata_quote separately for each. Batch calls are more efficient.
Always use the slash format: EUR/USD, GBP/JPY, USD/CNH. Do not use EURUSD or GBPJPY.
Use outputsize='compact' for the last 30 bars (default, faster) or outputsize='full' for up to 5000 bars. Specify start_date and end_date to narrow the range.
No. The quote function returns the close/last price only. Bid/ask spread data is not available through this API.
Full instructions (SKILL.md)
Source of truth, from starchild-ai-agent/official-skills.
name: twelvedata version: 2.0.4 description: | Stocks, forex, and commodities prices: real-time quotes and historical bars.
Use when looking up traditional-market prices (e.g. AAPL quote, EUR/USD chart, gold price, SPY history). Not for crypto. delivery: script metadata: starchild: emoji: "📊" skillKey: twelvedata requires: env: - TWELVEDATA_API_KEY
user-invocable: false disable-model-invocation: false
Twelve Data
Stocks, forex, and commodities price data. Traditional markets only — not for crypto.
Script Usage
This skill ships a single exports.py with all functions. Call it from a
bash block:
python3 - <<'EOF'
import sys, json
sys.path.insert(0, "/data/workspace/skills/twelvedata")
from exports import twelvedata_price, twelvedata_quote, twelvedata_time_series
# Single quote
print(twelvedata_quote(symbol="AAPL"))
# Time series (last 30 daily candles)
series = twelvedata_time_series(symbol="AAPL", interval="1day", outputsize=30)
print(json.dumps(series.get("values", [])[:3], indent=2))
EOF
Available functions in exports.py: twelvedata_price, twelvedata_quote,
twelvedata_time_series, twelvedata_eod, twelvedata_quote_batch,
twelvedata_price_batch, twelvedata_search, twelvedata_stocks,
twelvedata_forex_pairs, twelvedata_exchanges. Read exports.py
directly when you need exact signatures.
Function Reference (signatures)
All functions are in exports.py. Symbols use TwelveData format (e.g. AAPL,
EUR/USD, XAU/USD). Use prepost=True for pre/post-market data on
US stocks.
| Function | Description |
|---|---|
twelvedata_price(symbol, prepost=False) | Current price for one symbol. |
twelvedata_price_batch(symbols, prepost=False) | Prices for multiple symbols (symbols = comma-separated string). |
twelvedata_quote(symbol, prepost=False) | Detailed quote: price, volume, 52w high/low, change %. |
twelvedata_quote_batch(symbols, prepost=False) | Detailed quotes for multiple symbols. |
twelvedata_time_series(symbol, interval='1day', outputsize=30, start_date=None, end_date=None, prepost=False) | OHLCV bars. interval = 1min/5min/15min/30min/1h/2h/4h/1day/1week/1month. |
twelvedata_eod(symbol, date=None, prepost=False) | End-of-day price for a date (default: latest). |
twelvedata_search(query) | Search symbols by name or ticker. |
twelvedata_stocks(exchange=None, country=None) | List supported stocks (filterable). |
twelvedata_forex_pairs() | List all supported forex pairs. |
twelvedata_exchanges() | List supported exchanges. |
Keyword → Tool Lookup
| User asks about | Tool | NOT this |
|---|---|---|
| "AAPL 股价", "current price" (single) | twelvedata_quote | Not twelvedata_price (less detail) |
| "just the price number" | twelvedata_price | — |
| "多只股票对比" (2+ symbols) | twelvedata_quote_batch | Not multiple twelvedata_quote calls |
| "K线", "历史数据", "time series" | twelvedata_time_series | — |
| "收盘价" | twelvedata_eod | — |
| "找股票代码" | twelvedata_search | — |
| "NASDAQ 有哪些股票" | twelvedata_stocks | — |
| "汇率", "EUR/USD" | twelvedata_quote(symbol="EUR/USD") | — |
| "外汇对列表" | twelvedata_forex_pairs | — |
| "金价", "oil price" | twelvedata_quote(symbol="XAU/USD") | Not CoinGecko |
| "BTC price", any crypto | CoinGecko coin_price | ❌ Never twelvedata for crypto |
TwelveData vs CoinGecko — Boundary
| Asset class | Use | Why |
|---|---|---|
| Stocks (AAPL, TSLA) | TwelveData | CoinGecko has no stocks |
| Forex (EUR/USD) | TwelveData | CoinGecko has no forex |
| Commodities (gold, oil) | TwelveData | CoinGecko has no commodities |
| Crypto (BTC, ETH, SOL) | CoinGecko | TwelveData crypto data is limited/unreliable |
MISTAKES — Read Before Calling
❌ MISTAKE 1: Using TwelveData for crypto
User: "BTC 价格"
❌ WRONG: twelvedata_quote(symbol="BTC/USD")
✅ RIGHT: coin_price(ids="bitcoin") ← CoinGecko
❌ MISTAKE 2: Calling quote individually for multiple stocks
User: "AAPL MSFT GOOGL 现在什么价"
❌ WRONG: twelvedata_quote("AAPL"), twelvedata_quote("MSFT"), twelvedata_quote("GOOGL") ← 3 calls
✅ RIGHT: twelvedata_quote_batch(symbols=["AAPL", "MSFT", "GOOGL"]) ← 1 call, up to 120 symbols
❌ MISTAKE 3: Forex without slash
❌ WRONG: twelvedata_quote(symbol="EURUSD")
✅ RIGHT: twelvedata_quote(symbol="EUR/USD") ← always slash format
Also: USD/CNH not USDCNH, GBP/JPY not GBPJPY.
❌ MISTAKE 4: Expecting bid/ask from quote
❌ WRONG: "EUR/USD bid: 1.0850, ask: 1.0852" ← quote only returns close
✅ RIGHT: "EUR/USD current price: 1.0851 (close/last price — bid/ask spread not available)"
❌ MISTAKE 5: Wrong interval format
❌ WRONG: twelvedata_time_series(interval="1D") ← uppercase
✅ RIGHT: twelvedata_time_series(interval="1day")
Valid: 1min, 5min, 15min, 30min, 1h, 2h, 4h, 8h, 1day, 1week, 1month
❌ MISTAKE 6: Using full output when compact suffices
User: "AAPL 最近走势"
❌ WRONG: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="full") ← 5000 candles
✅ RIGHT: twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="compact") ← 30 candles
Use full only when user explicitly needs deep history.
Symbol Reference
Commodities (verified)
| Asset | Symbol |
|---|---|
| Gold | XAU/USD |
| Silver | XAG/USD |
| Platinum | XPT/USD |
| Palladium | XPD/USD |
| Crude Oil (WTI) | WTI/USD |
| Natural Gas | NG/USD |
Popular Forex Pairs
| Pair | Symbol |
|---|---|
| Euro / USD | EUR/USD |
| GBP / USD | GBP/USD |
| USD / JPY | USD/JPY |
| USD / CNH | USD/CNH |
Use twelvedata_search to discover others.
Pre/Post-Market Data
twelvedata_quote(symbol="AAPL", prepost=true)
twelvedata_time_series(symbol="AAPL", interval="1min", prepost=true)
Returns premarket_change, premarket_change_percent, postmarket_change, postmarket_change_percent when available.
Output Sizes
compact— Last 30 data points (default, faster). Use for "最近走势".full— Up to 5000 data points. Use for deep analysis / charting.
Proxy-Safe Usage
- Agent tool calls: Always prefer
twelvedata_*tools (this skill). - Platform code (
skills/,tools/): usecore.http_client. - Workspace scripts (
bash): Do NOT call TwelveData directly. Use skill tools.
Compound Queries
Stock Comparison
1. twelvedata_quote_batch(symbols=["AAPL", "MSFT", "GOOGL", "TSLA"])
2. twelvedata_time_series(symbol="AAPL", interval="1day", outputsize="compact") ← only for the one user cares most about
Macro Dashboard (stocks + forex + commodities)
1. twelvedata_quote_batch(symbols=["SPY", "QQQ"]) → US indices
2. twelvedata_quote_batch(symbols=["EUR/USD", "USD/JPY"]) → Forex
3. twelvedata_quote(symbol="XAU/USD") → Gold
Related skills
More from starchild-ai-agent/official-skills and the wider catalog.

Read-only Twitter/X data: tweets, users, search, trends, replies via twitterapi.io.

ui-design
Quality gate and build guide for landing pages, dashboards, and web apps—engineering + taste overlay.

upbit
Upbit exchange API CLI for spot orders, market data, account management, and deposits/withdrawals.

user-onboarding
Onboarding script for first-time Starchild users: quick wins, discovery, and positioning.

video
Generate short video clips from text, images, or video references with model selection.

video-analysis
Analyze videos natively or via frame extraction + transcription for any model.