Twelve Data
- Free allowance
- Basic plan USD 0/month: 8 API credits per minute with an 800 per day cap, 8 trial WebSocket credits; real-time US equities, forex and crypto
- Verdict
- caveatusable, with a named limit or an unprobed read path
- Cost
- free tier
- Identity
- emailno card, no phone
- Binding limit
- request-rate8 API credits per minute; 800 API credits per day, reset at midnight UTC
- Evidence
- documented29 sources; a first-party page was read and the sentence quoted
- Freshness
- stale on 2026-12-04checked 2026-11-03 (live); stale on 2026-12-04
| Free tier | Basic plan USD 0/month: 8 API credits per minute with an 800 per day cap, 8 trial WebSocket credits; real-time US equities, forex and crypto unit credits; metered on request-count; A standard request costs 1 credit per symbol; heavier endpoints weigh more (income_statement is 100 credits per symbol). The daily quota resets to 800 at midnight UTC. Batch requests, technical indicators and a global trial symbol set are on Basic. time_series returns at most 5000 rows per call, and daily intervals hold the complete history since the first trading date for most symbols. The cheapest paid individual plan is Grow at USD 29/month with 55 credits per minute and no daily cap. |
|---|---|
| Price | none stated |
| Limits |
Bulk path: no bulk path; batch requests and outputsize=5000 are the widest pulls a free key has. |
| Binding | request-rate Over a full day the 800 per day cap binds before the 8 per minute rate does. |
| Identity | email The signup form asks for a full name, an email and a password of at least 8 characters, or a Google or Apple sign-in; it has no card field. Card and PayPal payment are named for the paid plans. apikey=demo answered a daily time_series call for AAPL with no signup. |
| Egress | not metered in bytes; the 800 credits a day bound what a free key can pull |
| Per-object cap | 5000 rows per time_series call (the outputsize maximum) |
| Interface | rest GET https://api.twelvedata.com/time_series with symbol, interval and apikey; a WebSocket on trial credits on Basic. Each response carries api-credits-used and api-credits-left headers, and apikey=demo answers for trial symbols. endpoint: https://api.twelvedata.com |
| Tooling | curl or any HTTP client; official SDKs and spreadsheet integration are on every plan |
| Composes with | Full daily history in 5000-row pages at 800 credits a day; it pairs with a real-time feed such as the Finnhub free quotes, or with Massive flat files on its paid tiers for a wide universe. |
| Reliability | A call past the minute's credits answers HTTP 429; Basic covers US markets, with other markets only through trial symbols. |
| Notes | Credits are a weight, not a request count: a 1-credit time_series call per symbol is the cheap path, and fundamentals at 100 credits per symbol exhaust a day's 800 in 8 symbols. |
| Evidence note | documented The plan, the credit weights and the daily reset are documented on the pricing page and the support articles. A demo-key probe returned a daily series; the 800-per-day cut-off needs a free key to measure. |
| Parsed numbers |
|
Evidence 29
| date | source | what it proved |
|---|---|---|
| 2026-10-30 | twelvedata.com/pricing | the Basic plan allows 8 API credits per minute and 800 a day |
| 2026-10-30 | twelvedata.com/pricing.md | Basic is USD 0 with 8 credits per minute, an 800 per day cap, 8 trial WebSocket credits and US markets |
| 2026-10-30 | twelvedata.com/pricing.md | not published |
| 2026-10-30 | twelvedata.com/pricing.md | the cheapest paid individual plan is USD 29 a month with 55 credits per minute and no daily cap |
| 2026-10-30 | twelvedata.com/pricing.md | not published |
| 2026-10-30 | twelvedata.com/pricing.md | every plan includes REST, WebSocket, SDKs and spreadsheet integration |
| 2026-10-30 | twelvedata.com/pricing | income_statement weighs 100 credits per symbol |
| 2026-10-30 | twelvedata.com/pricing | card and PayPal are the payment methods for paid plans |
| 2026-10-30 | support.twelvedata.com/en/articles/5615854-credits | the Basic daily quota resets to 800 at midnight UTC |
| 2026-10-30 | support.twelvedata.com/en/articles/5615854-credits | a call past the credit limit answers HTTP 429 |
| 2026-10-30 | support.twelvedata.com/en/articles/5615854-credits | each response carries the credits used and left |
| 2026-10-30 | support.twelvedata.com/en/articles/5656039-how-to-get-histor | a time_series call returns at most 5000 rows |
| 2026-10-30 | support.twelvedata.com/en/articles/5656039-how-to-get-histor | daily intervals hold the complete history since the first trading date for most symbols |
| 2026-10-30 | support.twelvedata.com/en/articles/5335783-trial | the demo key answers for trial symbols |
| 2026-10-30 | twelvedata.com/register | the signup form asks for a full name; the same form asks for an email and a password and has no card field |
| 2026-10-30 | twelvedata.com/register | the signup password has at least 8 characters |
| 2026-10-30 | twelvedata.com/register | Google sign-in is offered at signup; the same page offers Apple sign-in |
| 2026-10-30 | twelvedata.com/terms | not published |
| 2026-10-30 | twelvedata.com/terms | stored data is deleted within 30 days of termination |
| 2026-10-30 | probe: https://api.twelvedata.com/time_series?symbol=AAPL&interval=1day&outputsize=5&apikey=demo | the time_series endpoint answered HTTP 200 to the demo key |
| 2026-10-30 | probe: https://api.twelvedata.com/time_series?symbol=AAPL&interval=1day&outputsize=5&apikey=demo | the demo key returned a daily series for AAPL |
| 2026-11-02 | support.twelvedata.com/en/articles/5615854-credits | running out of API credits answers HTTP 429 |
| 2026-11-02 | twelvedata.com/docs/introduction/errors | the error table lists 429 Too Many Requests for a key that reached its request limit |
| 2026-11-02 | api.twelvedata.com/doc/swagger/openapi.json | the OpenAPI spec gives this as the example message of the 429 error body, whose code example is 429 |
| 2026-11-02 | twelvedata.com/docs/introduction/errors | every error, the 429 included, is a JSON object with code, message and status keys |
| 2026-11-02 | github.com/we-promise/sure/issues/194 | a client log shows code 429 with this message for a key whose per-minute limit was 8 credits, the Basic plan's rate |
| 2026-11-02 | support.twelvedata.com/en/articles/5615854-credits | the Basic daily quota resets to 800 at midnight UTC |
| 2026-11-02 | support.twelvedata.com/en/articles/5615854-credits | the per-minute credit quota is restored at the start of each new minute |
| 2026-11-02 | twelvedata.com/pricing.md | Basic is USD 0 with 8 credits per minute, an 800 per day cap and US markets |
More fields 2
| bulk path | no bulk path |
|---|---|
| cutoff | {"http_status": "429","body": "a JSON object with code, message and status keys; the documented 429 message reads: You have run out of API credits for the current minute. 1000 API credits were used, with the current limit being 987. Wait for the next minute or consider upgrading your plan at https://twelvedata.com/pricing; the message for the 800-per-day cap is unverified: behind a sign-up","reset": "per-minute credits are restored at the start of each new minute; the Basic daily quota of 800 resets at midnight UTC (00:00:00)"} |
Unknown values 1
- retention stated: the field does not apply to this kind of offer