{
  "data": {
    "category": {
      "area": "domain-data",
      "capabilities": [
        "market.prices",
        "market.fundamentals",
        "market.filings",
        "market.news",
        "market.history",
        "market.crypto",
        "market.indices"
      ],
      "description": "APIs that give prices and time series, company fundamentals and financial statements, filings, earnings, corporate actions and market news, for agents doing company research or running strategies. Compared on asset and exchange coverage, depth of history, delay on live data, licence limits on redistribution and display, and price per call or per month.",
      "json": "https://www.anchorterminal.com/categories/market-data.json",
      "name": "Financial market data",
      "slug": "market-data",
      "test": "In this run, public evidence against the published checklist. When the task suites run, the same ten tickers asked of each listing for a year of daily closes, the last four quarterly statements and the most recent filing, the answers checked against the exchange and the regulator. We check coverage, the delay on a live quote, what a free key allows in a day and what the licence lets an agent keep.",
      "title": "Financial market data APIs for AI agents",
      "toolCount": 11,
      "tools": [
        "massive",
        "twelve-data",
        "financial-datasets",
        "databento",
        "eodhd",
        "intrinio",
        "benzinga",
        "financial-modeling-prep",
        "tiingo",
        "finnhub",
        "alpha-vantage"
      ],
      "url": "https://www.anchorterminal.com/categories/market-data"
    },
    "tools": [
      {
        "slug": "massive",
        "name": "Massive (formerly Polygon.io)",
        "vendor": "Massive",
        "vendorUrl": "https://massive.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "US market data API for stocks, options, indices, forex, crypto and futures, from the consolidated tapes.",
        "url": "https://www.anchorterminal.com/tools/massive",
        "markdownUrl": "https://www.anchorterminal.com/tools/massive.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/massive.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/massive.json",
        "dns": "massive.grade.anchorterminal.com",
        "repo": "https://github.com/massive-com/client-python",
        "license": "MIT (clients)",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.massive.com",
        "packages": [],
        "auth": "api-key",
        "authNotes": "`?apiKey=` or Bearer. x402 payments at agent.massive.com need no key.",
        "pricing": "freemium",
        "pricingNotes": "Free Basic plan at 5 calls a minute with 2 years of end-of-day data. Stocks Starter $29, Developer $79 and Advanced $199 a month for individuals (non-commercial), business plans priced separately (https://massive.com/pricing). Over x402 at agent.massive.com, 24 US stock routes at $0.01 a request in USDC on Base, with the live price in each 402 response (https://agentic.market/services/agent-massive-com).",
        "priceSummary": "$0.01 / call",
        "where": "hosted",
        "x402": {
          "level": "yes",
          "evidence": "x402 on agent.massive.com since 2026-09-01 per the changelog. The docs say each route quotes its live price in the 402 response and only successful requests are charged. Agentic.Market lists 24 GET routes at $0.01 each on Base, US stocks only, covering aggregates, snapshots, indicators, reference data, news and SEC filings (https://massive.com/docs/ai-tools/x402).",
          "endpoints": [
            {
              "url": "https://agent.massive.com/v2/aggs/ticker/{stocksTicker}/range/{multiplier}/{timespan}/{from}/{to}",
              "priceUsd": 0.01,
              "network": "eip155:8453"
            },
            {
              "url": "https://agent.massive.com/v2/snapshot/locale/us/markets/stocks/tickers/{stocksTicker}",
              "priceUsd": 0.01,
              "network": "eip155:8453"
            },
            {
              "url": "https://agent.massive.com/v3/reference/tickers",
              "priceUsd": 0.01,
              "network": "eip155:8453"
            },
            {
              "url": "https://agent.massive.com/v2/reference/news",
              "priceUsd": 0.01,
              "network": "eip155:8453"
            },
            {
              "url": "https://agent.massive.com/stocks/filings/vX/index",
              "priceUsd": 0.01,
              "network": "eip155:8453"
            }
          ]
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 1500,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-26"
        },
        "docsUrl": "https://massive.com/docs",
        "llmsTxt": "https://massive.com/llms.txt",
        "openapi": "https://api.massive.com/openapi",
        "capabilities": [
          "market.prices",
          "market.history",
          "data.markets",
          "market.crypto",
          "market.indices"
        ],
        "tags": [
          "official",
          "hosted",
          "x402",
          "freemium",
          "openapi",
          "llms-txt",
          "mcp"
        ],
        "lastRelease": "2026-10-28",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 73.1,
          "grade": "BB",
          "agentReady": true,
          "rank": 100,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 1,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 78,
            "maintenance": 82,
            "payments": 90,
            "reliability": 78,
            "schema": 89,
            "security": 35,
            "transparency": 67
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-01"
          },
          "negative": 0,
          "verdict": "24 US stock routes over x402 at agent.massive.com, $0.01 each on Base, and only successful requests are charged. The status history lists 14 partial incidents in the 90 days to 1 November, including US equity aggregate bars missing for about 16 hours on 8 and 9 September.",
          "bestFor": "Agents that need US equities, options or futures data with real history, and the only listing here selling US stock data over x402.",
          "strengths": [
            "24 US stock routes over x402 at agent.massive.com, $0.01 each on Base, and only successful requests are charged",
            "OpenAPI document with enums and error responses, plus an llms.txt indexing about 160 endpoint pages",
            "Official clients in Python, JavaScript, Go and the JVM, regenerated from the OpenAPI spec as recently as 27 October 2026",
            "Incidents posted with start and end times on a Statuspage history feed",
            "Six dated changelog entries between 25 August and 28 October 2026"
          ],
          "weaknesses": [
            "14 partial incidents from 3 August to 1 November 2026, mostly stale or missing data on stock aggregates and quotes",
            "x402 covers US stocks only, with no ticks, streaming or other asset classes",
            "The API key is accepted as `?apiKey=` in the query string, the only scheme the OpenAPI file declares",
            "No security.txt, bug bounty or certification found, and the privacy policy dates from March 2024",
            "Individual plans are non-commercial and business terms forbid redistribution"
          ],
          "agentNotes": [
            "Send the key as a Bearer header, not `?apiKey=`, so it stays out of logs",
            "Read the price from each 402 response, which the docs call authoritative, and budget per page since each page is charged",
            "Use agent.massive.com only for US stocks. Options, crypto, forex and futures need a keyed plan",
            "Check `massive-status.com` when aggregates look stale, since several incidents since August were bars that stopped updating or went missing",
            "Don't republish prices fetched on an individual plan"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3.5,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "BB",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 73.1
            }
          ],
          "editorialScores": {
            "ergonomics": 78,
            "maintenance": 82,
            "payments": 90,
            "reliability": 78,
            "schema": 89,
            "security": 35,
            "transparency": 45
          },
          "provenanceScore": 88,
          "dataQualityScore": 87,
          "checked": {
            "categories": {
              "ergonomics": "2026-11-01",
              "maintenance": "2026-11-01",
              "payments": "2026-11-01",
              "reliability": "2026-11-01",
              "schema": "2026-11-01",
              "security": "2026-11-01",
              "transparency": "2026-11-01"
            },
            "last": "2026-11-01",
            "lastMoved": "2026-11-01",
            "oldest": "2026-11-01",
            "stale": false,
            "staleAfterDays": 90
          }
        },
        "connect": {
          "http": "curl -H \"Authorization: Bearer $MASSIVE_API_KEY\" \"https://api.massive.com/v2/aggs/ticker/AAPL/prev\"",
          "claudeCode": "claude mcp add --transport http massive https://mcp.massive.com/"
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/massive"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Stocks Starter",
            "unit": "month",
            "usd": 29,
            "note": "individual, non-commercial"
          },
          {
            "item": "Stocks Developer",
            "unit": "month",
            "usd": 79,
            "note": "individual, non-commercial"
          },
          {
            "item": "Stocks Advanced",
            "unit": "month",
            "usd": 199,
            "note": "individual, non-commercial"
          }
        ],
        "provenance": {
          "legalEntity": "Massive.com, Inc.",
          "domain": "massive.com",
          "domainRegistered": "1995-02-13",
          "domainNote": "massive.com was registered in 1995, decades before the rename.",
          "endpointOnVendorDomain": true,
          "terms": "https://massive.com/legal/businesses-terms-of-service",
          "privacy": "https://massive.com/legal/privacy",
          "statusPage": "https://massive-status.com",
          "changelog": "https://massive.com/changelog",
          "securityTxt": "none",
          "checked": "2026-11-01",
          "score": 88
        },
        "dataQuality": {
          "coverage": "All 19 US stock exchanges plus dark pools, and options, indices, forex, crypto and futures",
          "coverageRating": 5,
          "freshness": "Real time, 15-minute delayed or end of day by plan",
          "freshnessClass": "realtime",
          "history": "2 to 20+ years by plan",
          "historyYears": 20,
          "methodology": "https://massive.com/docs/rest/stocks/overview",
          "sourcesDisclosed": true,
          "licence": "Proprietary, with published terms for individuals and businesses",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "Business terms forbid redistributing, sublicensing or selling the data, and require deletion on termination. Individual plans are non-commercial.",
          "score": 87,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/massive.json",
        "live": {
          "slug": "massive",
          "probe": {
            "target": "https://api.massive.com",
            "method": "get",
            "lastAt": "2026-11-04T19:03:55.625882755Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 246,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 99.98,
            "p50ms24h": 264,
            "p95ms24h": 358,
            "samples24h": 247,
            "samples30d": 8064,
            "days": [
              {
                "date": "2026-10-04",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-05",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-06",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-07",
                "probes": 272,
                "ok": 272
              },
              {
                "date": "2026-10-08",
                "probes": 268,
                "ok": 268
              },
              {
                "date": "2026-10-09",
                "probes": 250,
                "ok": 250
              },
              {
                "date": "2026-10-10",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-11",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-12",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-13",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-14",
                "probes": 249,
                "ok": 248
              },
              {
                "date": "2026-10-15",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-16",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-17",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-18",
                "probes": 256,
                "ok": 256
              },
              {
                "date": "2026-10-19",
                "probes": 255,
                "ok": 255
              },
              {
                "date": "2026-10-20",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-21",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-22",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-23",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-24",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-10-25",
                "probes": 250,
                "ok": 250
              },
              {
                "date": "2026-10-26",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-27",
                "probes": 249,
                "ok": 249
              },
              {
                "date": "2026-10-28",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-10-29",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-30",
                "probes": 249,
                "ok": 248
              },
              {
                "date": "2026-10-31",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-11-01",
                "probes": 249,
                "ok": 249
              },
              {
                "date": "2026-11-02",
                "probes": 250,
                "ok": 250
              },
              {
                "date": "2026-11-03",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-11-04",
                "probes": 197,
                "ok": 197
              }
            ]
          },
          "vendorStatus": {
            "page": "https://massive-status.com",
            "indicator": "minor",
            "summary": "Partially Degraded Service",
            "checkedAt": "2026-11-04T18:57:15.045919887Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "massive-com/client-python",
              "version": "v2.9.1",
              "released": "2026-10-26",
              "seenAt": "2026-11-03T20:38:07.628511208Z"
            }
          ],
          "githubStars": 1523,
          "securityTxt": {
            "url": "https://massive.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:52:42.899942093Z"
          },
          "llmsTxt": {
            "url": "https://massive.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-11-04T15:23:22.551811497Z"
          },
          "domain": {
            "domain": "massive.com",
            "registered": "1995-02-13",
            "source": "https://rdap.verisign.com/com/v1/domain/massive.com",
            "checkedAt": "2026-11-01T14:07:32.013168238Z"
          },
          "pages": [
            {
              "url": "https://massive.com/changelog",
              "kind": "deprecations",
              "status": 200,
              "checkedAt": "2026-11-04T08:27:39.330534708Z",
              "changedAt": "2026-10-31T06:16:01.564939681Z",
              "fingerprint": "0cd6bc9476ca"
            },
            {
              "url": "https://massive.com/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-11-04T08:27:45.659813839Z",
              "changedAt": "2026-10-31T06:16:08.173405264Z",
              "fingerprint": "c06a4148bf72"
            },
            {
              "url": "https://massive.com/legal/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-11-04T08:27:43.705812993Z",
              "changedAt": "2026-10-31T06:16:05.957773097Z",
              "fingerprint": "1c9024302c92"
            },
            {
              "url": "https://massive.com/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-01T13:14:17.398766419Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "469364c15f7e"
            },
            {
              "url": "https://massive.com/legal/businesses-terms-of-service",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-11-04T08:27:41.718942017Z",
              "changedAt": "2026-10-31T06:16:03.806023028Z",
              "fingerprint": "f4ec38dadfe4"
            }
          ],
          "github": {
            "repo": "massive-com/client-python",
            "checkedAt": "2026-11-02T09:03:56.959547185Z",
            "stars": 1523,
            "archived": false,
            "issuesEnabled": true,
            "pushedAt": "2026-10-26T16:33:41Z",
            "openIssues": 13,
            "openPRs": 8,
            "issuesOpened90d": 4,
            "issuesClosed90d": 3,
            "prsMerged90d": 14,
            "ci": {
              "branch": "master",
              "runs": 50,
              "success": 48,
              "failure": 2,
              "other": 0,
              "latest": "success",
              "latestAt": "2026-10-26T04:23:15Z"
            },
            "replies": {
              "sampled": 25,
              "unanswered": 7,
              "medianDays": 1.1
            }
          },
          "updatedAt": "2026-11-04T19:03:55.625882755Z"
        }
      },
      {
        "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"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "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
          }
        },
        "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"
        },
        "area": "domain-data",
        "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
        },
        "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:04:17.433322949Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 130,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 142,
            "p95ms24h": 219,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "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:04:17.433322949Z"
        }
      },
      {
        "slug": "financial-datasets",
        "name": "Financial Datasets",
        "vendor": "Financial Datasets, Inc.",
        "vendorUrl": "https://www.financialdatasets.ai",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Financial Datasets is a stock market data API built for AI agents, with financial statements, SEC filings, earnings, insider and institutional holdings, prices, news and macro series for 27,000 US tickers, through REST, x402 and a hosted MCP server.",
        "url": "https://www.anchorterminal.com/tools/financial-datasets",
        "markdownUrl": "https://www.anchorterminal.com/tools/financial-datasets.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/financial-datasets.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/financial-datasets.json",
        "dns": "financial-datasets.grade.anchorterminal.com",
        "repo": "https://github.com/financial-datasets",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api.financialdatasets.ai",
        "packages": [
          {
            "registry": "pypi",
            "name": "financial-datasets"
          }
        ],
        "auth": "mixed",
        "authNotes": "API key in the `X-API-KEY` header, minted in the dashboard or by `POST /agent/signup` with an email and agent name, shown once. Any documented GET data endpoint also accepts x402 payment with no key. The hosted MCP server uses OAuth 2 with PKCE, dynamic client registration, a revocation endpoint and one scope, `stock-market-data`, or an `X-API-KEY` header on its /api endpoint. Keys are revoked from the dashboard; no rotation or expiry documented.",
        "pricing": "usage",
        "pricingNotes": "Credits at $20 for 1,000 requests, one-off, personal licence, one year of price history. Personal $200 a month for 100,000 requests (overage $10 per 1,000, cap 1 million). Professional $2,000 a month for 2 million requests (overage $5 per 1,000, cap 10 million) with a commercial licence, redistribution, webhooks and uptime SLAs. Enterprise by contact. Premium endpoints count as 2, 4 or 8 requests by plan. Over x402, each GET data endpoint quotes its own USDC price in the 402 response; /earnings quoted $0.02 on 3 November 2026. No free tier found.",
        "priceSummary": "$0.02 / call",
        "where": "hosted",
        "x402": {
          "level": "yes",
          "evidence": "Announced 23 October 2026. Every documented GET data endpoint (36 per the announcement) returns 402 with x402 version 2 terms in the PAYMENT-REQUIRED header, scheme exact, USDC on Base (eip155:8453), payTo 0xC45E70793C01C6Ae4336dd5a5503baC958d32403, 300-second timeout. Error responses are not charged, payment settles only after a successful response, history is limited to the last 365 days and the licence is Non-Professional. Our unauthenticated GET /earnings?ticker=NVDA on 3 November 2026 returned 402 with amount 20000 base units, $0.02 (https://docs.financialdatasets.ai/x402.md).",
          "endpoints": [
            {
              "url": "https://api.financialdatasets.ai/earnings",
              "priceUsd": 0.02,
              "network": "eip155:8453"
            }
          ]
        },
        "toolCount": 28,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://docs.financialdatasets.ai/",
        "llmsTxt": "https://docs.financialdatasets.ai/llms.txt",
        "openapi": "https://www.financialdatasets.ai/openapi.json",
        "capabilities": [
          "market.fundamentals",
          "market.filings",
          "market.prices",
          "market.history",
          "market.news",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "tags": [
          "official",
          "hosted",
          "x402",
          "usage",
          "prepaid",
          "openapi",
          "llms-txt",
          "mcp",
          "remote-mcp",
          "oauth",
          "webhooks",
          "no-status-page",
          "closed-source"
        ],
        "lastRelease": "2026-10-26",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 61.8,
          "grade": "C",
          "agentReady": false,
          "rank": 492,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 3,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 73,
            "maintenance": 56,
            "payments": 75,
            "reliability": 43,
            "schema": 80,
            "security": 49,
            "transparency": 63
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "Every documented GET data endpoint takes x402 with no key, failed calls uncharged, and an agent can open and fund an account by API. A public OpenAPI file, llms.txt and a 28-tool OAuth MCP server cover the same data. There is no status page or free tier, keyed rate limits aren't published, and x402 data stops at 365 days.",
          "bestFor": "An agent doing US company research from SEC-sourced statements, filings, insider and institutional data that wants to pay per call with no account, or a small team on credits.",
          "strengths": [
            "x402 on every documented GET data endpoint (36), USDC on Base, no key or account, error responses not charged, with the price in each 402 response ($0.02 on /earnings on 3 November 2026)",
            "OpenAPI 3.0.1 with 68 operations and a description on each, llms.txt, and a Markdown twin of every docs page",
            "`POST /agent/signup` and `POST /agent/checkout-link` let an agent open and fund an account with the owner paying a Stripe link, minimum $20",
            "Hosted MCP server with 28 tools, OAuth 2 PKCE and dynamic client registration, or an X-API-KEY header on /api",
            "Privacy policy with retention periods and a dated subprocessor list, and terms that say inputs aren't used for training"
          ],
          "weaknesses": [
            "No status page, incident history or published uptime; the Professional plan's SLA terms aren't public",
            "No free tier. The cheapest route with a key is $20 for 1,000 credits, and data calls return 402 until an account is funded",
            "Rate limits for keyed plans aren't published; only x402 states 10,000 requests a minute per wallet",
            "x402 requests return only the last 365 days and are licensed for Non-Professional use; Credits and Personal plans carry the same limit",
            "No API version or changelog; the news page carries four posts in 2026, and the Python package on PyPI dates from May 2024"
          ],
          "agentNotes": [
            "Without a key, read the price from the PAYMENT-REQUIRED header of the 402 and pay with x402 on Base; each page of `next_page_url` is a separate paid request",
            "Keep `limit` small and ask for one `period` at a time; premium endpoints count as 2, 4 or 8 requests on keyed plans",
            "Send the key only to api.financialdatasets.ai in the `X-API-KEY` header; on 401 ask the owner for a new key rather than signing up again",
            "Treat a 402 on a keyed account as an empty balance and mint a checkout link for the owner; don't retry the call",
            "Check the plan's licence before showing the data to anyone else; redistribution needs Professional or Enterprise"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 61.8
            }
          ],
          "editorialScores": {
            "ergonomics": 73,
            "maintenance": 56,
            "payments": 75,
            "reliability": 43,
            "schema": 80,
            "security": 49,
            "transparency": 60
          },
          "provenanceScore": 65,
          "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
          }
        },
        "connect": {
          "install": "pip install financial-datasets",
          "http": "curl -H \"X-API-KEY: $FINANCIAL_DATASETS_KEY\" \"https://api.financialdatasets.ai/financials/income-statements?ticker=AAPL\u0026period=annual\u0026limit=4\"",
          "claudeCode": "claude mcp add --transport http financial-datasets https://mcp.financialdatasets.ai/",
          "config": {
            "mcpServers": {
              "financial-datasets": {
                "url": "https://mcp.financialdatasets.ai/"
              }
            }
          },
          "x402": "curl -i \"https://api.financialdatasets.ai/earnings?ticker=NVDA\u0026limit=4\""
        },
        "letme": {
          "capability": "https://letme.dev/market.fundamentals",
          "tool": "https://letme.dev/financial-datasets"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Earnings, over x402",
            "unit": "call",
            "usd": 0.02,
            "note": "read from the 402 response on 3 November 2026; other endpoints quote their own price"
          },
          {
            "item": "Credits pack",
            "unit": "1k-requests",
            "usd": 20,
            "note": "one-off, personal licence, one year of price history"
          },
          {
            "item": "Personal plan",
            "unit": "month",
            "usd": 200,
            "note": "100,000 requests, overage $10 per 1,000"
          },
          {
            "item": "Professional plan",
            "unit": "month",
            "usd": 2000,
            "note": "2 million requests, overage $5 per 1,000, commercial licence"
          }
        ],
        "provenance": {
          "legalEntity": "Financial Datasets, Inc.",
          "domain": "financialdatasets.ai",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.financialdatasets.ai/terms-of-use",
          "privacy": "https://www.financialdatasets.ai/privacy-policy",
          "statusPage": "",
          "changelog": "https://www.financialdatasets.ai/news",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "Financial Datasets, Inc. is named in the terms (as of 29 October 2026, New York law), the privacy policy (last updated 20 August 2026) and the subprocessor list (29 October 2026).",
            "Terms section 5 forbids accessing the Services by automated means outside the documented API; the public website has no separate automated-access clause. robots.txt on www.financialdatasets.ai allows all crawlers and names ClaudeBot, Claude-User and Claude-SearchBot as allowed; docs.financialdatasets.ai, api.financialdatasets.ai and mcp.financialdatasets.ai carry Content-Signal ai-train=yes, search=yes, ai-input=yes.",
            "The docs, llms.txt and the 402 response carry instructions addressed to agents; none were acted on.",
            "RDAP for financialdatasets.ai was refused (403 from rdap.org), so the registration date is unchecked.",
            "/.well-known/security.txt returns 404. No status page found. The news page is the nearest thing to a changelog."
          ],
          "score": 65
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/financial-datasets.json",
        "live": {
          "slug": "financial-datasets",
          "probe": {
            "target": "https://api.financialdatasets.ai",
            "method": "get",
            "lastAt": "2026-11-04T19:03:45.727401306Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 155,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 301,
            "p95ms24h": 2436,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "securityTxt": {
            "url": "https://financialdatasets.ai/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:52:54.466191501Z"
          },
          "updatedAt": "2026-11-04T19:03:45.727401306Z"
        }
      },
      {
        "slug": "databento",
        "name": "Databento",
        "vendor": "Databento, Inc.",
        "vendorUrl": "https://databento.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Databento is a market data platform with historical and live tick, order book and bar data for US and European equities, futures, options and indices, through HTTP and streaming APIs with Python, C++ and Rust clients.",
        "url": "https://www.anchorterminal.com/tools/databento",
        "markdownUrl": "https://www.anchorterminal.com/tools/databento.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/databento.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/databento.json",
        "dns": "databento.grade.anchorterminal.com",
        "repo": "https://github.com/databento/databento-python",
        "license": "Apache-2.0 (clients)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://hist.databento.com",
        "packages": [
          {
            "registry": "pypi",
            "name": "databento"
          }
        ],
        "auth": "api-key",
        "authNotes": "API key (32 characters starting `db-`) created in the portal, up to 100 per account with unique names, rotated or deleted from the portal, and sent as the username in HTTP Basic auth (`-u $KEY:`). Team members can be given per-member permissions. The vendor revokes keys it finds published. No query-string option.",
        "pricing": "usage",
        "pricingNotes": "Historical data is metered per GB of uncompressed binary data at rates per dataset in the portal catalogue, with no subscription; batch jobs are billed once and streams per byte sent. New users get $125 of credits valid six months, one set per team, for historical data or the first month of a plan. Live data needs a plan, Standard at $199 a month (no licence fees), Plus $1,750 and Unlimited $4,500 a month in licence fees on annual contracts by sales. Metadata, symbology and account calls are free.",
        "priceSummary": "$199 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the docs, llms.txt, pricing page or release notes (checked 2026-11-03).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 309,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://databento.com/docs/",
        "llmsTxt": "https://databento.com/docs/llms.txt",
        "capabilities": [
          "market.prices",
          "market.history",
          "market.indices",
          "data.markets"
        ],
        "tags": [
          "official",
          "hosted",
          "usage",
          "usage-priced",
          "free-tier",
          "llms-txt",
          "status-page",
          "pre-1.0",
          "python",
          "rust",
          "closed-source"
        ],
        "lastRelease": "2026-10-28",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 60.3,
          "grade": "C",
          "agentReady": false,
          "rank": 578,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 4,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 80,
            "maintenance": 84,
            "payments": 22,
            "reliability": 50,
            "schema": 75,
            "security": 61,
            "transparency": 49
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "Exchange-level tick and order book data metered per GB, with published per-IP rate limits, Retry-After on 429, dated release notes and clients in three languages. The HTTP API is still at major version 0, the status page lists two critical and several major incidents in 90 days, there is no OpenAPI document, and the legal pages were unreadable.",
          "bestFor": "An agent that needs exchange-level trades, quotes, order book and bar data for US and European futures, options and equities, or corporate actions and a security master, and can budget per GB.",
          "strengths": [
            "Per-IP rate limits published with numbers, 429 with Retry-After, and a documented error format with a code, a message and a docs link",
            "`metadata.get_cost` quotes a request before it is billed, batch jobs are billed once with 30 days of re-download, and a monthly historical spending limit can be set in the portal",
            "Dated release notes per component with breaking changes and deprecations called out, and Python 0.85.0 to 0.89.0 released between 25 August and 28 October 2026",
            "Up to 100 named API keys per account with rotation, per-member permissions, and keys found in public revoked by the vendor",
            "$125 of credits at signup and metered historical pricing with no subscription; metadata and symbology calls are free"
          ],
          "weaknesses": [
            "Two critical and several major incidents on the status page in the 90 days to 3 November 2026, mostly Historical API outages and batch job delays",
            "The HTTP API is at major version 0 and the docs say it is not considered stable",
            "No OpenAPI document; per-GB rates sit in the portal catalogue behind a login, and the pricing page shows plans only",
            "The terms and privacy policy are drawn by script and could not be read, and no security.txt, SOC 2 or ISO 27001 was found",
            "Live data and the Plus and Unlimited plans need a subscription on an annual contract by sales, and signup is in a browser"
          ],
          "agentNotes": [
            "Call `metadata.get_cost` before `timeseries.get_range`, and set a monthly historical limit in the portal; a duplicate streaming request is charged twice",
            "Send the key as the Basic auth username (`-u $DATABENTO_API_KEY:`) to hist.databento.com/v0; never put it in the URL or source code",
            "On 429 wait for the Retry-After header; keep under 100 time series requests a second and 20 batch submissions a minute per IP",
            "Check status.databento.com before retrying a slow or 504 Historical request, since several incidents since August were API outages or batch delays",
            "Use batch download for requests over 5 GB, split by time range or `limit`, and read `schema` and `stype_in` from the dataset page before querying"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 60.3
            }
          ],
          "editorialScores": {
            "ergonomics": 80,
            "maintenance": 84,
            "payments": 22,
            "reliability": 50,
            "schema": 75,
            "security": 61,
            "transparency": 28
          },
          "provenanceScore": 70,
          "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
          }
        },
        "connect": {
          "install": "pip install databento",
          "http": "curl -G 'https://hist.databento.com/v0/metadata.list_datasets' -u $DATABENTO_API_KEY:"
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/databento"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Standard plan",
            "unit": "month",
            "usd": 199,
            "note": "live data, no licence fees, monthly"
          },
          {
            "item": "Plus plan licence fees",
            "unit": "month",
            "usd": 1750,
            "note": "annual contract, by sales"
          },
          {
            "item": "Unlimited plan licence fees",
            "unit": "month",
            "usd": 4500,
            "note": "annual contract, by sales"
          }
        ],
        "provenance": {
          "legalEntity": "Databento, Inc.",
          "domain": "databento.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://databento.com/legal/terms",
          "privacy": "https://databento.com/legal/privacy",
          "statusPage": "https://status.databento.com",
          "changelog": "https://databento.com/docs/release-notes",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "Databento, Inc. is named in the about page footer and as the GitHub organisation's name. The legal pages at databento.com/legal, /legal/terms and /legal/privacy answer 200 with a script shell and no text, so the terms, privacy policy, legal entity details and any automated-access clause are unread.",
            "databento.com/robots.txt disallows only /portal for all crawlers. status.databento.com and roadmap.databento.com allow reading.",
            "RDAP for databento.com was refused (403 from rdap.org), so the registration date is unchecked.",
            "/.well-known/security.txt returns 404.",
            "The status page is an Atlassian Statuspage at status.databento.com with Portal, Historical, FTP and seven live-feed components."
          ],
          "score": 70
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/databento.json",
        "live": {
          "slug": "databento",
          "probe": {
            "target": "https://hist.databento.com",
            "method": "get",
            "lastAt": "2026-11-04T19:03:41.819455679Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 355,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 355,
            "p95ms24h": 2291,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.databento.com",
            "indicator": "minor",
            "summary": "Minor Service Outage",
            "checkedAt": "2026-11-04T18:56:57.503957428Z"
          },
          "securityTxt": {
            "url": "https://databento.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:54:13.184390241Z"
          },
          "updatedAt": "2026-11-04T19:03:41.819455679Z"
        }
      },
      {
        "slug": "eodhd",
        "name": "EODHD",
        "vendor": "Unicorn Data Services",
        "vendorUrl": "https://eodhd.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "EODHD (EOD Historical Data) is a market data API from Unicorn Data Services for end-of-day and intraday prices, fundamentals, dividends and splits, filings, news, options and macro series on 60 exchanges, over REST and a hosted MCP server.",
        "url": "https://www.anchorterminal.com/tools/eodhd",
        "markdownUrl": "https://www.anchorterminal.com/tools/eodhd.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/eodhd.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/eodhd.json",
        "dns": "eodhd.grade.anchorterminal.com",
        "repo": "https://github.com/EodHistoricalData/EODHD-MCP-Server",
        "transports": [
          "http",
          "streamable-http",
          "sse",
          "stdio",
          "websocket"
        ],
        "remoteUrl": "https://eodhd.com/api",
        "packages": [
          {
            "registry": "pypi",
            "name": "eodhd"
          },
          {
            "registry": "npm",
            "name": "eodhd"
          }
        ],
        "auth": "mixed",
        "authNotes": "One API token per account from the dashboard after a browser signup, sent as `api_token=` in the query string (the form every docs page shows) or, per llms.txt, as an `Authorization: Bearer` header. A `demo` token reaches a short list of symbols. The hosted MCP server has two editions, v1 at mcp.eodhd.com/v1/mcp with the key in the URL and v2 at mcp.eodhd.com/v2/mcp with a built-in OAuth 2.1 server and one scope, `full-access`. No key scopes, expiry or rotation guidance found.",
        "pricing": "freemium",
        "pricingNotes": "Free plan at 20 API calls a day with one year of end-of-day history and 15 to 20 minute delayed quotes, no card. Personal plans $19.99 (end of day, All World), $29.99 (adds intraday, indicators, screener, WebSocket), $59.99 (fundamentals) and $99.99 a month (All-In-One), each 100,000 calls a day and 1,000 requests a minute, about a sixth less billed annually. Calls are weighted, 1 for end of day and live, 5 for intraday and news, 10 for fundamentals, 100 and more for bulk. Commercial plans $399 and $2,499 a month; marketplace add-ons from $9.99 a month (https://eodhd.com/pricing, checked 2026-11-03).",
        "priceSummary": "$19.99 / mo",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in llms.txt, the OpenAPI repository, the pricing pages, the limits article or the MCP server source (checked 2026-11-03). A call without a token returns HTTP 401 with the plain text `Unauthenticated`; an exhausted daily allowance returns 402 with a support message.",
          "endpoints": []
        },
        "toolCount": 88,
        "popularity": {
          "githubStars": 24,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://eodhd.com/financial-apis/",
        "llmsTxt": "https://eodhd.com/llms.txt",
        "openapi": "https://github.com/EodHistoricalData/EODHD-openapi",
        "capabilities": [
          "market.history",
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.indices",
          "market.crypto",
          "data.markets",
          "data.company"
        ],
        "tags": [
          "hosted",
          "freemium",
          "api-key",
          "oauth",
          "mcp",
          "remote-mcp",
          "openapi",
          "llms-txt",
          "no-card",
          "free-tier",
          "closed-source",
          "python",
          "typescript",
          "stocks",
          "forex",
          "crypto",
          "streaming",
          "eu",
          "personal-use"
        ],
        "lastRelease": "2026-10-15",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 59,
          "grade": "C",
          "agentReady": false,
          "rank": 651,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 5,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 76,
            "maintenance": 82,
            "payments": 30,
            "reliability": 65,
            "schema": 70,
            "security": 39,
            "transparency": 52
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "Limits, call weights, rate-limit headers, 429 with Retry-After and 402 on an exhausted allowance are documented, with an OpenAPI document and an open-source MCP server of 88 read-only tools. The token is documented in the query string, the MCP v1 address embeds it, the status page could not be read, and the terms carry no date, SLA or governing law.",
          "bestFor": "Agents that need long end-of-day history, dividends and splits and fundamentals across 60 exchanges at a low monthly price, with weighted calls to budget.",
          "strengths": [
            "Rate limits, per-endpoint call weights, `X-RateLimit` headers, 429 with Retry-After and a 402 for the daily allowance are documented in one article updated 16 September 2026",
            "OpenAPI 3.1 for 74 endpoints and an MIT MCP server with 88 annotated tools, prompts and documentation resources, both open source",
            "llms.txt of 32 KB with authentication, symbol formats, limits, error codes, plans and the MCP addresses",
            "Free plan at 20 calls a day with no card, and personal plan prices from $19.99 a month published without login",
            "Official Python and Node.js libraries, with R, C#, PHP and other clients in the GitHub organisation"
          ],
          "weaknesses": [
            "Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries it in the URL",
            "The status page's figures did not load for our reader, and the terms promise only commercially reasonable efforts with no SLA",
            "Failed lookups such as a 404 for an unknown ticker still spend calls, and fundamentals cost 10 calls each",
            "Terms and privacy policy carry no date, no governing law, no retention periods and no subprocessor list beyond Google",
            "The vendor's MCP page says 72 tools while the source registers 88, and the hosted editions' telemetry settings are not published"
          ],
          "agentNotes": [
            "Send the token as `Authorization: Bearer`, which llms.txt allows, rather than `api_token=` in the URL, and prefer the v2 OAuth MCP address over v1",
            "Budget calls, not requests; fundamentals cost 10, intraday and news 5, bulk 100 or more, and a 404 for a bad ticker is still charged, so resolve tickers with the search endpoint first",
            "Read `X-RateLimit-Remaining` and honour Retry-After on 429; a 402 means the daily allowance is gone until midnight GMT and no retry will help",
            "Use `{TICKER}.{EXCHANGE}` symbols in upper case, such as AAPL.US or EURUSD.FOREX, and `BTC-USD.CC` for crypto",
            "Expect 20 calls a day and one year of history on the free plan; a 403 means the plan lacks the endpoint, not a bad key"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 59
            }
          ],
          "editorialScores": {
            "ergonomics": 76,
            "maintenance": 82,
            "payments": 30,
            "reliability": 65,
            "schema": 70,
            "security": 39,
            "transparency": 30
          },
          "provenanceScore": 74,
          "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
          }
        },
        "connect": {
          "install": "pip install eodhd",
          "http": "curl -H \"Authorization: Bearer $EODHD_API_TOKEN\" \"https://eodhd.com/api/eod/AAPL.US?fmt=json\u0026from=2025-11-03\"",
          "config": {
            "mcpServers": {
              "eodhd": {
                "url": "https://mcp.eodhd.com/v2/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/market.history",
          "tool": "https://letme.dev/eodhd"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "All World, end of day",
            "unit": "month",
            "usd": 19.99,
            "note": "personal use, 100,000 calls a day, $199 a year"
          },
          {
            "item": "All World Extended, with intraday",
            "unit": "month",
            "usd": 29.99,
            "note": "personal use, $299.90 a year"
          },
          {
            "item": "Fundamentals Data Feed",
            "unit": "month",
            "usd": 59.99,
            "note": "personal use, $599.90 a year"
          },
          {
            "item": "All-In-One",
            "unit": "month",
            "usd": 99.99,
            "note": "personal use, $999.90 a year"
          },
          {
            "item": "Commercial internal use",
            "unit": "month",
            "usd": 399,
            "note": "one seat, 100,000 calls a day, $3,990 a year"
          },
          {
            "item": "Commercial enterprise",
            "unit": "month",
            "usd": 2499,
            "note": "five seats, unlimited calls, $24,990 a year"
          }
        ],
        "provenance": {
          "legalEntity": "Unicorn Data Services",
          "domain": "eodhd.com",
          "domainRegistered": "2021-11-11",
          "endpointOnVendorDomain": true,
          "terms": "https://eodhd.com/financial-apis/terms-conditions",
          "privacy": "https://eodhd.com/financial-apis/privacy-policy",
          "statusPage": "https://uptime.eodhistoricaldata.com/",
          "changelog": "https://eodhd.com/blog/",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "Unicorn Data Services, 835 149 998 R.C.S. Lyon, is named in the footer of every page, on the about page and in the terms, with the Lyon address. The terms carry no date and no governing law clause.",
            "The terms contain no clause on automated access to the website; they forbid sharing account access and redistributing data on non-professional plans. The privacy policy is undated and names Google as the only third party.",
            "eodhd.com/robots.txt disallows /api/ (the API itself), /login, /register and a promotional path; the docs, pricing, legal and blog pages are allowed.",
            "RDAP gives eodhd.com a registration date of 11 November 2021 at GoDaddy; the company traded as eodhistoricaldata.com from 2017 and that domain still answers the API.",
            "/.well-known/security.txt and /security.txt return 404 on eodhd.com.",
            "The status page at uptime.eodhistoricaldata.com is an UptimeRobot page announced on the blog on 27 March 2020; it is not linked from the pages we read and its data did not load for our reader. status.eodhd.com has no DNS record.",
            "No changelog page was found; the blog announces new APIs with dates and the MCP server's commit history is dated."
          ],
          "score": 74
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/eodhd.json",
        "live": {
          "slug": "eodhd",
          "probe": {
            "target": "https://eodhd.com/api",
            "method": "get",
            "lastAt": "2026-11-04T19:03:44.272116515Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 493,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 511,
            "p95ms24h": 943,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://uptime.eodhistoricaldata.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-11-04T15:31:54.564968713Z"
          },
          "securityTxt": {
            "url": "https://eodhd.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:54:36.573658014Z"
          },
          "updatedAt": "2026-11-04T19:03:44.272116515Z"
        }
      },
      {
        "slug": "intrinio",
        "name": "Intrinio",
        "vendor": "Intrinio, Inc.",
        "vendorUrl": "https://intrinio.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Intrinio is a US financial data API from Intrinio, Inc. with stock prices, options, fundamentals, filings, estimates and news for US securities, through a REST API, websockets, SDKs in six languages and a hosted MCP server.",
        "url": "https://www.anchorterminal.com/tools/intrinio",
        "markdownUrl": "https://www.anchorterminal.com/tools/intrinio.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/intrinio.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/intrinio.json",
        "dns": "intrinio.grade.anchorterminal.com",
        "repo": "https://github.com/intrinio/python-sdk",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://api-v2.intrinio.com",
        "packages": [
          {
            "registry": "pypi",
            "name": "intrinio-sdk"
          }
        ],
        "auth": "api-key",
        "authNotes": "API key from the account page, sent as `api_key` in the query string or as `Authorization: Bearer`. Separate public keys for client-side code are restricted to listed domains and sent as `X-Authorization-Public-Key`. The hosted MCP server at intrinio-mcp.intrinio.com uses OAuth 2 with PKCE (S256), dynamic client registration, a revocation endpoint and one scope, `intrinio`. No key rotation or expiry documented.",
        "pricing": "paid",
        "pricingNotes": "Individual plan $150 a month, personal use only, no redistribution or display. Startup plan from $333 a month billed quarterly, rising to $666 after six months and $999 after twelve, with commercial use and display rights. Enterprise from $1,250 a month with an SLA, by consultation. Both self-serve plans say a free trial is available; the trial length and whether a card is needed were not found. The MCP server is included with all plans.",
        "priceSummary": "$150 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the API documentation, pricing page, MCP page or terms (checked 2026-11-03).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 76,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://docs.intrinio.com/documentation/api_v2/getting_started",
        "capabilities": [
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.history",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "tags": [
          "official",
          "hosted",
          "paid",
          "free-trial",
          "mcp",
          "remote-mcp",
          "oauth",
          "status-page",
          "python",
          "closed-source"
        ],
        "lastRelease": "2026-05-27",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 54.2,
          "grade": "C",
          "agentReady": false,
          "rank": 879,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 6,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 70,
            "maintenance": 70,
            "payments": 20,
            "reliability": 83,
            "schema": 43,
            "security": 35,
            "transparency": 51
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "A read-only US equities, options and fundamentals API with a clean status history, SDKs in six languages, paging up to 10,000 records and an OAuth MCP server included in every plan. The REST key is documented in the query string, no OpenAPI document or llms.txt was found, the version history is undated, and plans start at $150 a month.",
          "bestFor": "An agent doing US equity, options and fundamentals research on a paid plan that wants one vendor for prices, filings, estimates and an OAuth MCP server.",
          "strengths": [
            "Statuspage at status.intrinio.com with no incident since 24 June 2026",
            "Hosted MCP server with OAuth 2 PKCE, dynamic client registration and a revocation endpoint, described as read-only and included with all plans",
            "Paging up to 10,000 records a page with a `next_page` token, and SDKs for Python, C#, Java, JavaScript, R and Ruby",
            "Plan prices published without a login, from $150 a month, with a free trial on the Individual and Startup plans",
            "Response codes documented, with 429 for limits and 503 for throttling or the 25-second timeout"
          ],
          "weaknesses": [
            "The API key is documented as `api_key` in the query string as the first option, with no scopes, rotation or expiry found",
            "No OpenAPI document, llms.txt or Markdown docs for agents were found; the SDKs are generated from a spec that isn't published",
            "The version history lists API 2.0.0 to 2.6.2 with no dates, and the SDK declares API version 2.135.4",
            "No security.txt, bug bounty, SOC 2 or ISO 27001 was found, and the privacy policy of 30 June 2018 names no retention periods or subprocessors",
            "Individual plans are personal use only, and display or redistribution needs a Startup or Enterprise order form"
          ],
          "agentNotes": [
            "Send the key as `Authorization: Bearer`, not `?api_key=`, so it stays out of logs",
            "Expect 403 for a data feed the account isn't subscribed to, 429 with an explanation when a limit is hit, and 503 when a request passes 25 seconds; shrink the query rather than retry at once",
            "Keep `page_size` at 100 or below unless the plan is paid, since larger pages are limited to one request a minute on free feeds",
            "Confirm the plan before displaying or passing Intrinio data to anyone else; the Individual plan forbids it",
            "The MCP server returns a message naming the product that unlocks data outside the plan; don't retry the same call"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 54.2
            }
          ],
          "editorialScores": {
            "ergonomics": 70,
            "maintenance": 70,
            "payments": 20,
            "reliability": 83,
            "schema": 43,
            "security": 35,
            "transparency": 31
          },
          "provenanceScore": 71,
          "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
          }
        },
        "connect": {
          "install": "pip install intrinio-sdk",
          "http": "curl -H \"Authorization: Bearer $INTRINIO_API_KEY\" \"https://api-v2.intrinio.com/securities/AAPL/prices\"",
          "claudeCode": "claude mcp add --transport http intrinio https://intrinio-mcp.intrinio.com/mcp",
          "config": {
            "mcpServers": {
              "intrinio": {
                "url": "https://intrinio-mcp.intrinio.com/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/intrinio"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Individual plan",
            "unit": "month",
            "usd": 150,
            "note": "personal use only, monthly billing"
          },
          {
            "item": "Startup plan, first six months",
            "unit": "month",
            "usd": 333,
            "note": "billed quarterly; $666 for the next six months, $999 a month after that"
          },
          {
            "item": "Enterprise plan, from",
            "unit": "month",
            "usd": 1250,
            "note": "custom terms, by consultation"
          }
        ],
        "provenance": {
          "legalEntity": "Intrinio, Inc.",
          "domain": "intrinio.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://about.intrinio.com/terms",
          "privacy": "https://about.intrinio.com/privacy",
          "statusPage": "https://status.intrinio.com",
          "changelog": "https://docs.intrinio.com/documentation/api_v2/version_history",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "Intrinio, Inc. is named as a Delaware corporation in the terms (effective 3 September 2026) and the privacy policy (effective 30 June 2018), both under Florida law.",
            "The terms have no clause on automated reading of the website. Section 8(f) forbids software designed to collect information from the Services, and section 2.3 applies the data restrictions to AI and machine learning systems.",
            "intrinio.com/robots.txt disallows /docs/* for all crawlers, so the documentation was read at docs.intrinio.com, whose robots.txt allows everything. about.intrinio.com, ascend.intrinio.com and status.intrinio.com allow everything.",
            "RDAP for intrinio.com was refused (403 from rdap.org), so the registration date is unchecked.",
            "/.well-known/security.txt returns 404 on intrinio.com. docs.intrinio.com/llms.txt and intrinio.com/llms.txt return 404.",
            "The MCP server's OAuth metadata was read at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource; no MCP session was opened."
          ],
          "score": 71
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/intrinio.json",
        "live": {
          "slug": "intrinio",
          "probe": {
            "target": "https://api-v2.intrinio.com",
            "method": "get",
            "lastAt": "2026-11-04T19:03:51.020648542Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 502,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 435,
            "p95ms24h": 1373,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.intrinio.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-11-04T18:57:11.181238223Z"
          },
          "securityTxt": {
            "url": "https://intrinio.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:53:22.904326032Z"
          },
          "updatedAt": "2026-11-04T19:03:51.020648542Z"
        }
      },
      {
        "slug": "benzinga",
        "name": "Benzinga",
        "vendor": "Benzinga",
        "vendorUrl": "https://www.benzinga.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Benzinga is a financial news and data company whose licensed APIs serve news, earnings and ratings calendars, analyst insights, transcripts, SEC filings, fundamentals and options signals over REST, websockets and webhooks, for firms that hold a content licence.",
        "url": "https://www.anchorterminal.com/tools/benzinga",
        "markdownUrl": "https://www.anchorterminal.com/tools/benzinga.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/benzinga.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/benzinga.json",
        "dns": "benzinga.grade.anchorterminal.com",
        "repo": "https://github.com/Benzinga/benzinga-docs",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://api.benzinga.com",
        "packages": [
          {
            "registry": "pypi",
            "name": "benzinga"
          }
        ],
        "auth": "api-key",
        "authNotes": "API token generated in the Benzinga console and sent as the `token` query parameter on every request, which the docs call Bearer authentication. No header option, scopes, rotation or expiry were found in the docs or the OpenAPI specs.",
        "pricing": "paid",
        "pricingNotes": "No prices are published. The docs say to email licensing@benzinga.com or call to get started, and the registration page is on www.benzinga.com, which answered 403 to our reader. The FAQ says each subscription carries its own rate limits and that a trial or sandbox is often available, without terms.",
        "priceSummary": "Paid",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the docs, llms.txt or the 11 OpenAPI specs (checked 2026-11-03).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 34,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://docs.benzinga.com/",
        "llmsTxt": "https://docs.benzinga.com/llms.txt",
        "openapi": "https://github.com/Benzinga/benzinga-docs/tree/main/openapi",
        "capabilities": [
          "market.news",
          "market.fundamentals",
          "market.filings",
          "market.prices",
          "data.markets",
          "data.company"
        ],
        "tags": [
          "official",
          "hosted",
          "paid",
          "sales-led",
          "openapi",
          "llms-txt",
          "status-page",
          "webhooks",
          "python",
          "closed-source"
        ],
        "lastRelease": "2026-11-03",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 49.2,
          "grade": "D",
          "agentReady": false,
          "rank": 1043,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 7,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 65,
            "maintenance": 56,
            "payments": 0,
            "reliability": 60,
            "schema": 71,
            "security": 36,
            "transparency": 44
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "Benzinga's news, calendar and transcript APIs are documented from 11 public OpenAPI specs with an llms.txt and a Statuspage. The token travels in the query string, no prices or rate limit numbers are published, the Python client was last released in February 2021, and the vendor's main site refused our reader, so its terms and privacy policy are unread.",
          "bestFor": "A licensed firm's agent that needs Benzinga's own newswire, calendars, analyst ratings and transcripts as structured data with deltas.",
          "strengths": [
            "11 OpenAPI specs in a public GitHub repository, 80 operations, with enums on the calendar and news parameters and example responses",
            "llms.txt and a Markdown twin of every docs page at docs.benzinga.com",
            "`displayOutput` sizes news responses to headline, abstract or full text, and `updatedSince` deltas avoid re-reading history",
            "Statuspage with seven API components and no incident since 14 September 2023",
            "security.txt names security@benzinga.com and a disclosure policy"
          ],
          "weaknesses": [
            "The API token is sent only as the `token` query parameter, with no header option, scopes or rotation found",
            "No prices, rate limit numbers, 429 guidance or SLA are published; sales is by email or phone",
            "www.benzinga.com returned 403 on every page, so the terms, privacy policy, registration and pricing were not read",
            "The Python client's last release is 1.21 from 8 February 2021 and the JavaScript client's last push is from 2023; the docs' SDK page is template text",
            "The changelog pages are empty, and the error responses in the specs don't match the examples (401 and 404 appear in examples only)"
          ],
          "agentNotes": [
            "Keep the token out of logs; it can only travel as `?token=`, so strip query strings before recording request URLs",
            "Page through news with `page` and `pageSize` (max 100) and narrow by `tickers`, `dateFrom` or `channels`; a query can't pass 10,000 items",
            "Poll with `updatedSince` (news) or `parameters[updated]` (calendar, signals) rather than re-reading history",
            "An unknown or unentitled news node ID returns 200 with an empty array, not 404; treat empty as not found",
            "Don't plan on a free key; access starts with licensing@benzinga.com and a contract"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "D",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 49.2
            }
          ],
          "editorialScores": {
            "ergonomics": 65,
            "maintenance": 56,
            "payments": 0,
            "reliability": 60,
            "schema": 71,
            "security": 36,
            "transparency": 13
          },
          "provenanceScore": 75,
          "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
          }
        },
        "connect": {
          "install": "pip install benzinga",
          "http": "curl -H 'accept: application/json' \"https://api.benzinga.com/api/v2/news?token=$BENZINGA_TOKEN\u0026tickers=AAPL\u0026pageSize=5\""
        },
        "letme": {
          "capability": "https://letme.dev/market.news",
          "tool": "https://letme.dev/benzinga"
        },
        "area": "domain-data",
        "provenance": {
          "legalEntity": "Benzinga",
          "domain": "benzinga.com",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.benzinga.com/terms-and-conditions",
          "privacy": "https://www.benzinga.com/page/privacy",
          "statusPage": "https://benzinga1.statuspage.io",
          "changelog": "https://docs.benzinga.com/changelog/overview",
          "securityTxt": "expired",
          "checked": "2026-11-03",
          "notes": [
            "The legal entity's full name was not read. The terms and privacy pages on www.benzinga.com, linked from the docs footer, answered 403 to our reader, as did every other page on that host. The docs name Benzinga and the GitHub organisation is Benzinga.",
            "www.benzinga.com/robots.txt (version 11 September 2026) allows /apis/ and the terms and privacy paths for all crawlers; the 403 is a bot check, not a robots rule. docs.benzinga.com/robots.txt allows everything except /cdn-cgi/ and /_next/, with Content-Signal ai-train=yes, search=yes, ai-input=yes.",
            "security.txt at www.benzinga.com/.well-known/security.txt names security@benzinga.com, a policy at /.well-known/security-policy.md and Expires 2025-06-01T00:00:00.000Z, so it is expired.",
            "The status page is an Atlassian Statuspage at benzinga1.statuspage.io; the docs link it as API Status.",
            "RDAP for benzinga.com was refused (403 from rdap.org), so the registration date is unchecked.",
            "No terms clause on automated access could be read."
          ],
          "score": 75
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/benzinga.json",
        "live": {
          "slug": "benzinga",
          "probe": {
            "target": "https://api.benzinga.com",
            "method": "get",
            "lastAt": "2026-11-04T19:03:36.613985805Z",
            "lastOk": true,
            "lastStatus": 403,
            "lastMs": 167,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 125,
            "p95ms24h": 211,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://benzinga1.statuspage.io",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-11-04T18:56:32.61238399Z"
          },
          "securityTxt": {
            "url": "https://benzinga.com/.well-known/security.txt",
            "state": "expired",
            "expires": "2025-06-01T00:00:00.000Z",
            "checkedAt": "2026-11-04T15:53:46.560658527Z"
          },
          "updatedAt": "2026-11-04T19:03:36.613985805Z"
        }
      },
      {
        "slug": "financial-modeling-prep",
        "name": "Financial Modeling Prep",
        "vendor": "Financial Modeling Prep",
        "vendorUrl": "https://site.financialmodelingprep.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Financial Modeling Prep (FMP) is a market data API for financial statements, earnings, quotes, price history, filings, news and economic series across stocks, ETFs, funds, forex and crypto. Agents call the REST endpoints under /stable or the hosted MCP server.",
        "url": "https://www.anchorterminal.com/tools/financial-modeling-prep",
        "markdownUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json",
        "dns": "financial-modeling-prep.grade.anchorterminal.com",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://financialmodelingprep.com/stable",
        "packages": [],
        "auth": "api-key",
        "authNotes": "One API key per account, shown in the dashboard after a browser signup. The docs accept it as an `apikey` request header or as `?apikey=` in the query string. The hosted MCP server's documented address carries the key in the URL, `https://financialmodelingprep.com/mcp?apikey=KEY`; the same host also publishes OAuth 2 metadata (authorisation code with PKCE, scopes openid, email and profile) that the MCP page does not mention. No scopes, expiry or rotation guidance found.",
        "pricing": "freemium",
        "pricingNotes": "Basic plan free at 250 calls a day with end-of-day data and 5 years of history, no card stated. Personal plans Starter $29, Premium $69 and Ultimate $139 a month (about $19, $49 and $99 a month billed annually) at 300, 750 and 3,000 calls a minute, with trailing 30-day bandwidth caps of 500 MB, 20 GB, 50 GB and 150 GB. Commercial and display use need a separate licence with no public price (https://site.financialmodelingprep.com/pricing-plans, checked 2026-11-03).",
        "priceSummary": "$29 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the API docs, api-docs.md, pricing pages, the MCP page or the OAuth metadata (checked 2026-11-03). A call without a key returns HTTP 401 with an `Error Message` field.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://site.financialmodelingprep.com/developer/docs",
        "llmsTxt": "https://site.financialmodelingprep.com/llms.txt",
        "capabilities": [
          "market.fundamentals",
          "market.prices",
          "market.history",
          "market.filings",
          "market.news",
          "market.indices",
          "market.crypto",
          "data.company",
          "data.markets"
        ],
        "tags": [
          "hosted",
          "freemium",
          "api-key",
          "mcp",
          "remote-mcp",
          "llms-txt",
          "no-card",
          "free-tier",
          "closed-source",
          "status-page",
          "stocks",
          "forex",
          "crypto",
          "personal-use"
        ],
        "lastRelease": "2026-11-02",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 48.7,
          "grade": "D",
          "agentReady": false,
          "rank": 1056,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 8,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 59,
            "maintenance": 60,
            "payments": 30,
            "reliability": 50,
            "schema": 61,
            "security": 30,
            "transparency": 57
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "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.",
          "bestFor": "Agents doing company research on statements, ratios, DCF, filings, transcripts and calendars with one key, and US coverage on cheap plans.",
          "strengths": [
            "api-docs.md and pricing.md give agents every stable endpoint with parameters, an example response and the plan that unlocks it",
            "Changelog entries dated by day through 2 November 2026",
            "Free Basic plan at 250 calls a day with no card stated, and plan prices published without login",
            "A public status page and a help centre with FAQs on keys, limits and errors",
            "Hosted MCP server that reuses the REST key and limits, with OAuth metadata published on the same host"
          ],
          "weaknesses": [
            "The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too",
            "No OpenAPI document, no documented error responses and no 429 or Retry-After guidance found",
            "Status page data did not load for our reader, so the incident record is unknown",
            "Personal plans are for individuals only; any use on behalf of a company, and any display, needs a separate agreement with no public price",
            "Terms name no legal entity, and the privacy policy carries no date and no retention periods"
          ],
          "agentNotes": [
            "Send the key as an `apikey` header, not in the URL, and treat the MCP `?apikey=` address as a secret",
            "Use the /stable paths from api-docs.md; /api/v3 and /v4 are discontinued even though the FAQ still shows a v3 example",
            "On the free plan expect 5 results and page 0 on many list endpoints; read pricing.md before planning a crawl",
            "A missing or wrong key returns HTTP 401 with an `Error Message` field; stop and ask the user rather than retry",
            "Do not display or pass on the data in a product; personal plans forbid it"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 48.7
            }
          ],
          "editorialScores": {
            "ergonomics": 59,
            "maintenance": 60,
            "payments": 30,
            "reliability": 50,
            "schema": 61,
            "security": 30,
            "transparency": 33
          },
          "provenanceScore": 81,
          "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
          }
        },
        "connect": {
          "http": "curl -H \"apikey: $FMP_API_KEY\" \"https://financialmodelingprep.com/stable/quote?symbol=AAPL\"",
          "config": {
            "mcpServers": {
              "fmp": {
                "url": "https://financialmodelingprep.com/mcp?apikey=YOUR_FMP_API_KEY"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/market.fundamentals",
          "tool": "https://letme.dev/financial-modeling-prep"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Starter, 300 calls a minute",
            "unit": "month",
            "usd": 29,
            "note": "personal use, about $19 a month billed annually"
          },
          {
            "item": "Premium, 750 calls a minute",
            "unit": "month",
            "usd": 69,
            "note": "personal use, about $49 a month billed annually"
          },
          {
            "item": "Ultimate, 3,000 calls a minute",
            "unit": "month",
            "usd": 139,
            "note": "personal use, about $99 a month billed annually"
          }
        ],
        "provenance": {
          "legalEntity": "Financial Modeling Prep",
          "domain": "financialmodelingprep.com",
          "domainRegistered": "2018-02-19",
          "endpointOnVendorDomain": true,
          "terms": "https://site.financialmodelingprep.com/terms-of-service",
          "privacy": "https://site.financialmodelingprep.com/privacy-policy",
          "statusPage": "https://status.financialmodelingprep.com",
          "changelog": "https://site.financialmodelingprep.com/developer/docs/changelog",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "The terms of service, last updated 1 August 2023, are written between FMP and the customer and name no legal form, address or governing law. The footer reads Financial Modeling Prep.",
            "The privacy policy carries no date and names Google AdSense and Google Analytics. It keeps data for as long as necessary and promises breach notice within 7 business days.",
            "site.financialmodelingprep.com/robots.txt allows all crawlers and disallows /contact-card/. The terms contain no clause on automated access to the website.",
            "RDAP gives financialmodelingprep.com a registration date of 19 February 2018 at Amazon Registrar.",
            "/.well-known/security.txt and /security.txt return 404 on site.financialmodelingprep.com. The footer's Trust Center link returns 404.",
            "The status page is an Endpoint Uptime Status page at status.financialmodelingprep.com whose data loads by script; our reader got an error instead of the uptime figures.",
            "The hosted MCP server's host publishes OAuth 2 metadata at /.well-known/oauth-authorization-server with a Google service-account JWKS."
          ],
          "score": 81
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.json",
        "live": {
          "slug": "financial-modeling-prep",
          "probe": {
            "target": "https://financialmodelingprep.com/stable",
            "method": "get",
            "lastAt": "2026-11-04T19:03:45.731693133Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 374,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 393,
            "p95ms24h": 780,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.financialmodelingprep.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-11-04T15:31:55.222038062Z"
          },
          "securityTxt": {
            "url": "https://financialmodelingprep.com/.well-known/security.txt",
            "state": "unknown",
            "checkedAt": "2026-11-04T15:54:45.259926529Z"
          },
          "updatedAt": "2026-11-04T19:03:45.731693133Z"
        }
      },
      {
        "slug": "tiingo",
        "name": "Tiingo",
        "vendor": "Tiingo Inc.",
        "vendorUrl": "https://www.tiingo.com",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Tiingo is a market data API from Tiingo Inc. for end-of-day and real-time US equity prices, fund fees, fundamentals, dividends and splits, news, crypto and forex, over REST and WebSocket. Agents call api.tiingo.com with an account token.",
        "url": "https://www.anchorterminal.com/tools/tiingo",
        "markdownUrl": "https://www.anchorterminal.com/tools/tiingo.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tiingo.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tiingo.json",
        "dns": "tiingo.grade.anchorterminal.com",
        "transports": [
          "http",
          "websocket"
        ],
        "remoteUrl": "https://api.tiingo.com",
        "packages": [],
        "auth": "api-key",
        "authNotes": "One API token of about 75 characters per account, from the account page after a browser signup. The connecting guide accepts it as `?token=` in the URL or as an `Authorization: Token \u003ctoken\u003e` header; WebSocket subscriptions carry it as `authToken` in the subscribe message. The token can be rotated on the account token page (added per the changelog of 12 May 2026). No scopes or expiry found.",
        "pricing": "freemium",
        "pricingNotes": "Starter plan free at 50 requests an hour, 1,000 a day, 1 GB a month and 500 unique symbols a month, internal use only; no card requirement stated. Power plan $30 a month at 10,000 requests an hour, 100,000 a day, 40 GB and all 110,424 symbols, also internal use only. Fundamentals are a separate add-on through a third-party provider, priced by email; commercial, redistribution and white-label licences by contact (https://www.tiingo.com/pricing, checked 2026-11-03).",
        "priceSummary": "$30 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the documentation, llms.txt or pricing (checked 2026-11-03). A call without a token returns HTTP 403 with `{\"detail\":\"Please supply a token\"}`.",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://www.tiingo.com/documentation/general/overview",
        "llmsTxt": "https://www.tiingo.com/llms.txt",
        "capabilities": [
          "market.prices",
          "market.history",
          "market.news",
          "market.fundamentals",
          "market.crypto",
          "data.markets"
        ],
        "tags": [
          "hosted",
          "freemium",
          "api-key",
          "llms-txt",
          "status-page",
          "free-tier",
          "closed-source",
          "stocks",
          "crypto",
          "forex",
          "streaming",
          "personal-use"
        ],
        "lastRelease": "2026-10-09",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 46.2,
          "grade": "D",
          "agentReady": false,
          "rank": 1118,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 9,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 56,
            "maintenance": 50,
            "payments": 30,
            "reliability": 60,
            "schema": 39,
            "security": 32,
            "transparency": 57
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.",
          "bestFor": "Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.",
          "strengths": [
            "Changelog dated by entry from 2017 to 9 October 2026, and a stated one-year support window after a breaking change",
            "Status page on Instatus with 13 components and a notice history",
            "Limits in requests an hour, a day and bandwidth a month, with no per-second throttle, and token rotation on the account page",
            "Free Starter token at 1,000 requests a day, and a $30 a month Power plan published without login",
            "llms.txt and llms-full.txt served for agents, with product routing notes"
          ],
          "weaknesses": [
            "The connecting guide documents the token as `?token=` in the URL alongside the header",
            "No OpenAPI document, no documented error responses, no official SDK and no MCP server",
            "Terms and privacy policy on app.tiingo.com answered 403 to every request, so neither was read",
            "Both self-serve plans are internal use only; display, redistribution and white-label need a negotiated licence",
            "Blue Ocean ATS endpoints were down for about 10 hours on 21 October 2026, and the status history starts on 21 September 2026"
          ],
          "agentNotes": [
            "Send the token as `Authorization: Token \u003ctoken\u003e`, not as `?token=` in the URL",
            "Ask for `format=csv` on large price pulls; the docs say CSV is 4 to 5 times faster than JSON, and bandwidth counts against the monthly cap",
            "Count requests an hour and a day, not per second; 50 an hour on Starter, 10,000 on Power, reset on the hour and at midnight ET",
            "Expect 403 `{\"detail\":\"Please supply a token\"}` without a token; other error shapes are undocumented, so log the body",
            "Use dashes in share classes (BRK-A), and fetch supported_tickers.zip rather than guessing symbols"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "D",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 46.2
            }
          ],
          "editorialScores": {
            "ergonomics": 56,
            "maintenance": 50,
            "payments": 30,
            "reliability": 60,
            "schema": 39,
            "security": 32,
            "transparency": 28
          },
          "provenanceScore": 86,
          "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
          }
        },
        "connect": {
          "http": "curl -H \"Authorization: Token $TIINGO_TOKEN\" \"https://api.tiingo.com/tiingo/daily/aapl/prices?startDate=2025-11-03\u0026format=csv\""
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/tiingo"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Power, 10,000 requests an hour",
            "unit": "month",
            "usd": 30,
            "note": "internal use only, 100,000 requests a day, 40 GB a month"
          }
        ],
        "provenance": {
          "legalEntity": "Tiingo Inc.",
          "domain": "tiingo.com",
          "domainRegistered": "2011-03-04",
          "endpointOnVendorDomain": true,
          "terms": "https://app.tiingo.com/terms",
          "privacy": "https://app.tiingo.com/privacy",
          "statusPage": "https://status.tiingo.com",
          "changelog": "https://www.tiingo.com/documentation/general/changelog",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "Tiingo Inc. appears in the copyright line of the about page, which gives Alexandria, VA. No registration number or address was found on a page we could read.",
            "www.tiingo.com/privacy redirects to app.tiingo.com/privacy, and app.tiingo.com/terms is the terms address; app.tiingo.com answered 403 to every request from our reader and from curl, so neither document was read.",
            "www.tiingo.com/robots.txt disallows only /admin. The developer programme page forbids programmatic registration or login and wrapping the login form; nothing read forbids reading the website.",
            "RDAP gives tiingo.com a registration date of 4 March 2011 at GoDaddy.",
            "/.well-known/security.txt on www.tiingo.com redirects (301) and api.tiingo.com returns 404, so none.",
            "The status page is Instatus at status.tiingo.com, named in llms.txt with uptime.tiingo.com as an audited uptime page."
          ],
          "score": 86
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/tiingo.json",
        "live": {
          "slug": "tiingo",
          "probe": {
            "target": "https://api.tiingo.com",
            "method": "get",
            "lastAt": "2026-11-04T19:04:15.937566125Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 329,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 495,
            "p95ms24h": 592,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.tiingo.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-11-04T15:32:39.454553229Z"
          },
          "securityTxt": {
            "url": "https://tiingo.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:54:24.456607715Z"
          },
          "updatedAt": "2026-11-04T19:04:15.937566125Z"
        }
      },
      {
        "slug": "finnhub",
        "name": "Finnhub",
        "vendor": "Finnhub",
        "vendorUrl": "https://finnhub.io",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Finnhub is a market data API for stock quotes and candles, company fundamentals, estimates, filings, transcripts, news and alternative data, with forex, crypto and economic series. Agents call the REST API at finnhub.io/api/v1 or the hosted MCP server at mcp.finnhub.io.",
        "url": "https://www.anchorterminal.com/tools/finnhub",
        "markdownUrl": "https://www.anchorterminal.com/tools/finnhub.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/finnhub.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/finnhub.json",
        "dns": "finnhub.grade.anchorterminal.com",
        "repo": "https://github.com/Finnhub-Stock-API/finnhub-python",
        "transports": [
          "http",
          "streamable-http",
          "websocket"
        ],
        "remoteUrl": "https://finnhub.io/api/v1",
        "packages": [
          {
            "registry": "pypi",
            "name": "finnhub-python"
          },
          {
            "registry": "npm",
            "name": "finnhub"
          }
        ],
        "auth": "mixed",
        "authNotes": "One API key per account from the dashboard after a browser signup. The docs accept it as a `token=` query parameter or an `X-Finnhub-Token` header; the Swagger document declares only the query form. The hosted MCP server at mcp.finnhub.io/mcp uses OAuth with the Finnhub account and fixed client ids (`claude`, `chatgpt`) with no secret, so the assistant never sees the key. No scopes, expiry or rotation guidance found.",
        "pricing": "freemium",
        "pricingNotes": "Free key at 60 API calls a minute for personal use with no card, covering 29 of 116 documented operations; 87 are marked premium. Self-serve plans by dataset, read from the pricing page's script data, run from $49.99 a month (market data Basic, 150 calls a minute) and $50 (fundamentals) to $3,500 a month for All-In-One at 900 market data and 300 fundamental calls a minute, all personal use. Enterprise is priced by contact, with commercial use and redistribution (https://finnhub.io/pricing, checked 2026-11-03).",
        "priceSummary": "$49.99 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the Swagger document, the embedded docs, the pricing script data or the MCP page (checked 2026-11-03). A call without a key returns HTTP 401 with `{\"error\":\"Please use an API key.\"}`.",
          "endpoints": []
        },
        "toolCount": 70,
        "popularity": {
          "githubStars": 1095,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-11-03"
        },
        "docsUrl": "https://finnhub.io/docs/api",
        "openapi": "https://finnhub.io/static/swagger.json",
        "capabilities": [
          "market.prices",
          "market.fundamentals",
          "market.news",
          "market.filings",
          "market.history",
          "market.crypto",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "tags": [
          "hosted",
          "freemium",
          "api-key",
          "oauth",
          "mcp",
          "remote-mcp",
          "openapi",
          "no-card",
          "free-tier",
          "closed-source",
          "no-status-page",
          "python",
          "go",
          "typescript",
          "ruby",
          "php",
          "stocks",
          "forex",
          "crypto",
          "personal-use",
          "sla"
        ],
        "lastRelease": "2026-11-02",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 45.1,
          "grade": "E",
          "agentReady": false,
          "rank": 1140,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 10,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 56,
            "maintenance": 60,
            "payments": 30,
            "reliability": 48,
            "schema": 58,
            "security": 32,
            "transparency": 27
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "low",
            "date": "2026-11-03"
          },
          "negative": 0,
          "verdict": "A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.",
          "bestFor": "Agents that need one key across quotes, fundamentals, estimates, filings and transcripts with official libraries, and a free key for prototypes.",
          "strengths": [
            "Public Swagger 2.0 document with a description on every one of 116 operations and sample code in five languages",
            "Free key at 60 calls a minute with no card, and a documented 429 with a 30 calls a second ceiling",
            "Official libraries for Python, Go, JavaScript, Ruby, Kotlin and PHP, three updated on 2 November 2026",
            "Hosted MCP server with OAuth, 70 tools, and no key pasted into the client",
            "SLA stated as available for enterprise clients on the home page"
          ],
          "weaknesses": [
            "The Swagger document declares the key only as a `token` query parameter, and the examples carry it in the URL",
            "No status page, changelog, error reference or privacy policy was found, and the terms page is disallowed by robots.txt",
            "87 of 116 operations are marked premium, and self-serve plans are sold per dataset with a $3,500 a month All-In-One",
            "No legal entity, address or governing law was found on any readable page",
            "Parameters carry allowed values in prose only, and responses are documented for 200 alone"
          ],
          "agentNotes": [
            "Send the key as the `X-Finnhub-Token` header, not as `token=` in the URL, and keep under 30 calls a second on top of the plan's per-minute limit",
            "Check the `premium` marker before calling; a free key reaches 29 operations and the rest answer with an error",
            "Poll /quote sparingly; the docs say constant polling is not recommended and point to the websocket for real-time updates",
            "Expect 401 `{\"error\":\"Please use an API key.\"}` without a key and 429 over the limit; wait a minute before retrying, as the MCP page advises",
            "Self-serve plans are personal use; anything commercial needs the enterprise contact route"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 0,
          "avgRating": 0,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "low",
              "grade": "E",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 45.1
            }
          ],
          "editorialScores": {
            "ergonomics": 56,
            "maintenance": 60,
            "payments": 30,
            "reliability": 48,
            "schema": 58,
            "security": 32,
            "transparency": 8
          },
          "provenanceScore": 45,
          "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
          }
        },
        "connect": {
          "install": "pip install finnhub-python",
          "http": "curl -H \"X-Finnhub-Token: $FINNHUB_API_KEY\" \"https://finnhub.io/api/v1/quote?symbol=AAPL\"",
          "config": {
            "mcpServers": {
              "finnhub": {
                "url": "https://mcp.finnhub.io/mcp"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/finnhub"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Market data Basic, 150 calls a minute",
            "unit": "month",
            "usd": 49.99,
            "note": "personal use, billed quarterly"
          },
          {
            "item": "Market data Standard, 300 calls a minute",
            "unit": "month",
            "usd": 129.99,
            "note": "personal use, billed quarterly"
          },
          {
            "item": "Market data Professional, 900 calls a minute",
            "unit": "month",
            "usd": 199.99,
            "note": "personal use, billed annually"
          },
          {
            "item": "Fundamentals, plan 1",
            "unit": "month",
            "usd": 50,
            "note": "personal use"
          },
          {
            "item": "All-In-One, 900 market data and 300 fundamental calls a minute",
            "unit": "month",
            "usd": 3500,
            "note": "personal use"
          }
        ],
        "provenance": {
          "legalEntity": "Finnhub",
          "domain": "finnhub.io",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://finnhub.io/terms-of-service",
          "privacy": "",
          "statusPage": "",
          "changelog": "",
          "securityTxt": "none",
          "checked": "2026-11-03",
          "notes": [
            "No legal entity, address or governing law was found. The site names only Finnhub; the GitHub organisation gives New York, NY; the Swagger document's license field says Apache-2.0, which describes the document, not the data.",
            "finnhub.io/robots.txt disallows /terms-of-service and /faq for every crawler, so the terms were not read. The pricing page says each self-serve plan is Personal Use with the terms applying.",
            "/privacy and /about return 302 to the home page. No privacy policy was found.",
            "/.well-known/security.txt and /security.txt return 302 to the home page, so none.",
            "No status page or changelog was found on the site, in the docs document or on the MCP page.",
            "RDAP for the .io domain answered without events, so the registration date is not recorded."
          ],
          "score": 45
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/finnhub.json",
        "live": {
          "slug": "finnhub",
          "probe": {
            "target": "https://finnhub.io/api/v1",
            "method": "get",
            "lastAt": "2026-11-04T19:03:45.867093871Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 130,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 135,
            "p95ms24h": 413,
            "samples24h": 38,
            "samples30d": 38,
            "days": [
              {
                "date": "2026-11-04",
                "probes": 38,
                "ok": 38
              }
            ]
          },
          "securityTxt": {
            "url": "https://finnhub.io/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:53:16.666096211Z"
          },
          "updatedAt": "2026-11-04T19:03:45.867093871Z"
        }
      },
      {
        "slug": "alpha-vantage",
        "name": "Alpha Vantage",
        "vendor": "Alpha Vantage Inc.",
        "vendorUrl": "https://www.alphavantage.co",
        "kind": "http-api",
        "category": "market-data",
        "summary": "Alpha Vantage is a market data API for stocks, options, indices, forex, crypto, commodities, fundamentals, news sentiment, economic series and technical indicators. Agents call one REST endpoint with a function name, or the official MCP server at mcp.alphavantage.co.",
        "url": "https://www.anchorterminal.com/tools/alpha-vantage",
        "markdownUrl": "https://www.anchorterminal.com/tools/alpha-vantage.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/alpha-vantage.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/alpha-vantage.json",
        "dns": "alpha-vantage.grade.anchorterminal.com",
        "repo": "https://github.com/alphavantage/alpha_vantage_mcp",
        "license": "Proprietary service under Alpha Vantage's Terms of Service. The MCP server, CLI and shared client in alphavantage/alpha_vantage_mcp are MIT",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://www.alphavantage.co/query",
        "packages": [
          {
            "registry": "pypi",
            "name": "marketdata-mcp-server"
          },
          {
            "registry": "pypi",
            "name": "marketdata-cli"
          }
        ],
        "auth": "mixed",
        "authNotes": "Self-serve key. A form at alphavantage.co/support/#api-key asks for a name, an organisation and an email address and returns a free key. REST calls send it as `apikey=` in the query string, the only method the documentation shows. One key per account, no scopes. To replace a key the pages tell users to email support. The hosted MCP server takes OAuth 2 (authorisation code with PKCE, dynamic client registration, one scope `alphavantage:read`), where the user enters the key on a consent page. An `?apikey=` MCP URL still works and is marked deprecated.",
        "pricing": "freemium",
        "pricingNotes": "Free key at 25 requests a day with no card, covering most functions. Premium plans are priced by requests a minute with no daily limit, $49.99 a month for 75 up to $249.99 for 1,200, or ten times the monthly price a year (https://www.alphavantage.co/premium/). Real-time and 15-minute delayed US data need a premium plan and a separate entitlement step. Commercial use is by written agreement with no public price (checked 2026-10-08).",
        "priceSummary": "$49.99 / mo",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402, MPP or L402 in the API documentation, the premium page or the MCP server repository (checked 2026-10-08).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 217,
          "npmWeekly": null,
          "pypiWeekly": 172,
          "asOf": "2026-10-08"
        },
        "docsUrl": "https://www.alphavantage.co/documentation/",
        "registryName": "io.github.alphavantage/alpha_vantage_mcp",
        "capabilities": [
          "market.prices",
          "market.history",
          "market.fundamentals",
          "market.news",
          "data.markets",
          "market.indices",
          "market.crypto",
          "data.company"
        ],
        "tags": [
          "hosted",
          "freemium",
          "api-key",
          "mcp",
          "oauth",
          "official",
          "python",
          "stocks",
          "forex",
          "crypto",
          "personal-use"
        ],
        "lastRelease": "2026-10-03",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 41.5,
          "grade": "E",
          "agentReady": false,
          "rank": 1197,
          "ranked": true,
          "rankOf": 1349,
          "categoryRank": 11,
          "methodology": "0.7",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 54,
            "maintenance": 63,
            "payments": 30,
            "reliability": 30,
            "schema": 46,
            "security": 32,
            "transparency": 50
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-08"
          },
          "negative": 0,
          "verdict": "One GET endpoint covers about 130 documented functions, with a free key at 25 requests a day and an official MCP server whose tools are all marked read-only. The REST key travels only in the query string, errors come back as HTTP 200 with a text message, and no status page, SLA or OpenAPI document was found.",
          "bestFor": "A personal research or analysis agent that wants many asset classes, fundamentals, indicators and news sentiment from one key at a flat price.",
          "strengths": [
            "About 130 documented functions behind one GET endpoint, each with demo URLs and sample code in Python, NodeJS, PHP and C#",
            "Free key at 25 requests a day with no card, and five public monthly plans from $49.99 (75 requests a minute) to $249.99 (1,200)",
            "Official MIT MCP server, hosted at `mcp.alphavantage.co/mcp` with OAuth (PKCE, dynamic client registration, one `alphavantage:read` scope) and read-only hints on every tool",
            "`outputsize=compact` returns the latest 100 points, and the MCP server caps a response preview at 32,000 tokens by default",
            "The vendor says it holds a Nasdaq licence for real-time and 15-minute delayed US data, and the terms name FRED as the source of economic and commodity series"
          ],
          "weaknesses": [
            "The REST key is documented only as `apikey=` in the query string, with no scopes and no self-service rotation found",
            "Errors and limit notices return HTTP 200 with an `Error Message` or `Information` text field. No error reference, 429 or Retry-After guidance was found",
            "No status page, SLA, OpenAPI document, llms.txt, API version or API changelog was found",
            "The terms grant personal, non-commercial use only. Use on behalf of a company needs a written agreement",
            "PyPI still serves `marketdata-mcp-server` 0.3.1 from 16 March 2026, and an issue open since 4 September 2026 reports that it crashes on startup"
          ],
          "agentNotes": [
            "Check every 200 response for `Error Message`, `Information` or `Note` keys before parsing data. The API does not signal failures or limits by status code",
            "Budget 25 requests a day on a free key. Real-time, 15-minute delayed and intraday US data, index data and several indicators need a premium plan",
            "Keep `outputsize=compact` unless full history is needed, and ask for `datatype=csv` on long series to cut tokens",
            "Use the hosted MCP server with OAuth at `https://mcp.alphavantage.co/mcp`. The `?apikey=` MCP URL is marked deprecated",
            "Confirm the owner's use is personal and non-commercial, or that a commercial agreement exists, before acting for a business"
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 4,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "E",
              "methodology": "0.7",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 41.5
            }
          ],
          "editorialScores": {
            "ergonomics": 54,
            "maintenance": 63,
            "payments": 30,
            "reliability": 30,
            "schema": 46,
            "security": 32,
            "transparency": 36
          },
          "provenanceScore": 64,
          "dataQualityScore": 82,
          "checked": {
            "categories": {
              "ergonomics": "2026-10-08",
              "maintenance": "2026-10-08",
              "payments": "2026-10-08",
              "reliability": "2026-10-08",
              "schema": "2026-10-08",
              "security": "2026-10-08",
              "transparency": "2026-10-08"
            },
            "last": "2026-10-08",
            "lastMoved": "2026-10-27",
            "oldest": "2026-10-08",
            "stale": false,
            "staleAfterDays": 90
          }
        },
        "connect": {
          "install": "uvx marketdata-mcp-server YOUR_API_KEY",
          "http": "curl \"https://www.alphavantage.co/query?function=GLOBAL_QUOTE\u0026symbol=IBM\u0026apikey=$ALPHAVANTAGE_API_KEY\"",
          "claudeCode": "claude mcp add alphavantage -- uvx marketdata-mcp-server YOUR_API_KEY"
        },
        "letme": {
          "capability": "https://letme.dev/market.prices",
          "tool": "https://letme.dev/alpha-vantage"
        },
        "area": "domain-data",
        "unitPrices": [
          {
            "item": "Premium, 75 requests a minute",
            "unit": "month",
            "usd": 49.99,
            "note": "personal use, no daily limit"
          },
          {
            "item": "Premium, 150 requests a minute",
            "unit": "month",
            "usd": 99.99,
            "note": "personal use"
          },
          {
            "item": "Premium, 300 requests a minute",
            "unit": "month",
            "usd": 149.99,
            "note": "personal use"
          },
          {
            "item": "Premium, 600 requests a minute",
            "unit": "month",
            "usd": 199.99,
            "note": "personal use"
          },
          {
            "item": "Premium, 1,200 requests a minute",
            "unit": "month",
            "usd": 249.99,
            "note": "personal use"
          }
        ],
        "provenance": {
          "legalEntity": "Alpha Vantage Inc.",
          "domain": "alphavantage.co",
          "domainRegistered": "",
          "endpointOnVendorDomain": true,
          "terms": "https://www.alphavantage.co/terms_of_service/",
          "privacy": "https://www.alphavantage.co/privacy/",
          "statusPage": "",
          "changelog": "https://github.com/alphavantage/alpha_vantage_mcp/blob/main/CHANGELOG.md",
          "securityTxt": "none",
          "checked": "2026-10-08",
          "notes": [
            "The Terms of Service name Alpha Vantage Inc., cover the website and the application programming interface, and are governed by Massachusetts law. The site footer gives Boston, Massachusetts.",
            "The terms and the privacy policy are each served as a PDF at the URL given, so a reader that skips PDFs will not read them. The privacy policy is dated 25 August 2025. The terms carry no date, and the file's metadata shows a change on 27 August 2026.",
            "www.alphavantage.co/.well-known/security.txt and /robots.txt both return 404.",
            "No status page was found. The site links none, and status.alphavantage.co does not present a valid certificate.",
            "The changelog link is the MCP server's. No changelog for the REST API was found.",
            "No RDAP service answered for the .co domain, so the registration date is not recorded. The site's copyright line runs from 2017."
          ],
          "score": 64
        },
        "dataQuality": {
          "coverage": "Global equities, ETFs and mutual funds, US options and indices, forex, crypto, commodities, fundamentals, news sentiment and ten US economic series",
          "coverageRating": 4,
          "freshness": "Real time or 15-minute delayed for US markets on premium plans with entitlement, otherwise historical and end of day",
          "freshnessClass": "realtime",
          "history": "25+ years of daily and intraday equity history (intraday from January 2000), per the documentation",
          "historyYears": 25,
          "methodology": "https://www.alphavantage.co/support/#support",
          "sourcesDisclosed": true,
          "licence": "Proprietary, under the vendor's Terms of Service",
          "licenceClass": "clear",
          "standing": "",
          "standingClass": "none",
          "reuse": "Personal, non-commercial use unless agreed otherwise in writing. Passing data to other people or using it for a company counts as commercial use.",
          "score": 82,
          "checks": null
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/alpha-vantage.json",
        "live": {
          "slug": "alpha-vantage",
          "probe": {
            "target": "https://www.alphavantage.co/query",
            "method": "get",
            "lastAt": "2026-11-04T19:03:32.766786147Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 126,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 99.91,
            "p50ms24h": 131,
            "p95ms24h": 303,
            "samples24h": 247,
            "samples30d": 6627,
            "days": [
              {
                "date": "2026-10-09",
                "probes": 169,
                "ok": 169
              },
              {
                "date": "2026-10-10",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-11",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-12",
                "probes": 247,
                "ok": 247
              },
              {
                "date": "2026-10-13",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-14",
                "probes": 249,
                "ok": 249
              },
              {
                "date": "2026-10-15",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-16",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-17",
                "probes": 253,
                "ok": 253
              },
              {
                "date": "2026-10-18",
                "probes": 256,
                "ok": 256
              },
              {
                "date": "2026-10-19",
                "probes": 255,
                "ok": 254
              },
              {
                "date": "2026-10-20",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-21",
                "probes": 253,
                "ok": 251
              },
              {
                "date": "2026-10-22",
                "probes": 253,
                "ok": 252
              },
              {
                "date": "2026-10-23",
                "probes": 248,
                "ok": 247
              },
              {
                "date": "2026-10-24",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-10-25",
                "probes": 250,
                "ok": 250
              },
              {
                "date": "2026-10-26",
                "probes": 252,
                "ok": 252
              },
              {
                "date": "2026-10-27",
                "probes": 249,
                "ok": 249
              },
              {
                "date": "2026-10-28",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-10-29",
                "probes": 249,
                "ok": 248
              },
              {
                "date": "2026-10-30",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-31",
                "probes": 251,
                "ok": 251
              },
              {
                "date": "2026-11-01",
                "probes": 249,
                "ok": 249
              },
              {
                "date": "2026-11-02",
                "probes": 250,
                "ok": 250
              },
              {
                "date": "2026-11-03",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-11-04",
                "probes": 197,
                "ok": 197
              }
            ]
          },
          "versions": [
            {
              "registry": "mcp-registry",
              "name": "io.github.alphavantage/alpha_vantage_mcp",
              "version": "1.0.0",
              "seenAt": "2026-11-04T17:11:44.552009456Z"
            },
            {
              "registry": "pypi",
              "name": "marketdata-cli",
              "version": "0.1.9",
              "released": "2026-03-17",
              "seenAt": "2026-11-03T20:06:08.341781269Z"
            },
            {
              "registry": "pypi",
              "name": "marketdata-mcp-server",
              "version": "0.3.1",
              "released": "2026-03-16",
              "seenAt": "2026-11-03T20:06:08.135249656Z"
            }
          ],
          "githubStars": 225,
          "pypiWeekly": 7912,
          "securityTxt": {
            "url": "https://alphavantage.co/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-11-04T15:54:10.658830061Z"
          },
          "domain": {
            "domain": "alphavantage.co",
            "checkedAt": "2026-11-01T14:10:30.150882219Z"
          },
          "pages": [
            {
              "url": "https://raw.githubusercontent.com/alphavantage/alpha_vantage_mcp/main/CHANGELOG.md",
              "kind": "changelog",
              "status": 304,
              "checkedAt": "2026-11-04T08:32:44.1418251Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "7d8adbd772af"
            },
            {
              "url": "https://www.alphavantage.co/privacy/",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-11-04T08:36:55.255854258Z",
              "changedAt": "0001-01-01T00:00:00Z"
            },
            {
              "url": "https://www.alphavantage.co/terms_of_service/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-11-04T08:36:57.583294573Z",
              "changedAt": "0001-01-01T00:00:00Z"
            }
          ],
          "github": {
            "repo": "alphavantage/alpha_vantage_mcp",
            "checkedAt": "2026-11-02T08:30:09.565782068Z",
            "stars": 224,
            "archived": false,
            "issuesEnabled": true,
            "pushedAt": "2026-10-03T00:09:33Z",
            "openIssues": 1,
            "openPRs": 2,
            "issuesOpened90d": 2,
            "issuesClosed90d": 1,
            "prsMerged90d": 1,
            "ci": {
              "branch": "main",
              "runs": 50,
              "success": 49,
              "failure": 1,
              "other": 0,
              "latest": "success",
              "latestAt": "2026-10-03T00:11:12Z"
            },
            "replies": {
              "sampled": 9,
              "unanswered": 1,
              "medianDays": 7.4
            }
          },
          "updatedAt": "2026-11-04T19:03:32.766786147Z"
        }
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/market-data",
    "json": "https://www.anchorterminal.com/categories/market-data.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/market-data.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/categories/market-data.min.md"
  },
  "markdown": "APIs that give prices and time series, company fundamentals and financial statements, filings, earnings, corporate actions and market news, for agents doing company research or running strategies. Compared on asset and exchange coverage, depth of history, delay on live data, licence limits on redistribution and display, and price per call or per month.\n\n- Tools ranked: 11 · agent-ready (BB or better): 2 · accept x402: 2 · hosted endpoints: 11 · desk reviews by the panel: 6\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Shortlist and picks by need: https://www.anchorterminal.com/best/market-data/index.md\n- Head-to-head comparisons (55): https://www.anchorterminal.com/compare/market-data/index.md\n- Capabilities in this category: market.prices, market.fundamentals, market.filings, market.news, market.history, market.crypto, market.indices\n- https://letme.dev/market.prices picks the top-graded tool in this list and says how to call it direct (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 100 | Massive (formerly Polygon.io) | Massive | HTTP API | Markets | BB | 73.1 | medium | yes ($0.01/call) | API key | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/massive.md |\n| 197 | Twelve Data | Twelve Data Pte. Ltd. | HTTP API | Markets | BB | 70 | medium | no | OAuth or key | hosted and local | none | https://www.anchorterminal.com/tools/twelve-data.md |\n| 492 | Financial Datasets | Financial Datasets, Inc. | HTTP API | Markets | C | 61.8 | medium | yes ($0.02/call) | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/financial-datasets.md |\n| 578 | Databento | Databento, Inc. | HTTP API | Markets | C | 60.3 | medium | no | API key | hosted | none | https://www.anchorterminal.com/tools/databento.md |\n| 651 | EODHD | Unicorn Data Services | HTTP API | Markets | C | 59 | medium | no | OAuth or key | hosted and local | none | https://www.anchorterminal.com/tools/eodhd.md |\n| 879 | Intrinio | Intrinio, Inc. | HTTP API | Markets | C | 54.2 | medium | no | API key | hosted | none | https://www.anchorterminal.com/tools/intrinio.md |\n| 1043 | Benzinga | Benzinga | HTTP API | Markets | D | 49.2 | low | no | API key | hosted | none | https://www.anchorterminal.com/tools/benzinga.md |\n| 1056 | Financial Modeling Prep | Financial Modeling Prep | HTTP API | Markets | D | 48.7 | medium | no | API key | hosted | none | https://www.anchorterminal.com/tools/financial-modeling-prep.md |\n| 1118 | Tiingo | Tiingo Inc. | HTTP API | Markets | D | 46.2 | low | no | API key | hosted | none | https://www.anchorterminal.com/tools/tiingo.md |\n| 1140 | Finnhub | Finnhub | HTTP API | Markets | E | 45.1 | low | no | OAuth or key | hosted | none | https://www.anchorterminal.com/tools/finnhub.md |\n| 1197 | Alpha Vantage | Alpha Vantage Inc. | HTTP API | Markets | E | 41.5 | medium | no | OAuth or key | hosted and local | 3/5 (4) | https://www.anchorterminal.com/tools/alpha-vantage.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 100. Massive (formerly Polygon.io), BB (73.1)\n\nUS market data API for stocks, options, indices, forex, crypto and futures, from the consolidated tapes. 24 US stock routes over x402 at agent.massive.com, $0.01 each on Base, and only successful requests are charged. The status history lists 14 partial incidents in the 90 days to 1 November, including US equity aggregate bars missing for about 16 hours on 8 and 9 September.\n\n- Page: https://www.anchorterminal.com/tools/massive · Markdown: https://www.anchorterminal.com/tools/massive.md · JSON: https://www.anchorterminal.com/api/v1/tools/massive.json\n- Capabilities: market.prices, market.history, data.markets, market.crypto, market.indices · endpoint: `https://api.massive.com`\n\n### 197. Twelve Data, BB (70)\n\nTwelve 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. 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.\n\n- Page: https://www.anchorterminal.com/tools/twelve-data · Markdown: https://www.anchorterminal.com/tools/twelve-data.md · JSON: https://www.anchorterminal.com/api/v1/tools/twelve-data.json\n- Capabilities: market.prices, market.history, market.fundamentals, market.crypto, market.indices, market.news, market.filings, data.markets · endpoint: `https://api.twelvedata.com`\n\n### 492. Financial Datasets, C (61.8)\n\nFinancial Datasets is a stock market data API built for AI agents, with financial statements, SEC filings, earnings, insider and institutional holdings, prices, news and macro series for 27,000 US tickers, through REST, x402 and a hosted MCP server. Every documented GET data endpoint takes x402 with no key, failed calls uncharged, and an agent can open and fund an account by API. A public OpenAPI file, llms.txt and a 28-tool OAuth MCP server cover the same data. There is no status page or free tier, keyed rate limits aren't published, and x402 data stops at 365 days.\n\n- Page: https://www.anchorterminal.com/tools/financial-datasets · Markdown: https://www.anchorterminal.com/tools/financial-datasets.md · JSON: https://www.anchorterminal.com/api/v1/tools/financial-datasets.json\n- Capabilities: market.fundamentals, market.filings, market.prices, market.history, market.news, market.indices, data.markets, data.company · endpoint: `https://api.financialdatasets.ai`\n\n### 578. Databento, C (60.3)\n\nDatabento is a market data platform with historical and live tick, order book and bar data for US and European equities, futures, options and indices, through HTTP and streaming APIs with Python, C++ and Rust clients. Exchange-level tick and order book data metered per GB, with published per-IP rate limits, Retry-After on 429, dated release notes and clients in three languages. The HTTP API is still at major version 0, the status page lists two critical and several major incidents in 90 days, there is no OpenAPI document, and the legal pages were unreadable.\n\n- Page: https://www.anchorterminal.com/tools/databento · Markdown: https://www.anchorterminal.com/tools/databento.md · JSON: https://www.anchorterminal.com/api/v1/tools/databento.json\n- Capabilities: market.prices, market.history, market.indices, data.markets · endpoint: `https://hist.databento.com`\n\n### 651. EODHD, C (59)\n\nEODHD (EOD Historical Data) is a market data API from Unicorn Data Services for end-of-day and intraday prices, fundamentals, dividends and splits, filings, news, options and macro series on 60 exchanges, over REST and a hosted MCP server. Limits, call weights, rate-limit headers, 429 with Retry-After and 402 on an exhausted allowance are documented, with an OpenAPI document and an open-source MCP server of 88 read-only tools. The token is documented in the query string, the MCP v1 address embeds it, the status page could not be read, and the terms carry no date, SLA or governing law.\n\n- Page: https://www.anchorterminal.com/tools/eodhd · Markdown: https://www.anchorterminal.com/tools/eodhd.md · JSON: https://www.anchorterminal.com/api/v1/tools/eodhd.json\n- Capabilities: market.history, market.prices, market.fundamentals, market.filings, market.news, market.indices, market.crypto, data.markets, data.company · endpoint: `https://eodhd.com/api`\n\n### 879. Intrinio, C (54.2)\n\nIntrinio is a US financial data API from Intrinio, Inc. with stock prices, options, fundamentals, filings, estimates and news for US securities, through a REST API, websockets, SDKs in six languages and a hosted MCP server. A read-only US equities, options and fundamentals API with a clean status history, SDKs in six languages, paging up to 10,000 records and an OAuth MCP server included in every plan. The REST key is documented in the query string, no OpenAPI document or llms.txt was found, the version history is undated, and plans start at $150 a month.\n\n- Page: https://www.anchorterminal.com/tools/intrinio · Markdown: https://www.anchorterminal.com/tools/intrinio.md · JSON: https://www.anchorterminal.com/api/v1/tools/intrinio.json\n- Capabilities: market.prices, market.fundamentals, market.filings, market.news, market.history, market.indices, data.markets, data.company · endpoint: `https://api-v2.intrinio.com`\n\n### 1043. Benzinga, D (49.2)\n\nBenzinga is a financial news and data company whose licensed APIs serve news, earnings and ratings calendars, analyst insights, transcripts, SEC filings, fundamentals and options signals over REST, websockets and webhooks, for firms that hold a content licence. Benzinga's news, calendar and transcript APIs are documented from 11 public OpenAPI specs with an llms.txt and a Statuspage. The token travels in the query string, no prices or rate limit numbers are published, the Python client was last released in February 2021, and the vendor's main site refused our reader, so its terms and privacy policy are unread.\n\n- Page: https://www.anchorterminal.com/tools/benzinga · Markdown: https://www.anchorterminal.com/tools/benzinga.md · JSON: https://www.anchorterminal.com/api/v1/tools/benzinga.json\n- Capabilities: market.news, market.fundamentals, market.filings, market.prices, data.markets, data.company · endpoint: `https://api.benzinga.com`\n\n### 1056. Financial Modeling Prep, D (48.7)\n\nFinancial Modeling Prep (FMP) is a market data API for financial statements, earnings, quotes, price history, filings, news and economic series across stocks, ETFs, funds, forex and crypto. Agents call the REST endpoints under /stable or the hosted MCP server. 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.\n\n- Page: https://www.anchorterminal.com/tools/financial-modeling-prep · Markdown: https://www.anchorterminal.com/tools/financial-modeling-prep.md · JSON: https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json\n- Capabilities: market.fundamentals, market.prices, market.history, market.filings, market.news, market.indices, market.crypto, data.company, data.markets · endpoint: `https://financialmodelingprep.com/stable`\n\n### 1118. Tiingo, D (46.2)\n\nTiingo is a market data API from Tiingo Inc. for end-of-day and real-time US equity prices, fund fees, fundamentals, dividends and splits, news, crypto and forex, over REST and WebSocket. Agents call api.tiingo.com with an account token. A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.\n\n- Page: https://www.anchorterminal.com/tools/tiingo · Markdown: https://www.anchorterminal.com/tools/tiingo.md · JSON: https://www.anchorterminal.com/api/v1/tools/tiingo.json\n- Capabilities: market.prices, market.history, market.news, market.fundamentals, market.crypto, data.markets · endpoint: `https://api.tiingo.com`\n\n### 1140. Finnhub, E (45.1)\n\nFinnhub is a market data API for stock quotes and candles, company fundamentals, estimates, filings, transcripts, news and alternative data, with forex, crypto and economic series. Agents call the REST API at finnhub.io/api/v1 or the hosted MCP server at mcp.finnhub.io. A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.\n\n- Page: https://www.anchorterminal.com/tools/finnhub · Markdown: https://www.anchorterminal.com/tools/finnhub.md · JSON: https://www.anchorterminal.com/api/v1/tools/finnhub.json\n- Capabilities: market.prices, market.fundamentals, market.news, market.filings, market.history, market.crypto, market.indices, data.markets, data.company · endpoint: `https://finnhub.io/api/v1`\n\n### 1197. Alpha Vantage, E (41.5)\n\nAlpha Vantage is a market data API for stocks, options, indices, forex, crypto, commodities, fundamentals, news sentiment, economic series and technical indicators. Agents call one REST endpoint with a function name, or the official MCP server at mcp.alphavantage.co. One GET endpoint covers about 130 documented functions, with a free key at 25 requests a day and an official MCP server whose tools are all marked read-only. The REST key travels only in the query string, errors come back as HTTP 200 with a text message, and no status page, SLA or OpenAPI document was found.\n\n- Page: https://www.anchorterminal.com/tools/alpha-vantage · Markdown: https://www.anchorterminal.com/tools/alpha-vantage.md · JSON: https://www.anchorterminal.com/api/v1/tools/alpha-vantage.json\n- Capabilities: market.prices, market.history, market.fundamentals, market.news, data.markets, market.indices, market.crypto, data.company · endpoint: `https://www.alphavantage.co/query`\n\n## How we test this category\n\nIn this run, public evidence against the published checklist. When the task suites run, the same ten tickers asked of each listing for a year of daily closes, the last four quarterly statements and the most recent filing, the answers checked against the exchange and the regulator. We check coverage, the delay on a live quote, what a free key allows in a day and what the licence lets an agent keep. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\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": ""
      }
    ],
    "description": "11 financial market data listings ranked by the Anchor benchmark. Leader Massive (formerly Polygon.io) (BB). APIs that give prices and time series, company fundamentals and financial statements, filings, earnings, corporate actions and market news, for agents doing company research or running strategies. Compared on asset and exchange coverage, depth of history, delay on live data, licence limits on redistribution and display, and price per call or per month.",
    "facts": [
      "Massive (formerly Polygon.io) BB",
      "Twelve Data BB",
      "Financial Datasets C"
    ],
    "h1": "Financial market data APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-market-data.png",
    "path": "/categories/market-data",
    "published": "",
    "section": "tools",
    "title": "Financial market data APIs for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/categories/market-data"
  },
  "tokens": {
    "markdown": 3850,
    "slim": 580
  },
  "version": 1
}
