{
  "data": {
    "similar": [
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/eodhd.json",
        "name": "EODHD",
        "score": 59,
        "shared": [
          "market.history",
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.indices",
          "market.crypto",
          "data.markets"
        ],
        "slug": "eodhd"
      },
      {
        "grade": "D",
        "json": "https://www.anchorterminal.com/tools/financial-modeling-prep.json",
        "name": "Financial Modeling Prep",
        "score": 48.7,
        "shared": [
          "market.fundamentals",
          "market.prices",
          "market.history",
          "market.filings",
          "market.news",
          "market.indices",
          "market.crypto",
          "data.markets"
        ],
        "slug": "financial-modeling-prep"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/finnhub.json",
        "name": "Finnhub",
        "score": 45.1,
        "shared": [
          "market.prices",
          "market.fundamentals",
          "market.news",
          "market.filings",
          "market.history",
          "market.crypto",
          "market.indices",
          "data.markets"
        ],
        "slug": "finnhub"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/financial-datasets.json",
        "name": "Financial Datasets",
        "score": 61.8,
        "shared": [
          "market.fundamentals",
          "market.filings",
          "market.prices",
          "market.history",
          "market.news",
          "market.indices",
          "data.markets"
        ],
        "slug": "financial-datasets"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/intrinio.json",
        "name": "Intrinio",
        "score": 54.2,
        "shared": [
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.history",
          "market.indices",
          "data.markets"
        ],
        "slug": "intrinio"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/alpha-vantage.json",
        "name": "Alpha Vantage",
        "score": 41.5,
        "shared": [
          "market.prices",
          "market.history",
          "market.fundamentals",
          "market.news",
          "data.markets",
          "market.indices",
          "market.crypto"
        ],
        "slug": "alpha-vantage"
      }
    ],
    "tool": {
      "slug": "twelve-data",
      "name": "Twelve Data",
      "vendor": "Twelve Data Pte. Ltd.",
      "vendorUrl": "https://twelvedata.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Twelve Data is a market data API for prices and time series across stocks, ETFs, funds, forex, crypto and commodities, with technical indicators, fundamentals, news and filings. Agents call the REST API, the WebSocket or the hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/twelve-data",
      "markdownUrl": "https://www.anchorterminal.com/tools/twelve-data.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/twelve-data.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/twelve-data.json",
      "dns": "twelve-data.grade.anchorterminal.com",
      "repo": "https://github.com/twelvedata/mcp",
      "transports": [
        "http",
        "streamable-http",
        "stdio",
        "websocket"
      ],
      "remoteUrl": "https://api.twelvedata.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "twelvedata"
        },
        {
          "registry": "npm",
          "name": "twelvedata"
        }
      ],
      "auth": "mixed",
      "authNotes": "REST and WebSocket take an API key from the dashboard, sent as an `Authorization: apikey \u003ckey\u003e` header (the docs call it recommended) or as `?apikey=`. The hosted MCP server does not accept keys; it uses OAuth 2.1 at auth.twelvedata.com with authorisation code and PKCE, refresh tokens, Client ID Metadata Documents or dynamic client registration, one scope `twelvedata`, a required `resource` parameter and a revocation endpoint. The user signs in with a Twelve Data account. No key scopes or expiry found.",
      "pricing": "freemium",
      "pricingNotes": "Basic plan free at 8 API credits a minute and 800 a day with real-time US equities, forex and crypto, no card. Individual plans Grow from $29, Pro from $99 and Ultra from $329 a month (55, 610 and 2,584 credits a minute at the lowest tier, up to $999 for 10,946), annual billing 17 per cent less. Business plans Venture from $149 and Enterprise $1,099 a month, Enterprise+ by quote. Most endpoints cost one credit per symbol; fundamentals and analysis cost more (https://twelvedata.com/pricing.md, checked 2026-11-03).",
      "priceSummary": "$29 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the OpenAPI document, llms.txt, pricing.md, auth.md or the MCP docs (checked 2026-11-03). A call without a key returns HTTP 401 with a JSON `code`, `message` and `status`.",
        "endpoints": []
      },
      "toolCount": 27,
      "popularity": {
        "githubStars": 791,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://twelvedata.com/docs",
      "llmsTxt": "https://twelvedata.com/llms.txt",
      "openapi": "https://api.twelvedata.com/doc/swagger/openapi.json",
      "capabilities": [
        "market.prices",
        "market.history",
        "market.fundamentals",
        "market.crypto",
        "market.indices",
        "market.news",
        "market.filings",
        "data.markets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "openapi",
        "llms-txt",
        "status-page",
        "soc2",
        "sla",
        "no-card",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "go",
        "java",
        "stocks",
        "forex",
        "crypto",
        "streaming",
        "personal-use"
      ],
      "lastRelease": "2026-10-12",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70,
        "grade": "BB",
        "agentReady": true,
        "rank": 197,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 2,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 30,
          "reliability": 83,
          "schema": 83,
          "security": 54,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 83,
            "points": 16.6,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 83,
            "points": 13.49,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 84,
            "points": 13.65,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 54,
            "points": 9.45,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 30,
            "points": 3.75,
            "reason": "No x402, MPP or L402 (0). Plan prices are public without login in pricing.md and on the pricing page, sold by credits a minute per month rather than per call (10). A free Basic plan at 800 credits a day with no card (20). The key comes from a browser signup and no key API was found; MCP needs an OAuth login by a person (0). 0 + 10 + 20 + 0 = 30.",
            "checked": "2026-11-03"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 82,
            "points": 7.18,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 67,
            "points": 5.86,
            "note": "editorial 50, provenance 83",
            "reason": "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.",
            "checked": "2026-11-03"
          }
        ],
        "assessment": {
          "date": "2026-11-03",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "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.",
            "maintenance": "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.",
            "payments": "No x402, MPP or L402 (0). Plan prices are public without login in pricing.md and on the pricing page, sold by credits a minute per month rather than per call (10). A free Basic plan at 800 credits a day with no card (20). The key comes from a browser signup and no key API was found; MCP needs an OAuth login by a person (0). 0 + 10 + 20 + 0 = 30.",
            "reliability": "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.",
            "schema": "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.",
            "security": "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.",
            "transparency": "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."
          },
          "sources": [
            {
              "what": "OpenAPI 3.1 document, 187 operations",
              "url": "https://api.twelvedata.com/doc/swagger/openapi.json",
              "seen": "2026-11-03"
            },
            {
              "what": "llms.txt",
              "url": "https://twelvedata.com/llms.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "docs llms.txt index",
              "url": "https://twelvedata.com/docs/llms.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "introduction (authentication, errors, SDKs)",
              "url": "https://twelvedata.com/docs/llms/introduction.md",
              "seen": "2026-11-03"
            },
            {
              "what": "time series parameters",
              "url": "https://twelvedata.com/docs/llms/market-data/time-series.md",
              "seen": "2026-11-03"
            },
            {
              "what": "MCP server docs",
              "url": "https://twelvedata.com/docs/llms/ai/mcp-server.md",
              "seen": "2026-11-03"
            },
            {
              "what": "auth.md, OAuth 2.1 for the MCP server",
              "url": "https://twelvedata.com/auth.md",
              "seen": "2026-11-03"
            },
            {
              "what": "pricing.md for agents",
              "url": "https://twelvedata.com/pricing.md",
              "seen": "2026-11-03"
            },
            {
              "what": "pricing page",
              "url": "https://twelvedata.com/pricing",
              "seen": "2026-11-03"
            },
            {
              "what": "support article on credits and limits",
              "url": "http://support.twelvedata.com/en/articles/5194820-api-credits-limits",
              "seen": "2026-11-03"
            },
            {
              "what": "status page",
              "url": "https://twelvedata.isitup.cloud",
              "seen": "2026-11-03"
            },
            {
              "what": "news and monthly updates",
              "url": "https://twelvedata.com/news",
              "seen": "2026-11-03"
            },
            {
              "what": "September 2026 update",
              "url": "https://twelvedata.com/news/sept-2026-update",
              "seen": "2026-11-03"
            },
            {
              "what": "terms of use",
              "url": "https://twelvedata.com/terms",
              "seen": "2026-11-03"
            },
            {
              "what": "privacy policy",
              "url": "https://twelvedata.com/privacy",
              "seen": "2026-11-03"
            },
            {
              "what": "trust centre",
              "url": "https://security.twelvedata.com/",
              "seen": "2026-11-03"
            },
            {
              "what": "about page",
              "url": "https://twelvedata.com/about",
              "seen": "2026-11-03"
            },
            {
              "what": "MCP server repository, shallow clone",
              "url": "https://github.com/twelvedata/mcp",
              "seen": "2026-11-03"
            },
            {
              "what": "GitHub organisation",
              "url": "https://github.com/twelvedata",
              "seen": "2026-11-03"
            },
            {
              "what": "MCP endpoint without a token, 401",
              "url": "https://mcp.twelvedata.com/mcp",
              "seen": "2026-11-03"
            },
            {
              "what": "quote endpoint without a key, 401",
              "url": "https://api.twelvedata.com/quote?symbol=AAPL",
              "seen": "2026-11-03"
            },
            {
              "what": "robots.txt",
              "url": "https://twelvedata.com/robots.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "RDAP for twelvedata.com",
              "url": "https://rdap.org/domain/twelvedata.com",
              "seen": "2026-11-03"
            }
          ],
          "openQuestions": [
            "unchecked: the hosted MCP server's live tool list, which needs an OAuth login; the 27 tools, 3 of them login and usage helpers, are counted from the source of twelvedata/mcp at its 1 October 2026 commit",
            "unchecked: the trust centre's SOC 2 report type and date, which sit behind a security review request",
            "Whether the hosted server at mcp.twelvedata.com runs the public repository's code, since the 1 October commit made the repository single-tenant and dropped its Redis OAuth provider",
            "The pricing page's visible cards show the top tier of each plan ($79, $229, $999) while pricing.md and the page's structured data give the lowest ($29, $99, $329); both are recorded",
            "Whether the Basic plan needs a card. auth.md and llms.txt say it does not; the pricing page does not say",
            "firstReleased is left empty. The about page's structured data gives 2020 as the founding year and RDAP gives 11 July 2019 for the domain; no first-hand launch date for the API was found",
            "No founder or named person was found on twelvedata.com, so the humans file lists none",
            "The MCP repository has no LICENSE file; the README calls it open source without naming a licence"
          ]
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Agents that need prices and time series across many exchanges and asset classes with one contract, CSV output, and a documented error table.",
        "strengths": [
          "OpenAPI 3.1 for 187 operations with eight documented response codes each, plus llms.txt, pricing.md and auth.md for agents",
          "Status page with component history, two incidents of 20 and 16 minutes in the 90 days to 3 November 2026",
          "Hosted MCP server on OAuth 2.1 with PKCE, resource indicators and token revocation, and 27 read-only tools in the open source",
          "Official SDKs for Python, Node.js, Go, Java and R, a CLI, and monthly dated product updates",
          "Free Basic plan at 800 credits a day with no card, and plan prices published without login"
        ],
        "weaknesses": [
          "The REST docs and OpenAPI accept the key as `?apikey=` in the query string alongside the header",
          "No parameter in the OpenAPI document declares an enum; interval and type values are listed in Markdown only",
          "Free and individual plans are for internal, non-commercial use; any company, team or fund needs a business plan from $149 a month",
          "No Retry-After or backoff guidance on the documented 429",
          "The open-source MCP repository ships no licence file, and its local HTTP mode serves /mcp with no authentication by default"
        ],
        "agentNotes": [
          "Send the key as `Authorization: apikey \u003ckey\u003e`, not in the URL; the hosted MCP server takes OAuth only, so never paste a key into a connector's key field",
          "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`",
          "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",
          "A 403 means the key's plan lacks the endpoint or symbol, not a bad key; check pricing.md before escalating",
          "Use trial symbols from twelvedata.com/exchanges to test premium data on the free plan"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70
          }
        ],
        "editorialScores": {
          "ergonomics": 84,
          "maintenance": 82,
          "payments": 30,
          "reliability": 83,
          "schema": 83,
          "security": 54,
          "transparency": 50
        },
        "provenanceScore": 83,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        },
        "scoreHistory": [
          {
            "date": "2026-11-03",
            "grade": "BB",
            "kind": "listed",
            "method": "0.7",
            "score": 70
          }
        ]
      },
      "connect": {
        "install": "pip install twelvedata",
        "http": "curl -H \"Authorization: apikey $TWELVE_DATA_API_KEY\" \"https://api.twelvedata.com/time_series?symbol=AAPL\u0026interval=1day\u0026outputsize=30\"",
        "config": {
          "mcpServers": {
            "twelvedata": {
              "url": "https://mcp.twelvedata.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/market.prices",
        "tool": "https://letme.dev/twelve-data"
      },
      "notable": [
        "A public OpenAPI 3.1 document covers 187 operations, each with a description and documented 200, 400, 401, 403, 404, 414, 429 and 500 responses, and declares the key as a header or query parameter (https://api.twelvedata.com/doc/swagger/openapi.json)",
        "llms.txt links Markdown docs per section, a pricing.md written for agents, auth.md for the MCP OAuth flow, and the OpenAPI document (https://twelvedata.com/llms.txt)",
        "The hosted MCP server at https://mcp.twelvedata.com/mcp uses OAuth 2.1 and refuses API keys; the open-source server in twelvedata/mcp (86 stars, last commit 1 October 2026) defines 27 tools with readOnlyHint annotations, 24 for data and 3 for login and usage (https://github.com/twelvedata/mcp)",
        "The status page at twelvedata.isitup.cloud lists Price API, Fundamentals API, WebSocket and Website with two incidents in the 90 days to 3 November 2026, 20 minutes on 1 September and 16 minutes on 14 October (https://twelvedata.isitup.cloud)",
        "The terms of 1 January 2026 name Twelve Data Pte. Ltd. of Singapore, limit free and individual plans to internal non-commercial use, require business plans for any company, and sell a 99.9 per cent SLA as an option (https://twelvedata.com/terms)",
        "A trust centre on SafeBase lists SOC 2, GDPR and CCPA with Microsoft Azure, Stripe and PayPal as subprocessors (https://security.twelvedata.com/)"
      ],
      "area": "domain-data",
      "details": [
        {
          "label": "Surface listed",
          "value": "The REST API at api.twelvedata.com and the hosted MCP server at mcp.twelvedata.com/mcp, read from the OpenAPI document, llms.txt and the Markdown docs, pricing.md and the pricing page, auth.md, the terms and privacy policy, the status page, the trust centre, the news page and a shallow clone of twelvedata/mcp on 3 November 2026. No account was made and no tool was called"
        },
        {
          "label": "API",
          "value": "187 GET operations tagged technical indicators (102), fundamentals (20), reference data (18), mutual funds (11), analysis (9), ETFs (8), regulatory (7), market data (6), currencies, money market funds and advanced. Base URL https://api.twelvedata.com with no version in the path"
        },
        {
          "label": "Coverage",
          "value": "The vendor says more than 1 million instruments on 250 exchanges in 90 countries, with real-time US equities on every plan, real-time EU and delayed Australian data on Pro, Cboe Europe real time announced in January 2026, and exchange add-ons such as ASX and Cboe Canada priced per year"
        },
        {
          "label": "Rate limits",
          "value": "Credits per minute by plan, 8 on Basic up to 10,946 on the top Ultra and Enterprise tiers, an 800 a day cap on Basic, WebSocket credits per subscribed symbol. 429 when exceeded, no Retry-After documented"
        },
        {
          "label": "MCP server",
          "value": "Hosted at mcp.twelvedata.com/mcp over streamable HTTP with OAuth 2.1 (auth.twelvedata.com, scope `twelvedata`, resource indicator required). The open-source server runs over stdio or local HTTP with the key in a .env file and defines 27 tools with readOnlyHint, the 3 login and usage tools included"
        },
        {
          "label": "Response size",
          "value": "`outputsize` 1 to 5,000 (default 30), `format=CSV`, `dp` decimal places, `start_date` and `end_date`, `date`, batch requests, and `type`, `exchange` and `country` filters"
        },
        {
          "label": "Errors",
          "value": "JSON with `code`, `message` and `status`; 400 bad parameters, 401 bad key, 403 plan lacks access, 404 not found, 414 parameter too long, 429 limit, 500 server. Null fields are documented as expected when data is unavailable"
        },
        {
          "label": "SDKs",
          "value": "Official twelvedata-python (791 stars, v1.4.0 of 27 April 2026), twelvedata-node, twelvedata-go, twelvedata-java, twelvedata-r-sdk and twelvedata-cli; community C#, PHP and TypeScript clients listed in the docs"
        },
        {
          "label": "Use terms",
          "value": "Free and individual plans are internal, non-commercial use; business plans are required for any company, team, fund or organisation. External display and redistribution need Venture or above or a written agreement. Data must be deleted within 30 days of termination"
        },
        {
          "label": "Security",
          "value": "Trust centre on SafeBase (SOC 2, GDPR, CCPA, ten policies, Azure hosting). No security.txt, bug bounty or public disclosure process found"
        },
        {
          "label": "Legal entity",
          "value": "Twelve Data Pte. Ltd., UEN 202006058W, 20A Tanjong Pagar Road, Singapore, per the terms and privacy policy. The about page's structured data gives a founding date of 2020"
        }
      ],
      "unitPrices": [
        {
          "item": "Grow, 55 credits a minute",
          "unit": "month",
          "usd": 29,
          "note": "individual, internal use, lowest Grow tier"
        },
        {
          "item": "Pro, 610 credits a minute",
          "unit": "month",
          "usd": 99,
          "note": "individual, lowest Pro tier"
        },
        {
          "item": "Ultra, 2,584 credits a minute",
          "unit": "month",
          "usd": 329,
          "note": "individual, lowest Ultra tier"
        },
        {
          "item": "Venture, 610 credits a minute",
          "unit": "month",
          "usd": 149,
          "note": "business, external display"
        },
        {
          "item": "Enterprise, 10,946 credits a minute",
          "unit": "month",
          "usd": 1099,
          "note": "business, external distribution, 99.99 per cent SLA"
        }
      ],
      "provenance": {
        "legalEntity": "Twelve Data Pte. Ltd.",
        "domain": "twelvedata.com",
        "domainRegistered": "2019-07-11",
        "endpointOnVendorDomain": true,
        "terms": "https://twelvedata.com/terms",
        "privacy": "https://twelvedata.com/privacy",
        "statusPage": "https://twelvedata.isitup.cloud",
        "changelog": "https://twelvedata.com/news",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms, last updated 1 January 2026, name Twelve Data Pte. Ltd. (UEN 202006058W) under Singapore law with SIAC arbitration. Section 2.3(h) forbids automated tools used to exceed rate limits; nothing forbids reading the website.",
          "The privacy policy, last updated 22 September 2026, gives the Singapore address, retention of 2 years for account data, 7 years for financial records and 1 year for usage data, and names Azure, Stripe, PayPal, Cloudflare, Intercom, Segment, CookieYes, Google Analytics and Microsoft Clarity.",
          "twelvedata.com/robots.txt disallows /api/, /docs/search, /docs/url/convert and account paths; the docs, pricing, terms and privacy pages are allowed.",
          "RDAP gives twelvedata.com a registration date of 11 July 2019 at GoDaddy.",
          "/.well-known/security.txt and /security.txt return 404. twelvedata.com/security returns 404; the trust centre is security.twelvedata.com on SafeBase.",
          "The status page is hosted by Isitup at twelvedata.isitup.cloud and is linked from llms.txt. The news page carries monthly product updates and is the nearest thing to a changelog."
        ],
        "score": 83,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Twelve Data Pte. Ltd.",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "twelvedata.com, registered 2019-07-11 (7 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "api.twelvedata.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points",
            "points": 6,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "read, states 8 of the 8 things a reader expects",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Status page",
            "value": "twelvedata.isitup.cloud",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "not researched yet",
            "points": 0,
            "max": 0,
            "state": "na"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages, a community",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://twelvedata.com/terms",
            "state": "read",
            "readAt": "2026-11-03",
            "statedDate": "2026-01-01",
            "words": 4554,
            "points": 6,
            "max": 10,
            "expected": [
              {
                "key": "terms.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated: January 1, 2026",
                "says": "Last updated 2026-01-01"
              },
              {
                "key": "terms.law",
                "label": "Names the governing law or courts",
                "found": true,
                "quote": "This Agreement is governed by courts of the Republic of Singapore, excluding conflict of laws principles.",
                "says": "Disputes go to the courts of the Republic of Singapore"
              },
              {
                "key": "terms.liability",
                "label": "States a limit on its liability",
                "found": true,
                "quote": "TOTAL LIABILITY SHALL NOT EXCEED THE FEES PAID IN THE TWELVE MONTHS PRECEDING THE CLAIM.",
                "says": "Capped at the fees paid in the 12 months before the claim"
              },
              {
                "key": "terms.termination",
                "label": "Says how the agreement or account can be ended",
                "found": true,
                "quote": "- Failure to pay within this timeframe may lead to full deactivation of the subscription and termination per Section 12"
              },
              {
                "key": "terms.changes",
                "label": "Says how changes to the terms are announced",
                "found": true,
                "quote": "(d) Twelve Data may update fees annually with 30 days' notice",
                "says": "Gives 30 days of notice before a change"
              },
              {
                "key": "terms.use",
                "label": "Lists what users may not do",
                "found": true,
                "quote": "If you do not have this authority, are under 18 years of age, or do not agree with this Agreement, you must not accept these terms and may not access or use the Platform."
              },
              {
                "key": "terms.sla",
                "label": "Refers to a service level or uptime commitment",
                "found": true,
                "quote": "\"Service Level Agreement\" or \"SLA\" means the support policy and service level commitments, if purchased."
              }
            ],
            "toKnow": [
              {
                "key": "terms.benchmark",
                "label": "Restricts benchmarking or competitive use",
                "found": true,
                "quote": "(d) Use the Platform to build competitive products or services",
                "costsPoints": true
              },
              {
                "key": "terms.nonotice",
                "label": "Says the terms or the service can change without notice",
                "found": true,
                "quote": "TWELVE DATA RESERVES THE RIGHT, AT ITS SOLE DISCRETION, TO MODIFY, SUSPEND, DISCONTINUE, OR REMOVE ANY DATA (INCLUDING THIRD-PARTY DATA OR PROPRIETARY DATA), FEATURES, ENDPOINTS, OR PORTIONS OF THE PLATFORM AT ANY TIME, WITH OR WITHOUT NOTICE TO CUSTOMER.",
                "costsPoints": true
              },
              {
                "key": "terms.arbitration",
                "label": "Requires arbitration or waives class actions",
                "found": true,
                "quote": "(b) If the dispute is not resolved through such negotiations, it shall be referred to binding arbitration administered by the Singapore International Arbitration Centre (\"SIAC\") in Singapore in accordance with the Arbitration Rules of the Singapore International Arbitration Centre (\"SIAC Rules\") for the time being in…"
              }
            ],
            "notes": [
              {
                "date": "2026-11-03",
                "text": "Non-Display Use, meaning any use of Data not displayed to natural persons, is permitted only as the subscription tier allows.",
                "quote": "(d) Use Data for Non-Display Use only as permitted by your subscription tier"
              },
              {
                "date": "2026-11-03",
                "text": "Subscriptions renew automatically unless cancelled at least 24 hours before the renewal date, and prices may change at renewal with 30 days' notice.",
                "quote": "- Renewal occurs unless cancelled at least 24 hours before the renewal date"
              },
              {
                "date": "2026-11-03",
                "text": "Free Tier data may not be used for commercial purposes.",
                "quote": "(l) Use Free Tier data for commercial purposes"
              }
            ]
          },
          {
            "kind": "privacy",
            "url": "https://twelvedata.com/privacy",
            "state": "read",
            "readAt": "2026-11-03",
            "statedDate": "2026-09-22",
            "words": 2388,
            "points": 10,
            "max": 10,
            "expected": [
              {
                "key": "privacy.date",
                "label": "Gives the date it was last updated",
                "found": true,
                "quote": "Last updated: September 22, 2026",
                "says": "Last updated 2026-09-22"
              },
              {
                "key": "privacy.collected",
                "label": "Says what personal data is collected",
                "found": true,
                "quote": "We collect personal data either directly from users (e.g., when signing up for services) or automatically (e.g., through cookies and analytics tools)."
              },
              {
                "key": "privacy.retention",
                "label": "Says how long data is kept",
                "found": true,
                "quote": "- Account information: Retained for 2 years after account closure",
                "says": "Names a period of 2 years"
              },
              {
                "key": "privacy.processors",
                "label": "Says who else receives the data",
                "found": true,
                "quote": "We may also share data with trusted service providers (see Section 3) who process data on our behalf and only on our instructions."
              },
              {
                "key": "privacy.sale",
                "label": "Says whether personal data is sold or shared for advertising",
                "found": true,
                "quote": "We do not sell personal data in exchange for money.",
                "says": "Says it does not sell personal data"
              },
              {
                "key": "privacy.rights",
                "label": "Says what rights people have over their data",
                "found": true,
                "quote": "For residents of California (CCPA/CPRA), other US states with similar laws (e.g., DPDPA, MCPA, NPDPA), Brazil (LGPD), Canada (PIPEDA), and other regions with similar legal requirements, you may also be entitled to specific rights outlined below."
              },
              {
                "key": "privacy.contact",
                "label": "Gives a privacy contact",
                "found": true,
                "quote": "- Right to access: Request a copy of your data"
              },
              {
                "key": "privacy.transfers",
                "label": "Says where data is transferred or stored",
                "found": true,
                "quote": "data transfers: If we transfer personal data to countries outside the European Economic Area (EEA), we do so under appropriate mechanisms, such as Standard Contractual Clauses, binding corporate rules, or, where the recipient organisation is certified, the EU US Data Privacy Framework",
                "says": "Relies on standard contractual clauses and the Data Privacy Framework"
              }
            ],
            "toKnow": [
              {
                "key": "privacy.sells",
                "label": "Says it sells personal data or shares it for advertising",
                "found": true,
                "quote": "We do use advertising and analytics technologies which, under California law, count as selling and sharing personal information."
              }
            ]
          }
        ]
      },
      "humans": {
        "slug": "twelve-data",
        "checked": "2026-11-03",
        "company": "Twelve Data Pte. Ltd.",
        "peopleNote": "No founder or named person was found on a first-hand page. The about page describes a technology-driven company founded in 2020 with no names, the Belgrade meetup post of 14 June 2026 names no one, the terms and privacy policy name only Twelve Data Pte. Ltd. of Singapore, and the GitHub organisation shows no public members. Investors were looked for on the about, startups, news, terms and privacy pages and the GitHub organisation, and in two searches; nothing first-hand mentions funding or backers.",
        "companySocial": {
          "linkedin": "https://www.linkedin.com/company/twelvedata",
          "x": "https://x.com/TwelveData",
          "github": "https://github.com/twelvedata"
        },
        "support": {
          "emails": [
            "support@twelvedata.com"
          ],
          "urls": [
            "https://support.twelvedata.com/en/",
            "https://twelvedata.com/contact"
          ],
          "community": [
            {
              "label": "Telegram",
              "url": "https://t.me/twelvedata",
              "kind": "telegram"
            },
            {
              "label": "MCP server issues",
              "url": "https://github.com/twelvedata/mcp/issues",
              "kind": "github"
            }
          ],
          "contactEmails": [
            "legal@twelvedata.com",
            "dpo@twelvedata.com"
          ]
        },
        "sources": [
          "https://twelvedata.com/about",
          "https://twelvedata.com/",
          "https://twelvedata.com/privacy",
          "https://twelvedata.com/terms",
          "https://twelvedata.com/llms.txt",
          "https://twelvedata.com/news/no-slides-no-agenda-our-first-meetup-in-belgrade",
          "https://github.com/twelvedata"
        ],
        "ownership": {
          "status": "private",
          "checked": "2026-11-03",
          "sources": [
            "https://twelvedata.com/terms",
            "https://twelvedata.com/privacy"
          ]
        }
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/twelve-data.json",
      "live": {
        "slug": "twelve-data",
        "probe": {
          "target": "https://api.twelvedata.com",
          "method": "get",
          "lastAt": "2026-11-04T19:35:17.57001935Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 150,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 145,
          "p95ms24h": 219,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "vendorStatus": {
          "page": "https://twelvedata.isitup.cloud",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:39.97677279Z"
        },
        "securityTxt": {
          "url": "https://twelvedata.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:50.370188865Z"
        },
        "updatedAt": "2026-11-04T19:35:17.57001935Z"
      }
    },
    "verify": {
      "accepts": "a page on twelvedata.com or one of its subdomains, or the README at the root of github.com/twelvedata/mcp",
      "badgeUrl": "https://www.anchorterminal.com/badges/twelve-data.svg",
      "body": {
        "slug": "twelve-data",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/twelve-data",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/twelve-data\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/twelve-data.svg\" alt=\"Twelve Data on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Twelve Data on Anchor Terminal](https://www.anchorterminal.com/badges/twelve-data.svg)](https://www.anchorterminal.com/tools/twelve-data)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/twelve-data\"\u003eTwelve Data on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/twelve-data",
    "json": "https://www.anchorterminal.com/tools/twelve-data.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/twelve-data.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/twelve-data#pricing",
    "reviews": "https://www.anchorterminal.com/tools/twelve-data#reviews",
    "slim": "https://www.anchorterminal.com/tools/twelve-data.min.md"
  },
  "markdown": "## Overview\n\n**Grade BB · 70/100 · rank #197 of 1349 · #2 in Financial market data · agent-ready · confidence medium**\n\n\n## Assessment\n\nA 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.\n\n## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Twelve Data Pte. Ltd. (https://twelvedata.com) |\n| Kind | HTTP API |\n| Category | Financial market data (https://www.anchorterminal.com/categories/market-data) |\n| Transport | HTTP, Streamable HTTP, stdio, websocket |\n| Endpoint | `https://api.twelvedata.com` |\n| Auth | OAuth or key · REST and WebSocket take an API key from the dashboard, sent as an `Authorization: apikey \u003ckey\u003e` header (the docs call it recommended) or as `?apikey=`. The hosted MCP server does not accept keys; it uses OAuth 2.1 at auth.twelvedata.com with authorisation code and PKCE, refresh tokens, Client ID Metadata Documents or dynamic client registration, one scope `twelvedata`, a required `resource` parameter and a revocation endpoint. The user signs in with a Twelve Data account. No key scopes or expiry found. |\n| Pricing | Freemium ($29 / mo) · Basic plan free at 8 API credits a minute and 800 a day with real-time US equities, forex and crypto, no card. Individual plans Grow from $29, Pro from $99 and Ultra from $329 a month (55, 610 and 2,584 credits a minute at the lowest tier, up to $999 for 10,946), annual billing 17 per cent less. Business plans Venture from $149 and Enterprise $1,099 a month, Enterprise+ by quote. Most endpoints cost one credit per symbol; fundamentals and analysis cost more (https://twelvedata.com/pricing.md, checked 2026-11-03). |\n| x402 | No · No x402, MPP or L402 in the OpenAPI document, llms.txt, pricing.md, auth.md or the MCP docs (checked 2026-11-03). A call without a key returns HTTP 401 with a JSON `code`, `message` and `status`. |\n| Licence | unknown |\n| Tools exposed | 27 |\n| Packages | pypi: `twelvedata`; npm: `twelvedata` |\n| Source | https://github.com/twelvedata/mcp |\n| Docs | https://twelvedata.com/docs |\n| llms.txt | https://twelvedata.com/llms.txt |\n| Last release | 2026-10-12 |\n| GitHub stars | 791 (as of 2026-11-03) |\n| Surface listed | The REST API at api.twelvedata.com and the hosted MCP server at mcp.twelvedata.com/mcp, read from the OpenAPI document, llms.txt and the Markdown docs, pricing.md and the pricing page, auth.md, the terms and privacy policy, the status page, the trust centre, the news page and a shallow clone of twelvedata/mcp on 3 November 2026. No account was made and no tool was called |\n| API | 187 GET operations tagged technical indicators (102), fundamentals (20), reference data (18), mutual funds (11), analysis (9), ETFs (8), regulatory (7), market data (6), currencies, money market funds and advanced. Base URL https://api.twelvedata.com with no version in the path |\n| Coverage | The vendor says more than 1 million instruments on 250 exchanges in 90 countries, with real-time US equities on every plan, real-time EU and delayed Australian data on Pro, Cboe Europe real time announced in January 2026, and exchange add-ons such as ASX and Cboe Canada priced per year |\n| Rate limits | Credits per minute by plan, 8 on Basic up to 10,946 on the top Ultra and Enterprise tiers, an 800 a day cap on Basic, WebSocket credits per subscribed symbol. 429 when exceeded, no Retry-After documented |\n| MCP server | Hosted at mcp.twelvedata.com/mcp over streamable HTTP with OAuth 2.1 (auth.twelvedata.com, scope `twelvedata`, resource indicator required). The open-source server runs over stdio or local HTTP with the key in a .env file and defines 27 tools with readOnlyHint, the 3 login and usage tools included |\n| Response size | `outputsize` 1 to 5,000 (default 30), `format=CSV`, `dp` decimal places, `start_date` and `end_date`, `date`, batch requests, and `type`, `exchange` and `country` filters |\n| Errors | JSON with `code`, `message` and `status`; 400 bad parameters, 401 bad key, 403 plan lacks access, 404 not found, 414 parameter too long, 429 limit, 500 server. Null fields are documented as expected when data is unavailable |\n| SDKs | Official twelvedata-python (791 stars, v1.4.0 of 27 April 2026), twelvedata-node, twelvedata-go, twelvedata-java, twelvedata-r-sdk and twelvedata-cli; community C#, PHP and TypeScript clients listed in the docs |\n| Use terms | Free and individual plans are internal, non-commercial use; business plans are required for any company, team, fund or organisation. External display and redistribution need Venture or above or a written agreement. Data must be deleted within 30 days of termination |\n| Security | Trust centre on SafeBase (SOC 2, GDPR, CCPA, ten policies, Azure hosting). No security.txt, bug bounty or public disclosure process found |\n| Legal entity | Twelve Data Pte. Ltd., UEN 202006058W, 20A Tanjong Pagar Road, Singapore, per the terms and privacy policy. The about page's structured data gives a founding date of 2020 |\n| Capabilities | market.prices, market.history, market.fundamentals, market.crypto, market.indices, market.news, market.filings, data.markets |\n| Tags | hosted, freemium, api-key, oauth, mcp, remote-mcp, openapi, llms-txt, status-page, soc2, sla, no-card, free-tier, closed-source, python, typescript, go, java, stocks, forex, crypto, streaming, personal-use |\n| JSON | https://www.anchorterminal.com/api/v1/tools/twelve-data.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-03 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 83 | 16.6 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 83 | 13.5 |\n| Agent ergonomics | 13% | 16.2 | 84 | 13.7 |\n| Security \u0026 auth | 14% | 17.5 | 54 | 9.4 |\n| Payments \u0026 pricing | 10% | 12.5 | 30 | 3.8 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 82 | 7.2 |\n| Transparency \u0026 trust (editorial 50, provenance 83) | 7% | 8.8 | 67 | 5.9 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **70 → BB** |\n\n### Why each score\n\n- Reliability 83 (checked 2026-11-03): 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.\n- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 83 (checked 2026-11-03): 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.\n- Agent ergonomics 84 (checked 2026-11-03): 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.\n- Security \u0026 auth 54 (checked 2026-11-03): 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.\n- Payments \u0026 pricing 30 (checked 2026-11-03): No x402, MPP or L402 (0). Plan prices are public without login in pricing.md and on the pricing page, sold by credits a minute per month rather than per call (10). A free Basic plan at 800 credits a day with no card (20). The key comes from a browser signup and no key API was found; MCP needs an OAuth login by a person (0). 0 + 10 + 20 + 0 = 30.\n- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 82 (checked 2026-11-03): 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.\n- Transparency \u0026 trust 67 (checked 2026-11-03): 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.\n\nFix list, everything this grade says the listing lacks, the biggest gain first (18 items). What it covers is at https://www.anchorterminal.com/fixes/twelve-data.md (JSON https://www.anchorterminal.com/fixes/twelve-data.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"twelve-data\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: the hosted MCP server's live tool list, which needs an OAuth login; the 27 tools, 3 of them login and usage helpers, are counted from the source of twelvedata/mcp at its 1 October 2026 commit\n- unchecked: the trust centre's SOC 2 report type and date, which sit behind a security review request\n- Whether the hosted server at mcp.twelvedata.com runs the public repository's code, since the 1 October commit made the repository single-tenant and dropped its Redis OAuth provider\n- The pricing page's visible cards show the top tier of each plan ($79, $229, $999) while pricing.md and the page's structured data give the lowest ($29, $99, $329); both are recorded\n- Whether the Basic plan needs a card. auth.md and llms.txt say it does not; the pricing page does not say\n- firstReleased is left empty. The about page's structured data gives 2020 as the founding year and RDAP gives 11 July 2019 for the domain; no first-hand launch date for the API was found\n- No founder or named person was found on twelvedata.com, so the humans file lists none\n- The MCP repository has no LICENSE file; the README calls it open source without naming a licence\n\n### Sources\n\n- OpenAPI 3.1 document, 187 operations: \u003chttps://api.twelvedata.com/doc/swagger/openapi.json\u003e (seen 2026-11-03)\n- llms.txt: \u003chttps://twelvedata.com/llms.txt\u003e (seen 2026-11-03)\n- docs llms.txt index: \u003chttps://twelvedata.com/docs/llms.txt\u003e (seen 2026-11-03)\n- introduction (authentication, errors, SDKs): \u003chttps://twelvedata.com/docs/llms/introduction.md\u003e (seen 2026-11-03)\n- time series parameters: \u003chttps://twelvedata.com/docs/llms/market-data/time-series.md\u003e (seen 2026-11-03)\n- MCP server docs: \u003chttps://twelvedata.com/docs/llms/ai/mcp-server.md\u003e (seen 2026-11-03)\n- auth.md, OAuth 2.1 for the MCP server: \u003chttps://twelvedata.com/auth.md\u003e (seen 2026-11-03)\n- pricing.md for agents: \u003chttps://twelvedata.com/pricing.md\u003e (seen 2026-11-03)\n- pricing page: \u003chttps://twelvedata.com/pricing\u003e (seen 2026-11-03)\n- support article on credits and limits: \u003chttp://support.twelvedata.com/en/articles/5194820-api-credits-limits\u003e (seen 2026-11-03)\n- status page: \u003chttps://twelvedata.isitup.cloud\u003e (seen 2026-11-03)\n- news and monthly updates: \u003chttps://twelvedata.com/news\u003e (seen 2026-11-03)\n- September 2026 update: \u003chttps://twelvedata.com/news/sept-2026-update\u003e (seen 2026-11-03)\n- terms of use: \u003chttps://twelvedata.com/terms\u003e (seen 2026-11-03)\n- privacy policy: \u003chttps://twelvedata.com/privacy\u003e (seen 2026-11-03)\n- trust centre: \u003chttps://security.twelvedata.com/\u003e (seen 2026-11-03)\n- about page: \u003chttps://twelvedata.com/about\u003e (seen 2026-11-03)\n- MCP server repository, shallow clone: \u003chttps://github.com/twelvedata/mcp\u003e (seen 2026-11-03)\n- GitHub organisation: \u003chttps://github.com/twelvedata\u003e (seen 2026-11-03)\n- MCP endpoint without a token, 401: \u003chttps://mcp.twelvedata.com/mcp\u003e (seen 2026-11-03)\n- quote endpoint without a key, 401: \u003chttps://api.twelvedata.com/quote?symbol=AAPL\u003e (seen 2026-11-03)\n- robots.txt: \u003chttps://twelvedata.com/robots.txt\u003e (seen 2026-11-03)\n- RDAP for twelvedata.com: \u003chttps://rdap.org/domain/twelvedata.com\u003e (seen 2026-11-03)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/twelve-data/history.json\n\n- 2026-11-03: graded 70 BB (methodology 0.7)\n\n## Who's behind it (provenance 83/100, checked 2026-11-03)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Twelve Data Pte. Ltd. | 20/20 |\n| Domain age | twelvedata.com, registered 2019-07-11 (7 years) | 11/15 |\n| Endpoint on the vendor's domain | api.twelvedata.com | 15/15 |\n| Terms of service | read, states 7 of the 7 things a reader expects, and has 2 clauses that cost points | 6/10 |\n| Privacy policy | read, states 8 of the 8 things a reader expects | 10/10 |\n| Status page | twelvedata.isitup.cloud | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | not found | 0/10 |\n| People named | not researched yet | n/a |\n| Support route | a support address, help pages, a community | 5/5 |\n\nThe terms, last updated 1 January 2026, name Twelve Data Pte. Ltd. (UEN 202006058W) under Singapore law with SIAC arbitration. Section 2.3(h) forbids automated tools used to exceed rate limits; nothing forbids reading the website.\n\nThe privacy policy, last updated 22 September 2026, gives the Singapore address, retention of 2 years for account data, 7 years for financial records and 1 year for usage data, and names Azure, Stripe, PayPal, Cloudflare, Intercom, Segment, CookieYes, Google Analytics and Microsoft Clarity.\n\ntwelvedata.com/robots.txt disallows /api/, /docs/search, /docs/url/convert and account paths; the docs, pricing, terms and privacy pages are allowed.\n\nRDAP gives twelvedata.com a registration date of 11 July 2019 at GoDaddy.\n\n/.well-known/security.txt and /security.txt return 404. twelvedata.com/security returns 404; the trust centre is security.twelvedata.com on SafeBase.\n\nThe status page is hosted by Isitup at twelvedata.isitup.cloud and is linked from llms.txt. The news page carries monthly product updates and is the nearest thing to a changelog.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://twelvedata.com/terms), read 2026-11-03, dated 2026-01-01, states 7 of the 7 things a reader expects.\n\n- To know. Restricts benchmarking or competitive use (costs points). \"(d) Use the Platform to build competitive products or services\"\n- To know. Says the terms or the service can change without notice (costs points). \"TWELVE DATA RESERVES THE RIGHT, AT ITS SOLE DISCRETION, TO MODIFY, SUSPEND, DISCONTINUE, OR REMOVE ANY DATA (INCLUDING THIRD-PARTY DATA OR PROPRIETARY DATA), FEATURES, ENDPOINTS, OR PORTIONS OF THE PLATFORM AT ANY TIME, WITH OR WITHOUT NOTICE TO CUSTOMER.\"\n- To know. Requires arbitration or waives class actions. \"(b) If the dispute is not resolved through such negotiations, it shall be referred to binding arbitration administered by the Singapore International Arbitration Centre (\"SIAC\") in Singapore in accordance with the Arbitration Rules of the Singapore International Arbitration Centre (\"SIAC Rules\") for the time being in…\"\n- Gives the date it was last updated. Last updated 2026-01-01.\n- Names the governing law or courts. Disputes go to the courts of the Republic of Singapore.\n- States a limit on its liability. Capped at the fees paid in the 12 months before the claim.\n- Says how changes to the terms are announced. Gives 30 days of notice before a change.\n- Also in the text (2026-11-03). Non-Display Use, meaning any use of Data not displayed to natural persons, is permitted only as the subscription tier allows. \"(d) Use Data for Non-Display Use only as permitted by your subscription tier\"\n- Also in the text (2026-11-03). Subscriptions renew automatically unless cancelled at least 24 hours before the renewal date, and prices may change at renewal with 30 days' notice. \"- Renewal occurs unless cancelled at least 24 hours before the renewal date\"\n- Also in the text (2026-11-03). Free Tier data may not be used for commercial purposes. \"(l) Use Free Tier data for commercial purposes\"\n\n**Privacy policy** (https://twelvedata.com/privacy), read 2026-11-03, dated 2026-09-22, states 8 of the 8 things a reader expects.\n\n- To know. Says it sells personal data or shares it for advertising. \"We do use advertising and analytics technologies which, under California law, count as selling and sharing personal information.\"\n- Gives the date it was last updated. Last updated 2026-09-22.\n- Says how long data is kept. Names a period of 2 years.\n- Says whether personal data is sold or shared for advertising. Says it does not sell personal data.\n- Says where data is transferred or stored. Relies on standard contractual clauses and the Data Privacy Framework.\n\n## Humans behind the project (researched 2026-11-03 from public pages, not part of the grade)\n\n### Key people\n\n- No people named yet.\n- Note: No founder or named person was found on a first-hand page. The about page describes a technology-driven company founded in 2020 with no names, the Belgrade meetup post of 14 June 2026 names no one, the terms and privacy policy name only Twelve Data Pte. Ltd. of Singapore, and the GitHub organisation shows no public members. Investors were looked for on the about, startups, news, terms and privacy pages and the GitHub organisation, and in two searches; nothing first-hand mentions funding or backers.\n- Twelve Data Pte. Ltd.: LinkedIn https://www.linkedin.com/company/twelvedata X https://x.com/TwelveData GitHub https://github.com/twelvedata\n\n### Getting support\n\n- Support email: support@twelvedata.com\n- Help: https://support.twelvedata.com/en/\n- Help: https://twelvedata.com/contact\n- Community (Telegram): https://t.me/twelvedata\n- Community (MCP server issues): https://github.com/twelvedata/mcp/issues\n- Sources: https://twelvedata.com/about, https://twelvedata.com/, https://twelvedata.com/privacy, https://twelvedata.com/terms, https://twelvedata.com/llms.txt, https://twelvedata.com/news/no-slides-no-agenda-our-first-meetup-in-belgrade, https://github.com/twelvedata\n\n## Live (updated 2026-11-04 19:35 UTC)\n\n- Right now: up, HTTP 404, 150 ms, checked 2026-11-04 19:35 UTC (get on `https://api.twelvedata.com`)\n- Uptime 24h 100.0% (43 probes) · 30 days 100.0% (43 probes) · p50 145 ms · p95 219 ms\n- Vendor status page: unknown, no machine-readable status found\n- security.txt: none\n- Always current: https://www.anchorterminal.com/api/v1/live/twelve-data.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Grow, 55 credits a minute | $29 | per month (plan) | individual, internal use, lowest Grow tier |\n| Pro, 610 credits a minute | $99 | per month (plan) | individual, lowest Pro tier |\n| Ultra, 2,584 credits a minute | $329 | per month (plan) | individual, lowest Ultra tier |\n| Venture, 610 credits a minute | $149 | per month (plan) | business, external display |\n| Enterprise, 10,946 credits a minute | $1099 | per month (plan) | business, external distribution, 99.99 per cent SLA |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- OpenAPI 3.1 for 187 operations with eight documented response codes each, plus llms.txt, pricing.md and auth.md for agents\n- Status page with component history, two incidents of 20 and 16 minutes in the 90 days to 3 November 2026\n- Hosted MCP server on OAuth 2.1 with PKCE, resource indicators and token revocation, and 27 read-only tools in the open source\n- Official SDKs for Python, Node.js, Go, Java and R, a CLI, and monthly dated product updates\n- Free Basic plan at 800 credits a day with no card, and plan prices published without login\n\n## Weaknesses\n\n- The REST docs and OpenAPI accept the key as `?apikey=` in the query string alongside the header\n- No parameter in the OpenAPI document declares an enum; interval and type values are listed in Markdown only\n- Free and individual plans are for internal, non-commercial use; any company, team or fund needs a business plan from $149 a month\n- No Retry-After or backoff guidance on the documented 429\n- The open-source MCP repository ships no licence file, and its local HTTP mode serves /mcp with no authentication by default\n\n\n\n## Before you call it (notes for agents)\n\n1. Send the key as `Authorization: apikey \u003ckey\u003e`, not in the URL; the hosted MCP server takes OAuth only, so never paste a key into a connector's key field\n2. 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`\n3. 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\n4. A 403 means the key's plan lacks the endpoint or symbol, not a bad key; check pricing.md before escalating\n5. Use trial symbols from twelvedata.com/exchanges to test premium data on the free plan\n\n## Connect\n\nInstall:\n\n```bash\npip install twelvedata\n```\n\nFirst request:\n\n```bash\ncurl -H \"Authorization: apikey $TWELVE_DATA_API_KEY\" \"https://api.twelvedata.com/time_series?symbol=AAPL\u0026interval=1day\u0026outputsize=30\"\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"twelvedata\": {\n      \"url\": \"https://mcp.twelvedata.com/mcp\"\n    }\n  }\n}\n```\n\nThrough letme: https://letme.dev/twelve-data (letme picks it for market.filings, the top-graded tool for the job, letme picks it for market.fundamentals, the top-graded tool for the job). letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| EODHD | C | 59 | 651 | market.history, market.prices, market.fundamentals, market.filings, market.news, market.indices, market.crypto, data.markets | no | https://www.anchorterminal.com/tools/eodhd.md |\n| Financial Modeling Prep | D | 48.7 | 1056 | market.fundamentals, market.prices, market.history, market.filings, market.news, market.indices, market.crypto, data.markets | no | https://www.anchorterminal.com/tools/financial-modeling-prep.md |\n| Finnhub | E | 45.1 | 1140 | market.prices, market.fundamentals, market.news, market.filings, market.history, market.crypto, market.indices, data.markets | no | https://www.anchorterminal.com/tools/finnhub.md |\n| Financial Datasets | C | 61.8 | 492 | market.fundamentals, market.filings, market.prices, market.history, market.news, market.indices, data.markets | yes | https://www.anchorterminal.com/tools/financial-datasets.md |\n| Intrinio | C | 54.2 | 879 | market.prices, market.fundamentals, market.filings, market.news, market.history, market.indices, data.markets | no | https://www.anchorterminal.com/tools/intrinio.md |\n| Alpha Vantage | E | 41.5 | 1197 | market.prices, market.history, market.fundamentals, market.news, data.markets, market.indices, market.crypto | no | https://www.anchorterminal.com/tools/alpha-vantage.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- A public OpenAPI 3.1 document covers 187 operations, each with a description and documented 200, 400, 401, 403, 404, 414, 429 and 500 responses, and declares the key as a header or query parameter (source: \u003chttps://api.twelvedata.com/doc/swagger/openapi.json\u003e)\n- llms.txt links Markdown docs per section, a pricing.md written for agents, auth.md for the MCP OAuth flow, and the OpenAPI document (source: \u003chttps://twelvedata.com/llms.txt\u003e)\n- The hosted MCP server at https://mcp.twelvedata.com/mcp uses OAuth 2.1 and refuses API keys; the open-source server in twelvedata/mcp (86 stars, last commit 1 October 2026) defines 27 tools with readOnlyHint annotations, 24 for data and 3 for login and usage (source: \u003chttps://github.com/twelvedata/mcp\u003e)\n- The status page at twelvedata.isitup.cloud lists Price API, Fundamentals API, WebSocket and Website with two incidents in the 90 days to 3 November 2026, 20 minutes on 1 September and 16 minutes on 14 October (source: \u003chttps://twelvedata.isitup.cloud\u003e)\n- The terms of 1 January 2026 name Twelve Data Pte. Ltd. of Singapore, limit free and individual plans to internal non-commercial use, require business plans for any company, and sell a 99.9 per cent SLA as an option (source: \u003chttps://twelvedata.com/terms\u003e)\n- A trust centre on SafeBase lists SOC 2, GDPR and CCPA with Microsoft Azure, Stripe and PayPal as subprocessors (source: \u003chttps://security.twelvedata.com/\u003e)\n\n- #2 of 11 in Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md\n- All 55 markets comparisons: https://www.anchorterminal.com/compare/market-data/index.md\n\n## Compare\n\n- [Alpha Vantage vs Twelve Data](https://www.anchorterminal.com/compare/alpha-vantage-vs-twelve-data.md): E 41.5 vs BB 70\n- [Databento vs Twelve Data](https://www.anchorterminal.com/compare/databento-vs-twelve-data.md): C 60.3 vs BB 70\n- [Finnhub vs Twelve Data](https://www.anchorterminal.com/compare/finnhub-vs-twelve-data.md): E 45.1 vs BB 70\n- [Intrinio vs Twelve Data](https://www.anchorterminal.com/compare/intrinio-vs-twelve-data.md): C 54.2 vs BB 70\n- [Massive (formerly Polygon.io) vs Twelve Data](https://www.anchorterminal.com/compare/massive-vs-twelve-data.md): BB 73.1 vs BB 70\n- [Tiingo vs Twelve Data](https://www.anchorterminal.com/compare/tiingo-vs-twelve-data.md): D 46.2 vs BB 70\n- [Financial Datasets vs Twelve Data](https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.md): C 61.8 vs BB 70\n- [Financial Modeling Prep vs Twelve Data](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.md): D 48.7 vs BB 70\n- [EODHD vs Twelve Data](https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.md): C 59 vs BB 70\n- [Benzinga vs Twelve Data](https://www.anchorterminal.com/compare/benzinga-vs-twelve-data.md): D 49.2 vs BB 70\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on twelvedata.com or one of its subdomains, or the README at the root of github.com/twelvedata/mcp. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"twelve-data\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/twelve-data\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/twelve-data.svg\" alt=\"Twelve Data on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Twelve Data on Anchor Terminal](https://www.anchorterminal.com/badges/twelve-data.svg)](https://www.anchorterminal.com/tools/twelve-data)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/twelve-data\"\u003eTwelve Data on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Twelve Data is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/twelve-data-dark.png\n- Light: https://www.anchorterminal.com/assets/share/twelve-data-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Financial market data",
        "url": "https://www.anchorterminal.com/categories/market-data"
      },
      {
        "name": "Twelve Data",
        "url": ""
      }
    ],
    "description": "Twelve Data is a market data API for prices and time series across stocks, ETFs, funds, forex, crypto and commodities, with technical indicators, fundamentals, news and filings. Agents call the REST API, the WebSocket or the hosted MCP server.",
    "facts": [
      "rank #197 of 1349",
      "OAuth or key auth",
      "0 desk reviews"
    ],
    "h1": "Twelve Data",
    "image": "https://www.anchorterminal.com/assets/og/tools-twelve-data.png",
    "path": "/tools/twelve-data",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Twelve Data review (2026): pricing, alternatives and grade BB",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/tools/twelve-data"
  },
  "tokens": {
    "markdown": 8200,
    "slim": 2080
  },
  "version": 1
}
