{
  "data": {
    "a": {
      "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:34:37.819192047Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 711,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 301,
          "p95ms24h": 776,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "securityTxt": {
          "url": "https://financialdatasets.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:54.466191501Z"
        },
        "updatedAt": "2026-11-04T19:34:37.819192047Z"
      }
    },
    "answer": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Datasets's 61.8 (C), and leads in 6 of 7 scored categories. Financial Datasets leads on security \u0026 auth.",
    "b": {
      "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:34:53.381369549Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 307,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.98,
          "p50ms24h": 267,
          "p95ms24h": 358,
          "samples24h": 247,
          "samples30d": 8069,
          "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": 202,
              "ok": 202
            }
          ]
        },
        "vendorStatus": {
          "page": "https://massive-status.com",
          "indicator": "minor",
          "summary": "Partially Degraded Service",
          "checkedAt": "2026-11-04T19:31:43.686632907Z"
        },
        "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:34:53.381369549Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "reliability",
        "leads": "massive",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service. No status page was found; status.financialdatasets.ai does not resolve and no page links one (0), so there is no incident history to read (5). The only published limit is 10,000 requests a minute per wallet over x402, with monthly request caps per plan and none per minute for keyed plans (8 of 15). The OpenAPI file declares 429 and the x402 page documents a 503 with Retry-After from the facilitator and a `duplicate_payment` check on replayed signatures (10 of 15). The Professional plan lists uptime SLAs, with no figure published (10). The API is generally available (10). Total 43.",
          "b": "Atlassian Statuspage at massive-status.com with REST, WebSocket and flat-file components for each asset class (20). The history feed lists 14 unplanned incidents from 3 August to 1 November 2026, each limited to one product, one endpoint, one asset class or some accounts. They include US equity aggregate bars missing for roughly two-thirds of US equities from 18:46 ET on 8 September until 10:29 the next day, stale stocks quotes on 20 August, and slow responses with intermittent 502s on stocks v2 aggregates from 10:37 to 13:08 ET on 2 September. The newest, on 27 October, was delayed WebSocket data and REST errors for some accounts from 13:49 to 14:17 EDT. Read the way partial incidents are read on other listings, that is minor incidents only (20). Free plan limited to 5 calls a minute, paid plans unlimited, nothing stated for x402 (10 of 15). No 429 or Retry-After guidance found in the docs or the OpenAPI file, though the official Python client retries 429 with backoff (8 of 15). The business terms dated 6 October 2026 point to a separate Support Policy and SLA document for customers who buy service levels (10). The REST API is generally available (10)."
        },
        "scores": {
          "a": 43,
          "b": 78
        }
      },
      {
        "by": 26,
        "category": "maintenance",
        "leads": "massive",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "UK fundamentals went live on 26 October 2026, India on 23 October, with Japan and South Korea dated for November on the coverage page (30). Dated changes in the last 90 days are x402 on 23 October, UK fundamentals on 26 October, terms and subprocessor list on 29 October, privacy policy on 20 August, with no changelog as such (12 of 20). Contact is a form and the dashboard; no support email, Discord or forum was found, and the GitHub organisation's four repositories couldn't be read because the GitHub API rate limit was reached (6 of 15). The PyPI package is 0.1.18 of 26 May 2024 by the founder, and the docs point to the OpenAPI file and the MCP server rather than an SDK (5 of 15). Package health unknown, dependencies not checked (3 of 10). Total 56.",
          "b": "Newest changelog entry 2026-10-28, new Insider Trading Activity and Insider Holdings endpoints (30). Changelog entries on 25 August, 1 September, 22 September, 2 October, 16 October and 28 October, six in 90 days, besides client releases (20). Public changelog and a support channel. We couldn't read GitHub issue activity in this run (10 of 15). Official clients are current, with Python v2.9.0 on 2026-10-16 and v2.9.1 on 2026-10-25, Go v3.5.0, v3.6.0 and v3.7.0 between 20 and 27 October and JavaScript v10.8.0 on 2026-09-17, each regenerated from the OpenAPI spec (15). The MCP and client repos run CI. The MCP server repository is still at v0.10.0 of 2026-05-05 and its README still calls the project experimental (7 of 10)."
        },
        "scores": {
          "a": 56,
          "b": 82
        }
      },
      {
        "by": 15,
        "category": "payments",
        "leads": "massive",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "x402 on the vendor's own endpoints for every documented GET data endpoint, 36 of them, with the last 365 days only and a Non-Professional licence; full history, the market snapshot, filing items and the POST endpoints need a key (35 of 40). Plan prices and overage rates are public, and each x402 endpoint quotes its price in the 402 header, $0.02 on /earnings (20). No free tier or trial found; data calls return 402 until an account holds credits, from $20 (0). An agent can pay by x402 with no account, or open an account with `POST /agent/signup` and have the owner fund it (20). Total 75.",
          "b": "x402 on its own domain at agent.massive.com since 1 September, but only 23 US stock routes. Options, indices, forex, crypto, futures, tick data and streaming still need a key (30 of 40). $0.01 a route on Agentic.Market, which the docs link to, and plan prices on massive.com/pricing, all without a login (20). Free Basic plan at 5 calls a minute with end-of-day data. The pricing page doesn't say a card is needed (20). An agent with a funded Base wallet can pay with no account (20)."
        },
        "scores": {
          "a": 75,
          "b": 90
        }
      },
      {
        "by": 14,
        "category": "security",
        "leads": "financial-datasets",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "A plain account key in the `X-API-KEY` header only, revoked from the dashboard, with no scopes, rotation or expiry; the MCP server adds OAuth 2 with PKCE (plain and S256), dynamic client registration, a revocation endpoint and one scope (20 of 30). Every data endpoint is a read; the x402 route and agent signup don't change the account beyond funding it (15 of 20). Filing text, filing items and news are third-party content, with no guidance on treating them as untrusted (5 of 15). The privacy policy says requests and responses are logged for up to three years; no per-call log is shown to the key holder (5 of 15). security.txt returns 404 and no bounty, SOC 2 or ISO 27001 was found; the terms ask for prompt notice of a compromised key and a subprocessor list is published (4 of 20). Total 49.",
          "b": "A plain account key with no scopes, sent as a Bearer header or as `?apiKey=` in the query string, a documented option (20 less 10, so 10). The x402 route at agent.massive.com needs no key. Read-only market data with no write actions (15 of 20). The x402 set includes news and SEC filing text written by third parties, and we found no guidance on treating it as untrusted (5 of 15). Paid x402 calls leave an on-chain USDC transfer. We found no request log documented for keyed callers (5 of 15). security.txt returns 404, and the terms and privacy policy name no SOC 2, ISO 27001, bug bounty or disclosure policy, only safeguards 'consistent with general industry standards' (0 of 20)."
        },
        "scores": {
          "a": 49,
          "b": 35
        }
      },
      {
        "by": 9,
        "category": "schema",
        "leads": "massive",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "OpenAPI 3.0.1 at financialdatasets.ai/openapi.json, 68 operations with 13 response codes and one security scheme, named the source of truth by the docs (25). llms.txt and a Markdown twin of every page (10). Every operation has a description, and the 402 terms carry a resource description that says when an agent should use the endpoint (17 of 20). 330 parameters, 36 with enums, 32 required, no free-form blobs (12 of 15). Code samples in Python, JavaScript and curl, x402 error values documented, but response examples on only six operations in the spec (11 of 15). No API version and no changelog; the news page has four dated posts in 2026 (5 of 15). Total 80.",
          "b": "OpenAPI document at api.massive.com/openapi (OpenAPI 3.0.3, 148 paths) with enums such as `timespan` and `sort`, and 400, 401 and 404 responses defined (25). llms.txt at massive.com/docs/rest/llms.txt indexing about 160 endpoint pages (10). One-line descriptions per endpoint in the index, longer ones in the reference, with little on when not to use a call (14 of 20). Typed path and query parameters with enums and required fields (13 of 15). Examples in the docs and error responses in the spec, though the llms.txt says nothing about error shapes (12 of 15). Versioned paths from /v1 to /v3 and a dated public changelog (15)."
        },
        "scores": {
          "a": 80,
          "b": 89
        }
      },
      {
        "by": 5,
        "category": "ergonomics",
        "leads": "massive",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`limit` and `period` on the data endpoints, `as_reported` flags and snapshot variants, with no field selection (15 of 25). `next_page_url` cursors and ticker, CIK, market and date filters (18 of 20). A 402 body says what to do next, x402 errors carry named values, and the spec lists 400, 401, 403, 404, 409, 422, 429, 502 and 503 (16 of 20). Data calls are GETs, payment settles only after a successful response, and a replayed x402 signature is refused; no readOnlyHint found for the MCP tools and no idempotency key for the POST endpoints (14 of 20). Few required parameters, 28 compact MCP tools, but the only package, financial-datasets on PyPI, is at 0.1.18 from 26 May 2024 (10 of 15). Total 73.",
          "b": "`limit`, `sort` and `adjusted` on most list and aggregate calls, no field selection found (15 of 25). `next_url` pagination that the official clients follow for you, plus date and ticker filters (18 of 20). Errors in the spec carry a status and message, with 400 responses on 64 of the 148 operations (14 of 20). All market data calls are GETs, and the x402 docs say only successful requests are charged and each page is charged separately. The hosted MCP's three tools carry readOnlyHint, per the 1 October check (16 of 20). Official clients in Python, JavaScript, Go and the JVM, with few required parameters (15)."
        },
        "scores": {
          "a": 73,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Financial Datasets, Inc.",
        "b": "Massive",
        "name": "Vendor"
      },
      {
        "a": "https://api.financialdatasets.ai",
        "b": "https://api.massive.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "yes, from $0.02/call",
        "b": "yes, from $0.01/call",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "MIT (clients)",
        "name": "Licence"
      },
      {
        "a": "28",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2026-10-29",
        "b": "2026-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-20",
        "b": "2024-03-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "none",
        "b": "1.5k stars",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Datasets's 61.8 (C), and leads in 6 of 7 scored categories. Financial Datasets leads on security \u0026 auth.",
        "question": "Which is better for AI agents, Financial Datasets or Massive (formerly Polygon.io)?"
      },
      {
        "answer": "Financial Datasets takes an API key or an OAuth sign-in. Massive (formerly Polygon.io) needs an API key. An agent can also pay Financial Datasets per call over x402, with no account. An agent can also pay Massive (formerly Polygon.io) per call over x402, with no account.",
        "question": "Do Financial Datasets and Massive (formerly Polygon.io) need an API key?"
      },
      {
        "answer": "Yes. Financial Datasets has a hosted endpoint at https://api.financialdatasets.ai and Massive (formerly Polygon.io) at https://api.massive.com.",
        "question": "Can an agent call Financial Datasets and Massive (formerly Polygon.io) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Security \u0026 auth, 49 against 35"
        ],
        "also": null,
        "goodFor": "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.",
        "slug": "financial-datasets",
        "watchFor": "No status page, incident history or published uptime; the Professional plan's SLA terms aren't public"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 43",
          "Schema \u0026 documentation, 89 against 80",
          "Agent ergonomics, 78 against 73",
          "Payments \u0026 pricing, 90 against 75",
          "Maintenance \u0026 community, 82 against 56"
        ],
        "also": [
          "Agent-ready, a grade of BB or better"
        ],
        "goodFor": "Agents that need US equities, options or futures data with real history, and the only listing here selling US stock data over x402.",
        "slug": "massive",
        "watchFor": "14 partial incidents from 3 August to 1 November 2026, mostly stale or missing data on stock aggregates and quotes"
      }
    ],
    "history": {
      "financial-datasets": null,
      "massive": [
        {
          "causes": [
            "product",
            "correction"
          ],
          "date": "2026-11-01",
          "delta": 3.2,
          "from": 69.9,
          "fromGrade": "B",
          "to": 73.1,
          "toGrade": "BB"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.1,
          "from": 69.8,
          "fromGrade": "B",
          "to": 69.9,
          "toGrade": "B"
        },
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-08",
          "delta": -0.2,
          "from": 70,
          "fromGrade": "BB",
          "to": 69.8,
          "toGrade": "B"
        }
      ]
    },
    "job": {
      "capability": "market.prices",
      "name": "Market prices"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.json",
        "title": "Alpha Vantage vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-massive.json",
        "title": "Alpha Vantage vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-massive.json",
        "title": "Benzinga vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets.json",
        "title": "Databento vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-massive.json",
        "title": "Databento vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/databento-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.json",
        "title": "Financial Modeling Prep vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finnhub-vs-massive.json",
        "title": "Finnhub vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/finnhub-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/intrinio-vs-massive.json",
        "title": "Intrinio vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/intrinio-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/massive-vs-tiingo.json",
        "title": "Massive (formerly Polygon.io) vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/massive-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/massive-vs-twelve-data.json",
        "title": "Massive (formerly Polygon.io) vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/massive-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.json",
        "title": "Financial Datasets vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub.json",
        "title": "Financial Datasets vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio.json",
        "title": "Financial Datasets vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.json",
        "title": "Financial Datasets vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.json",
        "title": "Financial Datasets vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.json",
        "title": "EODHD vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-massive.json",
        "title": "EODHD vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.json",
        "title": "Benzinga vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 35,
        "edge": "massive",
        "financial-datasets": 43,
        "key": "reliability",
        "massive": 78,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "massive",
        "financial-datasets": 80,
        "key": "schema",
        "massive": 89,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 5,
        "edge": "massive",
        "financial-datasets": 73,
        "key": "ergonomics",
        "massive": 78,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 14,
        "edge": "financial-datasets",
        "financial-datasets": 49,
        "key": "security",
        "massive": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 15,
        "edge": "massive",
        "financial-datasets": 75,
        "key": "payments",
        "massive": 90,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 26,
        "edge": "massive",
        "financial-datasets": 56,
        "key": "maintenance",
        "massive": 82,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 4,
        "edge": "massive",
        "financial-datasets": 63,
        "key": "transparency",
        "massive": 67,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Datasets's 61.8 (C), and leads in 6 of 7 scored categories. Financial Datasets leads on security \u0026 auth. Both do market prices.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "financial-datasets": "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.",
      "massive": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive",
    "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive.min.md"
  },
  "markdown": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Datasets's 61.8 (C), and leads in 6 of 7 scored categories. Financial Datasets leads on security \u0026 auth. Both do market prices.\n\n- Financial Datasets: grade C, 61.8/100, rank #492 of 1349. Markdown https://www.anchorterminal.com/tools/financial-datasets.md · JSON https://www.anchorterminal.com/api/v1/tools/financial-datasets.json\n- Massive (formerly Polygon.io): grade BB, 73.1/100, rank #100 of 1349. Markdown https://www.anchorterminal.com/tools/massive.md · JSON https://www.anchorterminal.com/api/v1/tools/massive.json\n- Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md\n- All 55 markets comparisons: https://www.anchorterminal.com/compare/market-data/index.md\n\n## Which one, for what\n\n### Financial Datasets (C)\n\nGood for: 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.\n\nAhead on:\n- Security \u0026 auth, 49 against 35\n\nWatch for: No status page, incident history or published uptime; the Professional plan's SLA terms aren't public\n\n### Massive (formerly Polygon.io) (BB)\n\nGood for: Agents that need US equities, options or futures data with real history, and the only listing here selling US stock data over x402.\n\nAhead on:\n- Reliability, 78 against 43\n- Schema \u0026 documentation, 89 against 80\n- Agent ergonomics, 78 against 73\n- Payments \u0026 pricing, 90 against 75\n- Maintenance \u0026 community, 82 against 56\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n\nWatch for: 14 partial incidents from 3 August to 1 November 2026, mostly stale or missing data on stock aggregates and quotes\n\n\n## Why the edge\n\n### Reliability: Massive (formerly Polygon.io) +35\n\n- Financial Datasets (43): Graded as a hosted service. No status page was found; status.financialdatasets.ai does not resolve and no page links one (0), so there is no incident history to read (5). The only published limit is 10,000 requests a minute per wallet over x402, with monthly request caps per plan and none per minute for keyed plans (8 of 15). The OpenAPI file declares 429 and the x402 page documents a 503 with Retry-After from the facilitator and a `duplicate_payment` check on replayed signatures (10 of 15). The Professional plan lists uptime SLAs, with no figure published (10). The API is generally available (10). Total 43.\n- Massive (formerly Polygon.io) (78): Atlassian Statuspage at massive-status.com with REST, WebSocket and flat-file components for each asset class (20). The history feed lists 14 unplanned incidents from 3 August to 1 November 2026, each limited to one product, one endpoint, one asset class or some accounts. They include US equity aggregate bars missing for roughly two-thirds of US equities from 18:46 ET on 8 September until 10:29 the next day, stale stocks quotes on 20 August, and slow responses with intermittent 502s on stocks v2 aggregates from 10:37 to 13:08 ET on 2 September. The newest, on 27 October, was delayed WebSocket data and REST errors for some accounts from 13:49 to 14:17 EDT. Read the way partial incidents are read on other listings, that is minor incidents only (20). Free plan limited to 5 calls a minute, paid plans unlimited, nothing stated for x402 (10 of 15). No 429 or Retry-After guidance found in the docs or the OpenAPI file, though the official Python client retries 429 with backoff (8 of 15). The business terms dated 6 October 2026 point to a separate Support Policy and SLA document for customers who buy service levels (10). The REST API is generally available (10).\n\n### Maintenance \u0026 community: Massive (formerly Polygon.io) +26\n\n- Financial Datasets (56): UK fundamentals went live on 26 October 2026, India on 23 October, with Japan and South Korea dated for November on the coverage page (30). Dated changes in the last 90 days are x402 on 23 October, UK fundamentals on 26 October, terms and subprocessor list on 29 October, privacy policy on 20 August, with no changelog as such (12 of 20). Contact is a form and the dashboard; no support email, Discord or forum was found, and the GitHub organisation's four repositories couldn't be read because the GitHub API rate limit was reached (6 of 15). The PyPI package is 0.1.18 of 26 May 2024 by the founder, and the docs point to the OpenAPI file and the MCP server rather than an SDK (5 of 15). Package health unknown, dependencies not checked (3 of 10). Total 56.\n- Massive (formerly Polygon.io) (82): Newest changelog entry 2026-10-28, new Insider Trading Activity and Insider Holdings endpoints (30). Changelog entries on 25 August, 1 September, 22 September, 2 October, 16 October and 28 October, six in 90 days, besides client releases (20). Public changelog and a support channel. We couldn't read GitHub issue activity in this run (10 of 15). Official clients are current, with Python v2.9.0 on 2026-10-16 and v2.9.1 on 2026-10-25, Go v3.5.0, v3.6.0 and v3.7.0 between 20 and 27 October and JavaScript v10.8.0 on 2026-09-17, each regenerated from the OpenAPI spec (15). The MCP and client repos run CI. The MCP server repository is still at v0.10.0 of 2026-05-05 and its README still calls the project experimental (7 of 10).\n\n### Payments \u0026 pricing: Massive (formerly Polygon.io) +15\n\n- Financial Datasets (75): x402 on the vendor's own endpoints for every documented GET data endpoint, 36 of them, with the last 365 days only and a Non-Professional licence; full history, the market snapshot, filing items and the POST endpoints need a key (35 of 40). Plan prices and overage rates are public, and each x402 endpoint quotes its price in the 402 header, $0.02 on /earnings (20). No free tier or trial found; data calls return 402 until an account holds credits, from $20 (0). An agent can pay by x402 with no account, or open an account with `POST /agent/signup` and have the owner fund it (20). Total 75.\n- Massive (formerly Polygon.io) (90): x402 on its own domain at agent.massive.com since 1 September, but only 23 US stock routes. Options, indices, forex, crypto, futures, tick data and streaming still need a key (30 of 40). $0.01 a route on Agentic.Market, which the docs link to, and plan prices on massive.com/pricing, all without a login (20). Free Basic plan at 5 calls a minute with end-of-day data. The pricing page doesn't say a card is needed (20). An agent with a funded Base wallet can pay with no account (20).\n\n### Security \u0026 auth: Financial Datasets +14\n\n- Financial Datasets (49): A plain account key in the `X-API-KEY` header only, revoked from the dashboard, with no scopes, rotation or expiry; the MCP server adds OAuth 2 with PKCE (plain and S256), dynamic client registration, a revocation endpoint and one scope (20 of 30). Every data endpoint is a read; the x402 route and agent signup don't change the account beyond funding it (15 of 20). Filing text, filing items and news are third-party content, with no guidance on treating them as untrusted (5 of 15). The privacy policy says requests and responses are logged for up to three years; no per-call log is shown to the key holder (5 of 15). security.txt returns 404 and no bounty, SOC 2 or ISO 27001 was found; the terms ask for prompt notice of a compromised key and a subprocessor list is published (4 of 20). Total 49.\n- Massive (formerly Polygon.io) (35): A plain account key with no scopes, sent as a Bearer header or as `?apiKey=` in the query string, a documented option (20 less 10, so 10). The x402 route at agent.massive.com needs no key. Read-only market data with no write actions (15 of 20). The x402 set includes news and SEC filing text written by third parties, and we found no guidance on treating it as untrusted (5 of 15). Paid x402 calls leave an on-chain USDC transfer. We found no request log documented for keyed callers (5 of 15). security.txt returns 404, and the terms and privacy policy name no SOC 2, ISO 27001, bug bounty or disclosure policy, only safeguards 'consistent with general industry standards' (0 of 20).\n\n### Schema \u0026 documentation: Massive (formerly Polygon.io) +9\n\n- Financial Datasets (80): OpenAPI 3.0.1 at financialdatasets.ai/openapi.json, 68 operations with 13 response codes and one security scheme, named the source of truth by the docs (25). llms.txt and a Markdown twin of every page (10). Every operation has a description, and the 402 terms carry a resource description that says when an agent should use the endpoint (17 of 20). 330 parameters, 36 with enums, 32 required, no free-form blobs (12 of 15). Code samples in Python, JavaScript and curl, x402 error values documented, but response examples on only six operations in the spec (11 of 15). No API version and no changelog; the news page has four dated posts in 2026 (5 of 15). Total 80.\n- Massive (formerly Polygon.io) (89): OpenAPI document at api.massive.com/openapi (OpenAPI 3.0.3, 148 paths) with enums such as `timespan` and `sort`, and 400, 401 and 404 responses defined (25). llms.txt at massive.com/docs/rest/llms.txt indexing about 160 endpoint pages (10). One-line descriptions per endpoint in the index, longer ones in the reference, with little on when not to use a call (14 of 20). Typed path and query parameters with enums and required fields (13 of 15). Examples in the docs and error responses in the spec, though the llms.txt says nothing about error shapes (12 of 15). Versioned paths from /v1 to /v3 and a dated public changelog (15).\n\n### Agent ergonomics: Massive (formerly Polygon.io) +5\n\n- Financial Datasets (73): `limit` and `period` on the data endpoints, `as_reported` flags and snapshot variants, with no field selection (15 of 25). `next_page_url` cursors and ticker, CIK, market and date filters (18 of 20). A 402 body says what to do next, x402 errors carry named values, and the spec lists 400, 401, 403, 404, 409, 422, 429, 502 and 503 (16 of 20). Data calls are GETs, payment settles only after a successful response, and a replayed x402 signature is refused; no readOnlyHint found for the MCP tools and no idempotency key for the POST endpoints (14 of 20). Few required parameters, 28 compact MCP tools, but the only package, financial-datasets on PyPI, is at 0.1.18 from 26 May 2024 (10 of 15). Total 73.\n- Massive (formerly Polygon.io) (78): `limit`, `sort` and `adjusted` on most list and aggregate calls, no field selection found (15 of 25). `next_url` pagination that the official clients follow for you, plus date and ticker filters (18 of 20). Errors in the spec carry a status and message, with 400 responses on 64 of the 148 operations (14 of 20). All market data calls are GETs, and the x402 docs say only successful requests are charged and each page is charged separately. The hosted MCP's three tools carry readOnlyHint, per the 1 October check (16 of 20). Official clients in Python, JavaScript, Go and the JVM, with few required parameters (15).\n\n## Score by category\n\n| Category | Weight | Financial Datasets | Massive (formerly Polygon.io) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 78 | Massive (formerly Polygon.io) +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 89 | Massive (formerly Polygon.io) +9 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 78 | Massive (formerly Polygon.io) +5 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 35 | Financial Datasets +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 75 | 90 | Massive (formerly Polygon.io) +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 56 | 82 | Massive (formerly Polygon.io) +26 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 67 | Massive (formerly Polygon.io) +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.8 · C** | **73.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Financial Datasets | Massive (formerly Polygon.io) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Financial Datasets, Inc. | Massive |\n| Hosted endpoint | `https://api.financialdatasets.ai` | `https://api.massive.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | yes, from $0.02/call | yes, from $0.01/call |\n| Licence | none | MIT (clients) |\n| Tools exposed | 28 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-10-28 |\n| Terms last updated | 2026-10-29 | 2026-10-06 |\n| Privacy policy last updated | 2026-08-20 | 2024-03-22 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | yes |\n| Terms restrict benchmarking | yes | yes |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | none | 1.5k stars |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### Financial Datasets\n\nNo score change since it was listed.\n\n### Massive (formerly Polygon.io)\n\n- +3.2 on 1 November 2026 (B to BB): product, correction\n- +0.1 on 27 October 2026: checklist\n- -0.2 on 8 October 2026 (BB to B): checklist\n\n## Verdicts\n\n**Financial Datasets.** 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**Massive (formerly Polygon.io).** 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## Before you call either\n\n### Financial Datasets\n\n1. 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\n2. Keep `limit` small and ask for one `period` at a time; premium endpoints count as 2, 4 or 8 requests on keyed plans\n3. 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\n4. Treat a 402 on a keyed account as an empty balance and mint a checkout link for the owner; don't retry the call\n5. Check the plan's licence before showing the data to anyone else; redistribution needs Professional or Enterprise\n\n### Massive (formerly Polygon.io)\n\n1. Send the key as a Bearer header, not `?apiKey=`, so it stays out of logs\n2. Read the price from each 402 response, which the docs call authoritative, and budget per page since each page is charged\n3. Use agent.massive.com only for US stocks. Options, crypto, forex and futures need a keyed plan\n4. Check `massive-status.com` when aggregates look stale, since several incidents since August were bars that stopped updating or went missing\n5. Don't republish prices fetched on an individual plan\n\n## Questions\n\n### Which is better for AI agents, Financial Datasets or Massive (formerly Polygon.io)?\n\nMassive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Datasets's 61.8 (C), and leads in 6 of 7 scored categories. Financial Datasets leads on security \u0026 auth.\n\n### Do Financial Datasets and Massive (formerly Polygon.io) need an API key?\n\nFinancial Datasets takes an API key or an OAuth sign-in. Massive (formerly Polygon.io) needs an API key. An agent can also pay Financial Datasets per call over x402, with no account. An agent can also pay Massive (formerly Polygon.io) per call over x402, with no account.\n\n### Can an agent call Financial Datasets and Massive (formerly Polygon.io) without installing anything?\n\nYes. Financial Datasets has a hosted endpoint at https://api.financialdatasets.ai and Massive (formerly Polygon.io) at https://api.massive.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/financial-datasets-vs-massive.json, and with the fewest tokens: https://www.anchorterminal.com/compare/financial-datasets-vs-massive.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"financial-datasets\", \"b\": \"massive\"}`. From a terminal: `anchor compare financial-datasets massive`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/financial-datasets.json and https://www.anchorterminal.com/api/v1/tools/massive.json\n\n## Other comparisons with Financial Datasets or Massive (formerly Polygon.io)\n\n- [Alpha Vantage vs Financial Datasets](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.md)\n- [Alpha Vantage vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/alpha-vantage-vs-massive.md)\n- [Benzinga vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/benzinga-vs-massive.md)\n- [Databento vs Financial Datasets](https://www.anchorterminal.com/compare/databento-vs-financial-datasets.md)\n- [Databento vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/databento-vs-massive.md)\n- [Financial Modeling Prep vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.md)\n- [Finnhub vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/finnhub-vs-massive.md)\n- [Intrinio vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/intrinio-vs-massive.md)\n- [Massive (formerly Polygon.io) vs Tiingo](https://www.anchorterminal.com/compare/massive-vs-tiingo.md)\n- [Massive (formerly Polygon.io) vs Twelve Data](https://www.anchorterminal.com/compare/massive-vs-twelve-data.md)\n- [Financial Datasets vs Financial Modeling Prep](https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.md)\n- [Financial Datasets vs Finnhub](https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub.md)\n- [Financial Datasets vs Intrinio](https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio.md)\n- [Financial Datasets vs Tiingo](https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.md)\n- [Financial Datasets vs Twelve Data](https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.md)\n- [EODHD vs Financial Datasets](https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.md)\n- [EODHD vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/eodhd-vs-massive.md)\n- [Benzinga vs Financial Datasets](https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.md)\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": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Financial Datasets vs Massive (formerly Polygon.io)",
        "url": ""
      }
    ],
    "description": "Massive scores 73.1 (BB) to Financial Datasets's 61.8 (C) for market prices. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Financial Datasets C 61.8",
      "Massive (formerly Polygon.io) BB 73.1",
      "scores"
    ],
    "h1": "Financial Datasets vs Massive (formerly Polygon.io)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/financial-datasets-vs-massive",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Financial Datasets vs Massive for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive"
  },
  "tokens": {
    "markdown": 4900,
    "slim": 2980
  },
  "version": 1
}
