# Financial Modeling Prep vs Twelve Data

> Twelve Data scores 70 (BB) to Financial Modeling Prep's 48.7 (D) for market fundamentals. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data
- Markdown: https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.md (~4,550 tokens)
- Site index for agents: https://www.anchorterminal.com/llms.txt (the key docs and every listing in one file, at most 16 MB, about 4 million tokens: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- DNS: dig +short TXT <slug>.grade.anchorterminal.com (the grade as a DNS TXT record, for a sandbox with no HTTP where names still resolve; also top., best.<category>. and <a>.vs.<b>. under the zone, and the same under grade.letme.dev)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-11-03

Twelve Data scores 70 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in 6 of 7 scored categories. Both do market fundamentals.

- Financial Modeling Prep: grade D, 48.7/100, rank #1056 of 1349. Markdown https://www.anchorterminal.com/tools/financial-modeling-prep.md · JSON https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json
- Twelve Data: grade BB, 70/100, rank #197 of 1349. Markdown https://www.anchorterminal.com/tools/twelve-data.md · JSON https://www.anchorterminal.com/api/v1/tools/twelve-data.json
- Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md
- All 55 markets comparisons: https://www.anchorterminal.com/compare/market-data/index.md

## Which one, for what

### Financial Modeling Prep (D)

Good for: Agents doing company research on statements, ratios, DCF, filings, transcripts and calendars with one key, and US coverage on cheap plans.

Watch for: The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too

### Twelve Data (BB)

Good for: Agents that need prices and time series across many exchanges and asset classes with one contract, CSV output, and a documented error table.

Ahead on:
- Reliability, 83 against 50
- Schema & documentation, 83 against 61
- Agent ergonomics, 84 against 59
- Security & auth, 54 against 30
- Maintenance & community, 82 against 60
- Transparency & trust, 67 against 57

Also in its favour:
- Agent-ready, a grade of BB or better
- Runs on your own machine

Watch for: The REST docs and OpenAPI accept the key as `?apikey=` in the query string alongside the header


## Why the edge

### Reliability: Twelve Data +33

- Financial Modeling Prep (50): Read with the hosted lines. A public status page at status.financialmodelingprep.com is linked from every page (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 250 calls a day on Basic and 300, 750 and 3,000 calls a minute on paid plans, with bandwidth caps per plan (15). No 429 behaviour, Retry-After or backoff guidance was found in the docs, api-docs.md or FAQs (0). No SLA found; the terms let FMP change limits without notice (0). The stable API is generally available (10). 20 + 5 + 15 + 0 + 0 + 10 = 50.
- Twelve Data (83): Read with the hosted lines. A public status page at twelvedata.isitup.cloud lists Price API, Fundamentals API, WebSocket and Website with uptime figures (20). Its history shows two incidents in the 90 days to 3 November 2026, 20 minutes of unavailability across the three APIs on 1 September and 16 minutes on the WebSocket on 14 October, minor only (20). Limits are published with numbers, credits a minute by plan from 8 to 10,946 and 800 a day on Basic (15). The docs document a 429 on the limit and the usage endpoint, with no Retry-After or backoff guidance; reads only (8 of 15). The terms sell a 99.9 per cent SLA with service credits, and the Enterprise plan carries 99.99 per cent (10). The REST API and MCP server are generally available (10). 20 + 20 + 15 + 8 + 10 + 10 = 83.

### Agent ergonomics: Twelve Data +25

- Financial Modeling Prep (59): The REST API is the surface graded. `limit` and `page` on list endpoints, `from` and `to` on series, and batch quote endpoints size responses, with no field selection (15 of 25). Page and limit parameters on lists and date filters on series, no cursor (15 of 20). A missing key returned 401 with an `Error Message` text field in our one test call, and no error reference exists (5 of 20). Every call is a GET read; the MCP server's annotations were not read (16 of 20). Few required parameters and sensible defaults, but no official SDK in any language (8 of 15). 15 + 15 + 5 + 16 + 8 = 59.
- Twelve Data (84): The REST API is the surface graded. `outputsize` 1 to 5,000 with a default of 30, `format=CSV`, `dp`, date ranges and batch requests size responses, and the MCP server lists 27 tools (20 of 25). Date ranges, `outputsize` and exchange, country and type filters, with no cursor pagination (15 of 20). Error codes with meanings an agent can branch on, 403 for plan limits and 429 for credits (16 of 20). Every operation is a read, and the MCP source marks tools readOnlyHint (18 of 20). Few required parameters, a demo key, and official SDKs in Python, Node.js, Go, Java and R (15). 20 + 15 + 16 + 18 + 15 = 84.

### Security & auth: Twelve Data +24

- Financial Modeling Prep (30): One key per account with no scopes, accepted as a header or as `?apikey=`, and the documented MCP address carries it in the URL (20 less 10 for the query string, so 10). Every endpoint is a read (15 of 20). News, press releases, transcripts and filings are third-party text and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, the Trust Center link returns 404, and no disclosure policy, bug bounty or certification was found (0 of 20). 10 + 15 + 5 + 0 + 0 = 30.
- Twelve Data (54): The REST key is a plain per-account key with no scopes, accepted as a header or as `?apikey=` (20 less 10 for the query string). The hosted MCP server refuses keys and uses OAuth 2.1 with PKCE, a resource indicator, refresh tokens, revocation and one scope, which lifts the credential model for that surface (18 of 30). Every operation is a read (15 of 20). Company news is third-party text and no guidance was found (5 of 15). An `/api_usage` endpoint and dashboard usage give the key holder a view of consumption, not a per-call log (6 of 15). A trust centre on SafeBase lists SOC 2, GDPR and CCPA and ten policies; no security.txt, disclosure process or bug bounty was found (10 of 20). 18 + 15 + 5 + 6 + 10 = 54.

### Schema & documentation: Twelve Data +22

- Financial Modeling Prep (61): No OpenAPI document was found. The MCP page says the server supplies strict parameter definitions, but the tool list needs a key and was not read (5 of 25). llms.txt links api-docs.md and pricing.md, Markdown written for agents (10). Each of the 199 endpoints in api-docs.md has a purpose paragraph and a plan marker in pricing.md, with little on when not to use it (13 of 20). Parameters are tabled with type, example and a required star, but allowed values sit in prose and no enums are given (8 of 15). Every endpoint has an example request and response; no error responses are documented anywhere we read (10 of 15). A /stable path, legacy /v3 and /v4 marked discontinued, and a changelog dated by day through 2 November 2026 (15). 5 + 10 + 13 + 8 + 10 + 15 = 61.
- Twelve Data (83): A public OpenAPI 3.1 document covers 187 operations, every one with a description and 200, 400, 401, 403, 404, 414, 429 and 500 responses, and the MCP tools in the source carry typed inputs and annotations (25). llms.txt on the site and in the docs link Markdown pages per section, pricing.md and auth.md (10). Descriptions state purpose, plan requirement and credit cost, with little on when not to use an endpoint (16 of 20). Required parameters are marked and the Markdown lists interval, adjust and type values, but none of the 3,091 parameters in the spec declares an enum (9 of 15). Examples with a demo key on every endpoint and an error table with codes and meanings (13 of 15). No version in the path, a spec at version 0.0.1, and monthly dated product updates on the news page rather than an API changelog (10 of 15). 25 + 10 + 16 + 9 + 13 + 10 = 83.

### Maintenance & community: Twelve Data +22

- Financial Modeling Prep (60): Read as a closed service. The changelog's newest entry is 2 November 2026 (30). Entries dated 6, 8, 12, 28 and 29 October and 2 November 2026, more than three in 90 days (20). A public changelog, a help centre, FAQs and a support address, with issues reported through a site chatbot per the FAQ (10 of 15). No official SDK; the FAQ points at third-party packages (0 of 15). No package to assess, and nothing else to show for CI or dependency health (0 of 10). 30 + 20 + 10 + 0 + 0 = 60.
- Twelve Data (82): Read as a closed service. The newest dated change is the product update of 12 October 2026, with the MCP repository changed on 1 October and the world-model dataset repository on 31 October (30). Monthly updates dated 12 August, 12 September and 12 October 2026 (20). A monthly changelog, a support portal, a sales contact and a Telegram channel; replies on the MCP repository's issues were not read (10 of 15). Six official SDKs and a CLI, twelvedata-python at v1.4.0 of 27 April 2026 (15). The MCP server pins its dependencies with reasons and ships tests; the Python SDK's changelog stops at version 0.1 (7 of 10). 30 + 20 + 10 + 15 + 7 = 82.

### Transparency & trust: Twelve Data +10

- Financial Modeling Prep (57): A closed service under terms that are clear on personal and commercial use and on display licensing, last updated 1 August 2023, but that name no legal entity, address or governing law (12 of 30). The privacy policy is undated, keeps data for as long as necessary with no periods, says no third parties receive data while naming Google AdSense and Analytics, and no DPA was found (8 of 30). The docs keep a Legacy section and api-docs.md says /v3 and /v4 are discontinued, with no notice period stated; behaviour changes such as the Economics Indicators default window appear in the dated changelog (8 of 20). Google services are the only processors named and no data location is given (5 of 20). 12 + 8 + 8 + 5 = 33.
- Twelve Data (67): A closed service under terms that name the entity, define internal use, business use and redistribution, and were last updated 1 January 2026; the MCP repository is open source but ships no licence file (15 of 30). The privacy policy of 22 September 2026 states retention periods and names its processors, the terms require data deletion within 30 days of termination, and no DPA is named (20 of 30). No deprecation policy or notice period; the terms allow changes and the monthly updates record them after the fact (3 of 20). Subprocessors are named on the privacy policy and the trust centre, with no data locations beyond transfer mechanisms (12 of 20). 15 + 20 + 3 + 12 = 50.

## Score by category

| Category | Weight | Financial Modeling Prep | Twelve Data | Edge |
| --- | --- | --- | --- | --- |
| Reliability | 16% (20 this run) | 50 | 83 | Twelve Data +33 |
| Performance | 10%, pending | pending | pending | not scored in this run |
| Schema & documentation | 13% (16.2 this run) | 61 | 83 | Twelve Data +22 |
| Agent ergonomics | 13% (16.2 this run) | 59 | 84 | Twelve Data +25 |
| Security & auth | 14% (17.5 this run) | 30 | 54 | Twelve Data +24 |
| Payments & pricing | 10% (12.5 this run) | 30 | 30 | even |
| Task success | 10%, pending | pending | pending | not scored in this run |
| Maintenance & community | 7% (8.8 this run) | 60 | 82 | Twelve Data +22 |
| Transparency & trust | 7% (8.8 this run) | 57 | 67 | Twelve Data +10 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **48.7 · D** | **70 · BB** | |

## Facts side by side

| Fact | Financial Modeling Prep | Twelve Data |
| --- | --- | --- |
| Kind | HTTP API | HTTP API |
| Vendor | Financial Modeling Prep | Twelve Data Pte. Ltd. |
| Hosted endpoint | `https://financialmodelingprep.com/stable` | `https://api.twelvedata.com` |
| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP, stdio, websocket |
| Auth | API key | OAuth or key |
| Pricing | Freemium | Freemium |
| x402 | no | no |
| Tools exposed | none | 27 |
| Read-only variant documented | no | yes |
| llms.txt | yes | yes |
| Last release | 2026-11-02 | 2026-10-12 |
| Terms last updated | couldn't be read | 2026-01-01 |
| Privacy policy last updated | couldn't be read | 2026-09-22 |
| Customer content may train models | couldn't be read | not found in the text |
| Terms restrict automated access | couldn't be read | not found in the text |
| Terms restrict benchmarking | couldn't be read | yes |
| Terms or service can change without notice | couldn't be read | yes |
| Arbitration or class-action waiver | couldn't be read | yes |
| Popularity | none | 791 stars |

## Verdicts

**Financial Modeling Prep.** About 199 stable REST endpoints with Markdown docs for agents, a dated changelog and a free key at 250 calls a day. The one key travels in the query string on the documented MCP address, error responses and 429 handling are undocumented, the status history could not be read, and personal plans forbid any company use.

**Twelve Data.** A public OpenAPI 3.1 document with error responses on all 187 operations, Markdown docs and pricing for agents, a status page with two short incidents in 90 days, and an MCP server behind OAuth 2.1. The REST key still travels in the query string as a documented option, no enums are declared, and free and individual plans forbid company use.

## Before you call either

### Financial Modeling Prep

1. Send the key as an `apikey` header, not in the URL, and treat the MCP `?apikey=` address as a secret
2. Use the /stable paths from api-docs.md; /api/v3 and /v4 are discontinued even though the FAQ still shows a v3 example
3. On the free plan expect 5 results and page 0 on many list endpoints; read pricing.md before planning a crawl
4. A missing or wrong key returns HTTP 401 with an `Error Message` field; stop and ask the user rather than retry
5. Do not display or pass on the data in a product; personal plans forbid it

### Twelve Data

1. Send the key as `Authorization: apikey <key>`, not in the URL; the hosted MCP server takes OAuth only, so never paste a key into a connector's key field
2. Set `outputsize` (1 to 5,000, default 30) and `format=CSV` on time_series to keep responses small, and read `status` in the JSON body since errors come with HTTP codes and a `message`
3. Count credits, not calls; most endpoints cost one credit per symbol and the Basic plan allows 8 a minute and 800 a day, with 429 when exceeded
4. A 403 means the key's plan lacks the endpoint or symbol, not a bad key; check pricing.md before escalating
5. Use trial symbols from twelvedata.com/exchanges to test premium data on the free plan

## Questions

### Which is better for AI agents, Financial Modeling Prep or Twelve Data?

Twelve Data scores 70 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in 6 of 7 scored categories.

### Do Financial Modeling Prep and Twelve Data need an API key?

Financial Modeling Prep needs an API key. Twelve Data takes an API key or an OAuth sign-in.

### Can an agent call Financial Modeling Prep and Twelve Data without installing anything?

Yes. Financial Modeling Prep has a hosted endpoint at https://financialmodelingprep.com/stable and Twelve Data at https://api.twelvedata.com.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.json, and with the fewest tokens: https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "financial-modeling-prep", "b": "twelve-data"}`. From a terminal: `anchor compare financial-modeling-prep twelve-data`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json and https://www.anchorterminal.com/api/v1/tools/twelve-data.json

## Other comparisons with Financial Modeling Prep or Twelve Data

- [Alpha Vantage vs Financial Modeling Prep](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep.md)
- [Alpha Vantage vs Twelve Data](https://www.anchorterminal.com/compare/alpha-vantage-vs-twelve-data.md)
- [Databento vs Financial Modeling Prep](https://www.anchorterminal.com/compare/databento-vs-financial-modeling-prep.md)
- [Databento vs Twelve Data](https://www.anchorterminal.com/compare/databento-vs-twelve-data.md)
- [Financial Modeling Prep vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.md)
- [Finnhub vs Twelve Data](https://www.anchorterminal.com/compare/finnhub-vs-twelve-data.md)
- [Intrinio vs Twelve Data](https://www.anchorterminal.com/compare/intrinio-vs-twelve-data.md)
- [Massive (formerly Polygon.io) vs Twelve Data](https://www.anchorterminal.com/compare/massive-vs-twelve-data.md)
- [Tiingo vs Twelve Data](https://www.anchorterminal.com/compare/tiingo-vs-twelve-data.md)
- [Financial Datasets vs Financial Modeling Prep](https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.md)
- [Financial Datasets vs Twelve Data](https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.md)
- [Financial Modeling Prep vs Finnhub](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub.md)
- [Financial Modeling Prep vs Intrinio](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.md)
- [Financial Modeling Prep vs Tiingo](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.md)
- [EODHD vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.md)
- [EODHD vs Twelve Data](https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.md)
- [Benzinga vs Financial Modeling Prep](https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep.md)
- [Benzinga vs Twelve Data](https://www.anchorterminal.com/compare/benzinga-vs-twelve-data.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
