Twelve Data
Financial market data API covering stocks, forex, ETFs, and mutual funds with real-time and historical data.
🟢 Online · 274 ms
100%
800 calls/day, free key, no credit card
API key
Free alternatives (live ranking)
- European Central Bank Rates — 🟢 Online · Unlimited, no key, no credit card
- Fixer.io — 🟢 Online · 100 calls/month, EUR base only, free key, no CC
- Alpha Vantage — 🟢 Online · 25 calls/day, free key, no credit card
Compare Twelve Data with…
- Twelve Data vs European Central Bank Rates — Unlimited, no key, no credit card
- Twelve Data vs Fixer.io — 100 calls/month, EUR base only, free key, no CC
- Twelve Data vs Alpha Vantage — 25 calls/day, free key, no credit card
Paid alternatives
- Twelve Data Grow — from $29/mo
Frequently Asked Questions
Does Twelve Data require an API key?
Yes, Twelve Data requires a free API key. You can sign up via https://twelvedata.com/docs.
What is Twelve Data's free tier?
800 calls/day, free key, no credit card
Is Twelve Data currently online?
We check Twelve Data every hour. The current status is shown at the top of this page. You can also see the 30-day uptime history in the chart above.
Implementation notes
When to use Twelve Data
Twelve Data offers the most generous free tier for financial market data in 2026: 800 calls/day, covering US and international stocks, ETFs, mutual funds, 100+ currency pairs, and major cryptocurrencies with historical OHLCV data going back decades. It's the best starting point for equity data projects — portfolio trackers, backtesting notebooks, stock screeners, financial dashboards — before you need real-time data or higher volume. The library ecosystem is solid (official SDKs for Python and Node) and the documentation is unusually clean for a finance API. Choose Twelve Data when you need a single provider for multiple asset classes; choose FRED for pure macro, Frankfurter for pure FX, and Binance direct endpoints for pure crypto if you don't need the aggregation.
Common pitfalls
- The 800 calls/day free limit sounds generous, but each call to the `time_series` endpoint counts as one call regardless of how many data points it returns. A 30-day daily OHLCV series for one symbol costs one call; fetching 50 symbols for a portfolio costs 50 calls.
- The `apikey=demo` parameter in examples only works for the specific symbol and interval shown in the documentation. Using `demo` with any other symbol returns a cached IBM or AAPL response, not an error — which can cause subtle bugs in code that checks only for HTTP errors.
- Real-time prices (`price` endpoint) return the current ask price for stocks when the market is open, and the most recent close when the market is closed. The response does not include a field indicating whether the market is currently open.
- International exchanges require the `:EXCHANGE` suffix on the symbol (e.g., `VODAFONE:LSE` for London Stock Exchange). Without it, the API defaults to the US market and either returns a 400 error or a different instrument entirely.
- The free tier has a per-minute rate limit of 8 requests/minute that's separate from the daily budget. A tight loop iterating over 50 tickers will hit the minute cap before the daily cap. Add a small delay (250-500ms) between calls or batch them via the multi-symbol endpoint syntax.
Quick start (bash)
curl "https://api.twelvedata.com/time_series?symbol=AAPL&interval=1day&outputsize=30&apikey=YOUR_KEY" From our monitoring
Twelve Data has been one of the more reliable finance APIs in our monitoring — 99.7% uptime across the past 90 days with median response time around 350ms globally. The 429 rate-limit responses are honest and include a `Retry-After` header (rare among finance APIs). Data quality: US equities and major forex are audit-grade. Small-cap emerging-market stocks occasionally have data gaps (missing days, adjusted prices that don't match other sources). For anything hitting production, we'd cross-check against a second source for the specific tickers your users care about.
Production integration patterns
Portfolio tracker with delta refresh
The best pattern for a portfolio dashboard: at market open, fetch all watchlist symbols in one batch (Twelve Data supports comma-separated symbols in a single call — that's still counted as N calls, but the per-minute limit is more forgiving in batches). Cache the day's data. During the day, only refresh the top 5-10 most-viewed tickers on user interaction, not the whole watchlist. This turns a 50-symbol dashboard from 50 calls per refresh into 5-10, staying comfortably within the 800/day budget.
Screener with pre-computed universe
For stock screener apps (find all stocks with P/E < 20 and dividend yield > 3%), don't hit Twelve Data at query time — you'd blow through 800 calls in one user session. Instead, pre-compute the screening universe daily via a scheduled job that walks the S&P 500 or FTSE 100, stores fundamentals in your database, and serves queries from the database. Users get instant response, you use ~500 API calls per day, and the data is fresh enough for any non-day-trading use case.
Backtest data preparation pipeline
For backtesting notebooks: batch-download the full historical series for your test universe once, cache to Parquet or CSV, and iterate on the strategy against local files. Twelve Data's `time_series` with `outputsize=5000` returns ~20 years of daily data in one call. Download once, tune your strategy offline, only refresh when adding tickers or extending the date range. This is 100x cheaper than an ad-hoc 'call the API every time I re-run the notebook' pattern.
Compared to the closest paid alternatives
vs AlphaVantage — Free: 25/day · Premium: $50/month for 75 calls/minute
AlphaVantage's free tier is 25 requests/day — 32x tighter than Twelve Data. Its unique value is technical indicators as first-class endpoints (RSI, MACD, Bollinger Bands) with 200+ pre-computed indicators. If your app needs technical analysis and you don't want to compute indicators yourself, AlphaVantage's paid tier ($50/month) is easier to work with than Twelve Data. For raw price/OHLCV data, Twelve Data wins on quota and cleanliness.
vs Financial Modeling Prep — Free: 250/day · Starter: $19/month for 300 calls/minute
FMP is the best free source for fundamentals (balance sheets, income statements, DCF) — 250 calls/day. Twelve Data's fundamentals coverage is thinner and requires a paid tier for many endpoints. Use FMP for anything that involves reading financial statements or valuations; use Twelve Data for prices and time series. Many production apps use both.
vs Polygon.io — Free: limited sample · Starter: $99/month real-time
Polygon is the professional choice for real-time and tick-level equity data — think 'building an algo trading platform.' Free tier is basically a limited-endpoint sample; the useful tier starts at $99/month. Not relevant for hobbyist or personal projects, but worth knowing about if your app grows into real trading infrastructure. Twelve Data is the correct upgrade path first; Polygon comes after you've validated user demand.
Embed this badge
Add a live status badge to your README, docs, or website.
Markdown
[](https://freeapi.watch/twelve-data) HTML
<a href="https://freeapi.watch/twelve-data"><img src="https://freeapi-builder.a10ayassine.workers.dev/badge/twelve-data.svg" alt="Twelve Data Status"/></a>