{
  "data": {
    "a": {
      "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:34:35.803777685Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 648,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 511,
          "p95ms24h": 788,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "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:34:35.803777685Z"
      }
    },
    "answer": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against EODHD's 59 (C), and leads in 5 of 7 scored categories.",
    "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": 60,
        "category": "payments",
        "leads": "massive",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public without login, personal and commercial, sold by the month with daily call allowances and per-endpoint call weights rather than per call (10). A free plan at 20 calls a day with no card (20). The token comes from a browser signup and no key API was found (0). 0 + 10 + 20 + 0 = 30.",
          "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": 30,
          "b": 90
        }
      },
      {
        "by": 19,
        "category": "schema",
        "leads": "massive",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "An OpenAPI 3.1 document in a public repository covers 74 endpoints, last updated 18 February 2026, and the MCP server's 88 tools carry typed inputs and annotations in the source (22 of 25). llms.txt of 32 KB and an llms-full.txt, plus documentation resources inside the MCP server (10). Each API page states its purpose and plan, and tool titles name the dataset, with little on when not to use one (14 of 20). Parameters are documented with formats and the symbol convention is spelled out, but allowed values sit in prose (8 of 15). Examples on every API page and the demo token, with 401, 402, 403, 404, 422 and 429 documented in llms.txt and the limits article (11 of 15). Exchange Details v2 shipped in May 2026 with v1 kept, MCP has v1 and v2, and new APIs are announced on a dated blog, but there is no changelog page (5 of 15). 22 + 10 + 14 + 8 + 11 + 5 = 70.",
          "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": 70,
          "b": 89
        }
      },
      {
        "by": 15,
        "category": "transparency",
        "leads": "massive",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "A closed, proprietary API under terms that name the entity and the personal and professional user classes but carry no date and no governing law; the MCP server and OpenAPI document are MIT (15 of 30). The privacy policy is undated, keeps data while the account is active with no periods, names Google only, and no DPA was found; the MCP server's telemetry is disclosed in its README (8 of 30). No deprecation policy; Exchange Details v1 was kept when v2 shipped, and new APIs are dated on the blog (5 of 20). No subprocessor list or data locations beyond Google as an advertising platform (2 of 20). 15 + 8 + 5 + 2 = 30.",
          "b": "Closed service under business terms last updated 6 October 2026, Massive.com, Inc. under Georgia law, which now also cover pay-per-request purchases without an account. The MCP server and clients are MIT (15). Privacy policy last updated 22 March 2024, with retention 'as long as we are providing the Services' and no periods. The business terms require deleting data on termination. No DPA found (12 of 30). Dated sunsets in the changelog. The terms let Massive change the Services at its discretion, with a 30-day route to report a change that materially degrades a subscribed service (10 of 20). Stripe, Google and Hotjar are named, and data may sit 'in the United States and locations around the world'. No subprocessor list (8 of 20)."
        },
        "scores": {
          "a": 52,
          "b": 67
        }
      },
      {
        "by": 13,
        "category": "reliability",
        "leads": "massive",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. A public status page exists at uptime.eodhistoricaldata.com, an UptimeRobot page announced on the blog on 27 March 2020 (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 20 calls a day free, 100,000 a day on paid plans, 1,000 requests a minute, with call weights per endpoint (15). 429 carries Retry-After, X-RateLimit headers report the ceiling, and 402 marks an exhausted allowance; reads only (15). The terms promise commercially reasonable efforts and no SLA, with SLAs sold by sales (0). The core API is generally available, with several newer APIs marked beta (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.",
          "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": 65,
          "b": 78
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Unicorn Data Services",
        "b": "Massive",
        "name": "Vendor"
      },
      {
        "a": "https://eodhd.com/api",
        "b": "https://api.massive.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, SSE (legacy), stdio, websocket",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "yes, from $0.01/call",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "MIT (clients)",
        "name": "Licence"
      },
      {
        "a": "88",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-15",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "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": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "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": "24 stars",
        "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 EODHD's 59 (C), and leads in 5 of 7 scored categories.",
        "question": "Which is better for AI agents, EODHD or Massive (formerly Polygon.io)?"
      },
      {
        "answer": "EODHD takes an API key or an OAuth sign-in. Massive (formerly Polygon.io) needs an API key. An agent can also pay Massive (formerly Polygon.io) per call over x402, with no account.",
        "question": "Do EODHD and Massive (formerly Polygon.io) need an API key?"
      },
      {
        "answer": "Yes. EODHD has a hosted endpoint at https://eodhd.com/api and Massive (formerly Polygon.io) at https://api.massive.com.",
        "question": "Can an agent call EODHD and Massive (formerly Polygon.io) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "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.",
        "slug": "eodhd",
        "watchFor": "Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries it in the URL"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 65",
          "Schema \u0026 documentation, 89 against 70",
          "Payments \u0026 pricing, 90 against 30",
          "Transparency \u0026 trust, 67 against 52"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "An agent can pay per call over x402, with no account"
        ],
        "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": {
      "eodhd": 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.history",
      "name": "Market history"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.json",
        "title": "Alpha Vantage vs EODHD",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd"
      },
      {
        "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-eodhd.json",
        "title": "Databento vs EODHD",
        "url": "https://www.anchorterminal.com/compare/databento-vs-eodhd"
      },
      {
        "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-datasets-vs-massive.json",
        "title": "Financial Datasets vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-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/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-financial-modeling-prep.json",
        "title": "EODHD vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-finnhub.json",
        "title": "EODHD vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio.json",
        "title": "EODHD vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo.json",
        "title": "EODHD vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.json",
        "title": "EODHD vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-eodhd.json",
        "title": "Benzinga vs EODHD",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-eodhd"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 13,
        "edge": "massive",
        "eodhd": 65,
        "key": "reliability",
        "massive": 78,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 19,
        "edge": "massive",
        "eodhd": 70,
        "key": "schema",
        "massive": 89,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 2,
        "edge": "massive",
        "eodhd": 76,
        "key": "ergonomics",
        "massive": 78,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "eodhd",
        "eodhd": 39,
        "key": "security",
        "massive": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 60,
        "edge": "massive",
        "eodhd": 30,
        "key": "payments",
        "massive": 90,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 0,
        "edge": "",
        "eodhd": 82,
        "key": "maintenance",
        "massive": 82,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 15,
        "edge": "massive",
        "eodhd": 52,
        "key": "transparency",
        "massive": 67,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against EODHD's 59 (C), and leads in 5 of 7 scored categories. Both do market history. Massive (formerly Polygon.io) accepts x402. EODHD doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "eodhd": "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.",
      "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/eodhd-vs-massive",
    "json": "https://www.anchorterminal.com/compare/eodhd-vs-massive.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/eodhd-vs-massive.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/eodhd-vs-massive.min.md"
  },
  "markdown": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against EODHD's 59 (C), and leads in 5 of 7 scored categories. Both do market history. Massive (formerly Polygon.io) accepts x402. EODHD doesn't.\n\n- EODHD: grade C, 59/100, rank #651 of 1349. Markdown https://www.anchorterminal.com/tools/eodhd.md · JSON https://www.anchorterminal.com/api/v1/tools/eodhd.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### EODHD (C)\n\nGood for: 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.\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries it in the URL\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 65\n- Schema \u0026 documentation, 89 against 70\n- Payments \u0026 pricing, 90 against 30\n- Transparency \u0026 trust, 67 against 52\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- An agent can pay per call over x402, with no account\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### Payments \u0026 pricing: Massive (formerly Polygon.io) +60\n\n- EODHD (30): No x402, MPP or L402 (0). Plan prices are public without login, personal and commercial, sold by the month with daily call allowances and per-endpoint call weights rather than per call (10). A free plan at 20 calls a day with no card (20). The token comes from a browser signup and no key API was found (0). 0 + 10 + 20 + 0 = 30.\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### Schema \u0026 documentation: Massive (formerly Polygon.io) +19\n\n- EODHD (70): An OpenAPI 3.1 document in a public repository covers 74 endpoints, last updated 18 February 2026, and the MCP server's 88 tools carry typed inputs and annotations in the source (22 of 25). llms.txt of 32 KB and an llms-full.txt, plus documentation resources inside the MCP server (10). Each API page states its purpose and plan, and tool titles name the dataset, with little on when not to use one (14 of 20). Parameters are documented with formats and the symbol convention is spelled out, but allowed values sit in prose (8 of 15). Examples on every API page and the demo token, with 401, 402, 403, 404, 422 and 429 documented in llms.txt and the limits article (11 of 15). Exchange Details v2 shipped in May 2026 with v1 kept, MCP has v1 and v2, and new APIs are announced on a dated blog, but there is no changelog page (5 of 15). 22 + 10 + 14 + 8 + 11 + 5 = 70.\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### Transparency \u0026 trust: Massive (formerly Polygon.io) +15\n\n- EODHD (52): A closed, proprietary API under terms that name the entity and the personal and professional user classes but carry no date and no governing law; the MCP server and OpenAPI document are MIT (15 of 30). The privacy policy is undated, keeps data while the account is active with no periods, names Google only, and no DPA was found; the MCP server's telemetry is disclosed in its README (8 of 30). No deprecation policy; Exchange Details v1 was kept when v2 shipped, and new APIs are dated on the blog (5 of 20). No subprocessor list or data locations beyond Google as an advertising platform (2 of 20). 15 + 8 + 5 + 2 = 30.\n- Massive (formerly Polygon.io) (67): Closed service under business terms last updated 6 October 2026, Massive.com, Inc. under Georgia law, which now also cover pay-per-request purchases without an account. The MCP server and clients are MIT (15). Privacy policy last updated 22 March 2024, with retention 'as long as we are providing the Services' and no periods. The business terms require deleting data on termination. No DPA found (12 of 30). Dated sunsets in the changelog. The terms let Massive change the Services at its discretion, with a 30-day route to report a change that materially degrades a subscribed service (10 of 20). Stripe, Google and Hotjar are named, and data may sit 'in the United States and locations around the world'. No subprocessor list (8 of 20).\n\n### Reliability: Massive (formerly Polygon.io) +13\n\n- EODHD (65): Read with the hosted lines. A public status page exists at uptime.eodhistoricaldata.com, an UptimeRobot page announced on the blog on 27 March 2020 (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 20 calls a day free, 100,000 a day on paid plans, 1,000 requests a minute, with call weights per endpoint (15). 429 carries Retry-After, X-RateLimit headers report the ceiling, and 402 marks an exhausted allowance; reads only (15). The terms promise commercially reasonable efforts and no SLA, with SLAs sold by sales (0). The core API is generally available, with several newer APIs marked beta (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.\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## Score by category\n\n| Category | Weight | EODHD | Massive (formerly Polygon.io) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 78 | Massive (formerly Polygon.io) +13 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 89 | Massive (formerly Polygon.io) +19 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 78 | Massive (formerly Polygon.io) +2 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 35 | EODHD +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 90 | Massive (formerly Polygon.io) +60 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 82 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 67 | Massive (formerly Polygon.io) +15 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **73.1 · BB** | |\n\n## Facts side by side\n\n| Fact | EODHD | Massive (formerly Polygon.io) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Unicorn Data Services | Massive |\n| Hosted endpoint | `https://eodhd.com/api` | `https://api.massive.com` |\n| Transports | HTTP, Streamable HTTP, SSE (legacy), stdio, websocket | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | yes, from $0.01/call |\n| Licence | none | MIT (clients) |\n| Tools exposed | 88 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-15 | 2026-10-28 |\n| Terms last updated | no date given | 2026-10-06 |\n| Privacy policy last updated | no date given | 2024-03-22 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | 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 | 24 stars | 1.5k stars |\n| Agent reviews | none | 3.5/5 (2) |\n\n## How the scores have moved\n\n### EODHD\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**EODHD.** 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**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### EODHD\n\n1. 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\n2. 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\n3. 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\n4. Use `{TICKER}.{EXCHANGE}` symbols in upper case, such as AAPL.US or EURUSD.FOREX, and `BTC-USD.CC` for crypto\n5. 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\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, EODHD or Massive (formerly Polygon.io)?\n\nMassive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against EODHD's 59 (C), and leads in 5 of 7 scored categories.\n\n### Do EODHD and Massive (formerly Polygon.io) need an API key?\n\nEODHD takes an API key or an OAuth sign-in. Massive (formerly Polygon.io) needs an API key. An agent can also pay Massive (formerly Polygon.io) per call over x402, with no account.\n\n### Can an agent call EODHD and Massive (formerly Polygon.io) without installing anything?\n\nYes. EODHD has a hosted endpoint at https://eodhd.com/api 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/eodhd-vs-massive.json, and with the fewest tokens: https://www.anchorterminal.com/compare/eodhd-vs-massive.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"eodhd\", \"b\": \"massive\"}`. From a terminal: `anchor compare eodhd massive`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/eodhd.json and https://www.anchorterminal.com/api/v1/tools/massive.json\n\n## Other comparisons with EODHD or Massive (formerly Polygon.io)\n\n- [Alpha Vantage vs EODHD](https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.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 EODHD](https://www.anchorterminal.com/compare/databento-vs-eodhd.md)\n- [Databento vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/databento-vs-massive.md)\n- [Financial Datasets vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-datasets-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- [EODHD vs Financial Datasets](https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.md)\n- [EODHD vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.md)\n- [EODHD vs Finnhub](https://www.anchorterminal.com/compare/eodhd-vs-finnhub.md)\n- [EODHD vs Intrinio](https://www.anchorterminal.com/compare/eodhd-vs-intrinio.md)\n- [EODHD vs Tiingo](https://www.anchorterminal.com/compare/eodhd-vs-tiingo.md)\n- [EODHD vs Twelve Data](https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.md)\n- [Benzinga vs EODHD](https://www.anchorterminal.com/compare/benzinga-vs-eodhd.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": "EODHD vs Massive (formerly Polygon.io)",
        "url": ""
      }
    ],
    "description": "Massive scores 73.1 (BB) to EODHD's 59 (C) for market history. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "EODHD C 59",
      "Massive (formerly Polygon.io) BB 73.1",
      "scores"
    ],
    "h1": "EODHD vs Massive (formerly Polygon.io)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/eodhd-vs-massive",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EODHD vs Massive for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/eodhd-vs-massive"
  },
  "tokens": {
    "markdown": 4000,
    "slim": 2180
  },
  "version": 1
}
