{
  "data": {
    "a": {
      "slug": "financial-modeling-prep",
      "name": "Financial Modeling Prep",
      "vendor": "Financial Modeling Prep",
      "vendorUrl": "https://site.financialmodelingprep.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Financial Modeling Prep (FMP) is a market data API for financial statements, earnings, quotes, price history, filings, news and economic series across stocks, ETFs, funds, forex and crypto. Agents call the REST endpoints under /stable or the hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/financial-modeling-prep",
      "markdownUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json",
      "dns": "financial-modeling-prep.grade.anchorterminal.com",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://financialmodelingprep.com/stable",
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API key per account, shown in the dashboard after a browser signup. The docs accept it as an `apikey` request header or as `?apikey=` in the query string. The hosted MCP server's documented address carries the key in the URL, `https://financialmodelingprep.com/mcp?apikey=KEY`; the same host also publishes OAuth 2 metadata (authorisation code with PKCE, scopes openid, email and profile) that the MCP page does not mention. No scopes, expiry or rotation guidance found.",
      "pricing": "freemium",
      "pricingNotes": "Basic plan free at 250 calls a day with end-of-day data and 5 years of history, no card stated. Personal plans Starter $29, Premium $69 and Ultimate $139 a month (about $19, $49 and $99 a month billed annually) at 300, 750 and 3,000 calls a minute, with trailing 30-day bandwidth caps of 500 MB, 20 GB, 50 GB and 150 GB. Commercial and display use need a separate licence with no public price (https://site.financialmodelingprep.com/pricing-plans, checked 2026-11-03).",
      "priceSummary": "$29 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API docs, api-docs.md, pricing pages, the MCP page or the OAuth metadata (checked 2026-11-03). A call without a key returns HTTP 401 with an `Error Message` field.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://site.financialmodelingprep.com/developer/docs",
      "llmsTxt": "https://site.financialmodelingprep.com/llms.txt",
      "capabilities": [
        "market.fundamentals",
        "market.prices",
        "market.history",
        "market.filings",
        "market.news",
        "market.indices",
        "market.crypto",
        "data.company",
        "data.markets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "mcp",
        "remote-mcp",
        "llms-txt",
        "no-card",
        "free-tier",
        "closed-source",
        "status-page",
        "stocks",
        "forex",
        "crypto",
        "personal-use"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.7,
        "grade": "D",
        "agentReady": false,
        "rank": 1056,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 8,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 59,
          "maintenance": 60,
          "payments": 30,
          "reliability": 50,
          "schema": 61,
          "security": 30,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "About 199 stable REST endpoints with Markdown docs for agents, a dated changelog and a free key at 250 calls a day. The one key travels in the query string on the documented MCP address, error responses and 429 handling are undocumented, the status history could not be read, and personal plans forbid any company use.",
        "bestFor": "Agents doing company research on statements, ratios, DCF, filings, transcripts and calendars with one key, and US coverage on cheap plans.",
        "strengths": [
          "api-docs.md and pricing.md give agents every stable endpoint with parameters, an example response and the plan that unlocks it",
          "Changelog entries dated by day through 2 November 2026",
          "Free Basic plan at 250 calls a day with no card stated, and plan prices published without login",
          "A public status page and a help centre with FAQs on keys, limits and errors",
          "Hosted MCP server that reuses the REST key and limits, with OAuth metadata published on the same host"
        ],
        "weaknesses": [
          "The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too",
          "No OpenAPI document, no documented error responses and no 429 or Retry-After guidance found",
          "Status page data did not load for our reader, so the incident record is unknown",
          "Personal plans are for individuals only; any use on behalf of a company, and any display, needs a separate agreement with no public price",
          "Terms name no legal entity, and the privacy policy carries no date and no retention periods"
        ],
        "agentNotes": [
          "Send the key as an `apikey` header, not in the URL, and treat the MCP `?apikey=` address as a secret",
          "Use the /stable paths from api-docs.md; /api/v3 and /v4 are discontinued even though the FAQ still shows a v3 example",
          "On the free plan expect 5 results and page 0 on many list endpoints; read pricing.md before planning a crawl",
          "A missing or wrong key returns HTTP 401 with an `Error Message` field; stop and ask the user rather than retry",
          "Do not display or pass on the data in a product; personal plans forbid it"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.7
          }
        ],
        "editorialScores": {
          "ergonomics": 59,
          "maintenance": 60,
          "payments": 30,
          "reliability": 50,
          "schema": 61,
          "security": 30,
          "transparency": 33
        },
        "provenanceScore": 81,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"apikey: $FMP_API_KEY\" \"https://financialmodelingprep.com/stable/quote?symbol=AAPL\"",
        "config": {
          "mcpServers": {
            "fmp": {
              "url": "https://financialmodelingprep.com/mcp?apikey=YOUR_FMP_API_KEY"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/market.fundamentals",
        "tool": "https://letme.dev/financial-modeling-prep"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Starter, 300 calls a minute",
          "unit": "month",
          "usd": 29,
          "note": "personal use, about $19 a month billed annually"
        },
        {
          "item": "Premium, 750 calls a minute",
          "unit": "month",
          "usd": 69,
          "note": "personal use, about $49 a month billed annually"
        },
        {
          "item": "Ultimate, 3,000 calls a minute",
          "unit": "month",
          "usd": 139,
          "note": "personal use, about $99 a month billed annually"
        }
      ],
      "provenance": {
        "legalEntity": "Financial Modeling Prep",
        "domain": "financialmodelingprep.com",
        "domainRegistered": "2018-02-19",
        "endpointOnVendorDomain": true,
        "terms": "https://site.financialmodelingprep.com/terms-of-service",
        "privacy": "https://site.financialmodelingprep.com/privacy-policy",
        "statusPage": "https://status.financialmodelingprep.com",
        "changelog": "https://site.financialmodelingprep.com/developer/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "The terms of service, last updated 1 August 2023, are written between FMP and the customer and name no legal form, address or governing law. The footer reads Financial Modeling Prep.",
          "The privacy policy carries no date and names Google AdSense and Google Analytics. It keeps data for as long as necessary and promises breach notice within 7 business days.",
          "site.financialmodelingprep.com/robots.txt allows all crawlers and disallows /contact-card/. The terms contain no clause on automated access to the website.",
          "RDAP gives financialmodelingprep.com a registration date of 19 February 2018 at Amazon Registrar.",
          "/.well-known/security.txt and /security.txt return 404 on site.financialmodelingprep.com. The footer's Trust Center link returns 404.",
          "The status page is an Endpoint Uptime Status page at status.financialmodelingprep.com whose data loads by script; our reader got an error instead of the uptime figures.",
          "The hosted MCP server's host publishes OAuth 2 metadata at /.well-known/oauth-authorization-server with a Google service-account JWKS."
        ],
        "score": 81
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep.json",
      "live": {
        "slug": "financial-modeling-prep",
        "probe": {
          "target": "https://financialmodelingprep.com/stable",
          "method": "get",
          "lastAt": "2026-11-04T19:34:37.920905851Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 600,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 398,
          "p95ms24h": 600,
          "samples24h": 43,
          "samples30d": 43,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 43,
              "ok": 43
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.financialmodelingprep.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:31:55.222038062Z"
        },
        "securityTxt": {
          "url": "https://financialmodelingprep.com/.well-known/security.txt",
          "state": "unknown",
          "checkedAt": "2026-11-04T15:54:45.259926529Z"
        },
        "updatedAt": "2026-11-04T19:34:37.920905851Z"
      }
    },
    "answer": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in every scored category.",
    "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). Four personal plans priced per month by calls a minute, public without login, with per-endpoint plan limits in pricing.md; commercial prices are by agreement (10). A free Basic plan at 250 calls a day with no card stated (20). The key 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": 28,
        "category": "reliability",
        "leads": "massive",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. A public status page at status.financialmodelingprep.com is linked from every page (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 250 calls a day on Basic and 300, 750 and 3,000 calls a minute on paid plans, with bandwidth caps per plan (15). No 429 behaviour, Retry-After or backoff guidance was found in the docs, api-docs.md or FAQs (0). No SLA found; the terms let FMP change limits without notice (0). The stable API is generally available (10). 20 + 5 + 15 + 0 + 0 + 10 = 50.",
          "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": 50,
          "b": 78
        }
      },
      {
        "by": 28,
        "category": "schema",
        "leads": "massive",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "No OpenAPI document was found. The MCP page says the server supplies strict parameter definitions, but the tool list needs a key and was not read (5 of 25). llms.txt links api-docs.md and pricing.md, Markdown written for agents (10). Each of the 199 endpoints in api-docs.md has a purpose paragraph and a plan marker in pricing.md, with little on when not to use it (13 of 20). Parameters are tabled with type, example and a required star, but allowed values sit in prose and no enums are given (8 of 15). Every endpoint has an example request and response; no error responses are documented anywhere we read (10 of 15). A /stable path, legacy /v3 and /v4 marked discontinued, and a changelog dated by day through 2 November 2026 (15). 5 + 10 + 13 + 8 + 10 + 15 = 61.",
          "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": 61,
          "b": 89
        }
      },
      {
        "by": 22,
        "category": "maintenance",
        "leads": "massive",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The changelog's newest entry is 2 November 2026 (30). Entries dated 6, 8, 12, 28 and 29 October and 2 November 2026, more than three in 90 days (20). A public changelog, a help centre, FAQs and a support address, with issues reported through a site chatbot per the FAQ (10 of 15). No official SDK; the FAQ points at third-party packages (0 of 15). No package to assess, and nothing else to show for CI or dependency health (0 of 10). 30 + 20 + 10 + 0 + 0 = 60.",
          "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": 60,
          "b": 82
        }
      },
      {
        "by": 19,
        "category": "ergonomics",
        "leads": "massive",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The REST API is the surface graded. `limit` and `page` on list endpoints, `from` and `to` on series, and batch quote endpoints size responses, with no field selection (15 of 25). Page and limit parameters on lists and date filters on series, no cursor (15 of 20). A missing key returned 401 with an `Error Message` text field in our one test call, and no error reference exists (5 of 20). Every call is a GET read; the MCP server's annotations were not read (16 of 20). Few required parameters and sensible defaults, but no official SDK in any language (8 of 15). 15 + 15 + 5 + 16 + 8 = 59.",
          "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": 59,
          "b": 78
        }
      },
      {
        "by": 10,
        "category": "transparency",
        "leads": "massive",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "A closed service under terms that are clear on personal and commercial use and on display licensing, last updated 1 August 2023, but that name no legal entity, address or governing law (12 of 30). The privacy policy is undated, keeps data for as long as necessary with no periods, says no third parties receive data while naming Google AdSense and Analytics, and no DPA was found (8 of 30). The docs keep a Legacy section and api-docs.md says /v3 and /v4 are discontinued, with no notice period stated; behaviour changes such as the Economics Indicators default window appear in the dated changelog (8 of 20). Google services are the only processors named and no data location is given (5 of 20). 12 + 8 + 8 + 5 = 33.",
          "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": 57,
          "b": 67
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Financial Modeling Prep",
        "b": "Massive",
        "name": "Vendor"
      },
      {
        "a": "https://financialmodelingprep.com/stable",
        "b": "https://api.massive.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API 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": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-06",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2024-03-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "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 Modeling Prep's 48.7 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Financial Modeling Prep or Massive (formerly Polygon.io)?"
      },
      {
        "answer": "Both need an API key. An agent can also pay Massive (formerly Polygon.io) per call over x402, with no account.",
        "question": "Do Financial Modeling Prep and Massive (formerly Polygon.io) need an API key?"
      },
      {
        "answer": "Yes. Financial Modeling Prep has a hosted endpoint at https://financialmodelingprep.com/stable and Massive (formerly Polygon.io) at https://api.massive.com.",
        "question": "Can an agent call Financial Modeling Prep and Massive (formerly Polygon.io) without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents doing company research on statements, ratios, DCF, filings, transcripts and calendars with one key, and US coverage on cheap plans.",
        "slug": "financial-modeling-prep",
        "watchFor": "The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too"
      },
      {
        "aheadOn": [
          "Reliability, 78 against 50",
          "Schema \u0026 documentation, 89 against 61",
          "Agent ergonomics, 78 against 59",
          "Security \u0026 auth, 35 against 30",
          "Payments \u0026 pricing, 90 against 30",
          "Maintenance \u0026 community, 82 against 60",
          "Transparency \u0026 trust, 67 against 57"
        ],
        "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": {
      "financial-modeling-prep": 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-modeling-prep.json",
        "title": "Alpha Vantage vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep"
      },
      {
        "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-modeling-prep.json",
        "title": "Databento vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/databento-vs-financial-modeling-prep"
      },
      {
        "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/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-modeling-prep-vs-finnhub.json",
        "title": "Financial Modeling Prep vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.json",
        "title": "Financial Modeling Prep vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.json",
        "title": "Financial Modeling Prep vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.json",
        "title": "Financial Modeling Prep vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data"
      },
      {
        "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-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-modeling-prep.json",
        "title": "Benzinga vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 28,
        "edge": "massive",
        "financial-modeling-prep": 50,
        "key": "reliability",
        "massive": 78,
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 28,
        "edge": "massive",
        "financial-modeling-prep": 61,
        "key": "schema",
        "massive": 89,
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 19,
        "edge": "massive",
        "financial-modeling-prep": 59,
        "key": "ergonomics",
        "massive": 78,
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 5,
        "edge": "massive",
        "financial-modeling-prep": 30,
        "key": "security",
        "massive": 35,
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 60,
        "edge": "massive",
        "financial-modeling-prep": 30,
        "key": "payments",
        "massive": 90,
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 22,
        "edge": "massive",
        "financial-modeling-prep": 60,
        "key": "maintenance",
        "massive": 82,
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 10,
        "edge": "massive",
        "financial-modeling-prep": 57,
        "key": "transparency",
        "massive": 67,
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in every scored category. Both do market prices. Massive (formerly Polygon.io) accepts x402. Financial Modeling Prep doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "financial-modeling-prep": "About 199 stable REST endpoints with Markdown docs for agents, a dated changelog and a free key at 250 calls a day. The one key travels in the query string on the documented MCP address, error responses and 429 handling are undocumented, the status history could not be read, and personal plans forbid any company use.",
      "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-modeling-prep-vs-massive",
    "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.min.md"
  },
  "markdown": "Massive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in every scored category. Both do market prices. Massive (formerly Polygon.io) accepts x402. Financial Modeling Prep doesn't.\n\n- Financial Modeling Prep: grade D, 48.7/100, rank #1056 of 1349. Markdown https://www.anchorterminal.com/tools/financial-modeling-prep.md · JSON https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json\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 Modeling Prep (D)\n\nGood for: Agents doing company research on statements, ratios, DCF, filings, transcripts and calendars with one key, and US coverage on cheap plans.\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too\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 50\n- Schema \u0026 documentation, 89 against 61\n- Agent ergonomics, 78 against 59\n- Security \u0026 auth, 35 against 30\n- Payments \u0026 pricing, 90 against 30\n- Maintenance \u0026 community, 82 against 60\n- Transparency \u0026 trust, 67 against 57\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- Financial Modeling Prep (30): No x402, MPP or L402 (0). Four personal plans priced per month by calls a minute, public without login, with per-endpoint plan limits in pricing.md; commercial prices are by agreement (10). A free Basic plan at 250 calls a day with no card stated (20). The key 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### Reliability: Massive (formerly Polygon.io) +28\n\n- Financial Modeling Prep (50): Read with the hosted lines. A public status page at status.financialmodelingprep.com is linked from every page (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 250 calls a day on Basic and 300, 750 and 3,000 calls a minute on paid plans, with bandwidth caps per plan (15). No 429 behaviour, Retry-After or backoff guidance was found in the docs, api-docs.md or FAQs (0). No SLA found; the terms let FMP change limits without notice (0). The stable API is generally available (10). 20 + 5 + 15 + 0 + 0 + 10 = 50.\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### Schema \u0026 documentation: Massive (formerly Polygon.io) +28\n\n- Financial Modeling Prep (61): No OpenAPI document was found. The MCP page says the server supplies strict parameter definitions, but the tool list needs a key and was not read (5 of 25). llms.txt links api-docs.md and pricing.md, Markdown written for agents (10). Each of the 199 endpoints in api-docs.md has a purpose paragraph and a plan marker in pricing.md, with little on when not to use it (13 of 20). Parameters are tabled with type, example and a required star, but allowed values sit in prose and no enums are given (8 of 15). Every endpoint has an example request and response; no error responses are documented anywhere we read (10 of 15). A /stable path, legacy /v3 and /v4 marked discontinued, and a changelog dated by day through 2 November 2026 (15). 5 + 10 + 13 + 8 + 10 + 15 = 61.\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### Maintenance \u0026 community: Massive (formerly Polygon.io) +22\n\n- Financial Modeling Prep (60): Read as a closed service. The changelog's newest entry is 2 November 2026 (30). Entries dated 6, 8, 12, 28 and 29 October and 2 November 2026, more than three in 90 days (20). A public changelog, a help centre, FAQs and a support address, with issues reported through a site chatbot per the FAQ (10 of 15). No official SDK; the FAQ points at third-party packages (0 of 15). No package to assess, and nothing else to show for CI or dependency health (0 of 10). 30 + 20 + 10 + 0 + 0 = 60.\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### Agent ergonomics: Massive (formerly Polygon.io) +19\n\n- Financial Modeling Prep (59): The REST API is the surface graded. `limit` and `page` on list endpoints, `from` and `to` on series, and batch quote endpoints size responses, with no field selection (15 of 25). Page and limit parameters on lists and date filters on series, no cursor (15 of 20). A missing key returned 401 with an `Error Message` text field in our one test call, and no error reference exists (5 of 20). Every call is a GET read; the MCP server's annotations were not read (16 of 20). Few required parameters and sensible defaults, but no official SDK in any language (8 of 15). 15 + 15 + 5 + 16 + 8 = 59.\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### Transparency \u0026 trust: Massive (formerly Polygon.io) +10\n\n- Financial Modeling Prep (57): A closed service under terms that are clear on personal and commercial use and on display licensing, last updated 1 August 2023, but that name no legal entity, address or governing law (12 of 30). The privacy policy is undated, keeps data for as long as necessary with no periods, says no third parties receive data while naming Google AdSense and Analytics, and no DPA was found (8 of 30). The docs keep a Legacy section and api-docs.md says /v3 and /v4 are discontinued, with no notice period stated; behaviour changes such as the Economics Indicators default window appear in the dated changelog (8 of 20). Google services are the only processors named and no data location is given (5 of 20). 12 + 8 + 8 + 5 = 33.\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## Score by category\n\n| Category | Weight | Financial Modeling Prep | Massive (formerly Polygon.io) | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 50 | 78 | Massive (formerly Polygon.io) +28 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 61 | 89 | Massive (formerly Polygon.io) +28 |\n| Agent ergonomics | 13% (16.2 this run) | 59 | 78 | Massive (formerly Polygon.io) +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 30 | 35 | Massive (formerly Polygon.io) +5 |\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) | 60 | 82 | Massive (formerly Polygon.io) +22 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 57 | 67 | Massive (formerly Polygon.io) +10 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.7 · D** | **73.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Financial Modeling Prep | Massive (formerly Polygon.io) |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Financial Modeling Prep | Massive |\n| Hosted endpoint | `https://financialmodelingprep.com/stable` | `https://api.massive.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, Streamable HTTP |\n| Auth | API key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | yes, from $0.01/call |\n| Licence | none | MIT (clients) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-02 | 2026-10-28 |\n| Terms last updated | couldn't be read | 2026-10-06 |\n| Privacy policy last updated | couldn't be read | 2024-03-22 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | 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 Modeling Prep\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 Modeling Prep.** About 199 stable REST endpoints with Markdown docs for agents, a dated changelog and a free key at 250 calls a day. The one key travels in the query string on the documented MCP address, error responses and 429 handling are undocumented, the status history could not be read, and personal plans forbid any company use.\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 Modeling Prep\n\n1. Send the key as an `apikey` header, not in the URL, and treat the MCP `?apikey=` address as a secret\n2. Use the /stable paths from api-docs.md; /api/v3 and /v4 are discontinued even though the FAQ still shows a v3 example\n3. On the free plan expect 5 results and page 0 on many list endpoints; read pricing.md before planning a crawl\n4. A missing or wrong key returns HTTP 401 with an `Error Message` field; stop and ask the user rather than retry\n5. Do not display or pass on the data in a product; personal plans forbid it\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 Modeling Prep or Massive (formerly Polygon.io)?\n\nMassive (formerly Polygon.io) scores 73.1 (BB) on agent readiness against Financial Modeling Prep's 48.7 (D), and leads in every scored category.\n\n### Do Financial Modeling Prep and Massive (formerly Polygon.io) need an API key?\n\nBoth need 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 Financial Modeling Prep and Massive (formerly Polygon.io) without installing anything?\n\nYes. Financial Modeling Prep has a hosted endpoint at https://financialmodelingprep.com/stable 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-modeling-prep-vs-massive.json, and with the fewest tokens: https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"financial-modeling-prep\", \"b\": \"massive\"}`. From a terminal: `anchor compare financial-modeling-prep massive`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json and https://www.anchorterminal.com/api/v1/tools/massive.json\n\n## Other comparisons with Financial Modeling Prep or Massive (formerly Polygon.io)\n\n- [Alpha Vantage vs Financial Modeling Prep](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep.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 Modeling Prep](https://www.anchorterminal.com/compare/databento-vs-financial-modeling-prep.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- [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 Modeling Prep vs Finnhub](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub.md)\n- [Financial Modeling Prep vs Intrinio](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.md)\n- [Financial Modeling Prep vs Tiingo](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.md)\n- [Financial Modeling Prep vs Twelve Data](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.md)\n- [EODHD vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.md)\n- [EODHD vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/eodhd-vs-massive.md)\n- [Benzinga vs Financial Modeling Prep](https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep.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 Modeling Prep vs Massive (formerly Polygon.io)",
        "url": ""
      }
    ],
    "description": "Massive scores 73.1 (BB) to Financial Modeling Prep's 48.7 (D) for market prices. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Financial Modeling Prep D 48.7",
      "Massive (formerly Polygon.io) BB 73.1",
      "scores"
    ],
    "h1": "Financial Modeling Prep vs Massive (formerly Polygon.io)",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/financial-modeling-prep-vs-massive",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Financial Modeling Prep vs Massive for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive"
  },
  "tokens": {
    "markdown": 4750,
    "slim": 2930
  },
  "version": 1
}
