Twelve Data
Global stocks, forex and crypto over REST and WebSocket, billed in credits per minute.
Last updated
What it is
Twelve Data is a market data API with unusually wide instrument coverage for its price: stocks,
ETFs, forex, crypto, commodities, mutual funds, fixed income and around 5,000 indices, reachable
over REST at api.twelvedata.com and streaming over WebSocket. Fundamentals sit on the same key —
income statement, balance sheet, cash flow, dividends, splits, earnings estimates, analyst ratings
— along with 100-plus server-side technical indicators, which is the part that saves you writing a
ta-lib layer of your own.
Billing is by credits per minute rather than by request count, and credit weights are not uniform:
a /time_series call costs 1 credit per symbol, an /income_statement call costs 100. Budget
against the endpoints you will actually hit, not against the headline number.
Pricing
Individual plans run Basic (free), Grow from $29, Pro from $99 and Ultra from $329 a month; within each tier the price rises with the credit allowance, so Grow tops out at $79, Pro at $229 and Ultra at $999 for 10,946 credits a minute. Annual billing takes 17% off, students and startups 20%, and the discounts do not stack. Business plans are separate: Venture at $149, $299 or $499, Enterprise at $1,099, and Enterprise+ on quote.
The tier names hide the real ladder, which is licensing, not throughput, and the split is by who you are rather than what you do with the data. Individual plans are for individuals — the vendor requires a business plan for any company, team or fund, even when the data never leaves the office. Basic is non-display, Grow and above add internal display, external display starts at Venture and redistribution at Enterprise.
Data & coverage
The docs claim over a million instruments, but market count is plan-gated: 3 markets on Basic, 27 on
Grow, 76 on Pro, all 85 on Ultra. History depth varies by instrument — /earliest_timestamp returns
1980-12-12 for AAPL daily bars.
Integrations
Official clients for Python, Node.js, Go, Java, R and a CLI; add-ins for Excel and Google Sheets; an
MCP server, hosted by the vendor and open source in its own repository; and an OpenAPI spec to
generate anything else from. The key goes in an Authorization: apikey header or, if you insist, a
query parameter. /batch bundles requests and /api_usage reports your own quota back to you,
which is the cheapest way to find out how much a screening loop actually costs.
Streaming is where the plan matters. The socket is wss://ws.twelvedata.com, and a key may hold
three connections over the lifetime of the application — open a fourth and the oldest is dropped —
with at most 100 client-side events and a 1 MB subscribe message. Full access begins at Pro for
individuals and Venture for business; Basic and Grow are held to one connection and eight
simultaneous symbols from the trial list.
Limitations
- No options chain endpoint and no market news endpoint. If either is on your list, this is the wrong provider.
- The free tier is licensed for evaluation and development only — it cannot legally back a production app, however small.
- Real-time outside the US is an add-on, not a tier. EU real-time requires Pro plus a data add-on; Australia is delayed.
- Fundamentals at 100 credits per symbol make the cheap plans impractical for screening work.
- Grow costs $29 to $79 and still has no usable WebSocket — its credits only stream trial symbols, so real streaming starts at $99.
- An individual plan does not cover a company, team or fund, however small and however internal the use; the vendor says the wrong tier is a terms-of-service problem, not a billing one.
Alternatives
Massive (formerly Polygon.io) if you need US tick data and nothing else; EODHD and Financial Modeling Prep for cheaper global end-of-day coverage. Compare the field against the rest of the market data APIs.
Specs
- Interfaces
- API, Python, MCP server, spreadsheet add-in
- Export
- CSV, JSON
- Asset classes
- Stocks, ETF, Forex, Crypto, Indices, Commodities, Mutual funds, Bonds
- Markets
- Global
- Platforms
- Web, Library, CLI
- AI features
- None
- Pricing verified
- Capabilities verified
- Coverage verified
Also worth comparing
- Alpaca Market Data — Free IEX data forever, full SIP and OPRA for a flat $99 a month.
- Finnhub — Real-time US quotes and a live trade stream on a free key. OHLC candles are not free.
- IQFeed — Tick-by-tick data into a local Windows socket, with exchange fees billed on top.
- Massive — Full-tick US equities, options and futures from a direct exchange feed.
- Barchart OnDemand — Seventy-odd REST endpoints covering equities, options and physical commodities.
- AlgoSeek — Lossless SIP, OPRA and CME tick history with published per-asset-class lease pricing.
Named as a replacement for
FAQ
What does the Twelve Data free plan actually allow?
8 API credits per minute and 800 requests a day across US equities, forex and crypto, plus a trial WebSocket limited to one connection and eight symbols. The licence is internal non-display — evaluation and development only, not production and not shown to users.
Can I display Twelve Data prices in my own app?
Not on the free plan, and not under an individual plan at all. The vendor draws the line by who is buying — a company, team or fund needs a business plan even for purely internal use, external display starts at Venture at $149 a month, and redistribution to outside customers starts at Enterprise.
Does the Twelve Data Grow plan include WebSocket streaming?
Not in any useful sense. Basic and Grow carry 8 trial WebSocket credits, limited to one connection, eight simultaneous symbols and Twelve Data's trial symbol list. Streaming a symbol you actually chose starts on Pro at $99 a month, or Venture at $149 for a business.
Is non-US data real-time on Twelve Data?
Mostly not by default. Grow gives real-time US stocks and end-of-day global equities; real-time European data is a paid add-on on Pro and above, and Australian data is delayed.