{
  "data": {
    "similar": [
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/eodhd.json",
        "name": "EODHD",
        "score": 59,
        "shared": [
          "market.history",
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.indices",
          "market.crypto",
          "data.markets",
          "data.company"
        ],
        "slug": "eodhd"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/finnhub.json",
        "name": "Finnhub",
        "score": 45.1,
        "shared": [
          "market.prices",
          "market.fundamentals",
          "market.news",
          "market.filings",
          "market.history",
          "market.crypto",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "slug": "finnhub"
      },
      {
        "grade": "BB",
        "json": "https://www.anchorterminal.com/tools/twelve-data.json",
        "name": "Twelve Data",
        "score": 70,
        "shared": [
          "market.prices",
          "market.history",
          "market.fundamentals",
          "market.crypto",
          "market.indices",
          "market.news",
          "market.filings",
          "data.markets"
        ],
        "slug": "twelve-data"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/financial-datasets.json",
        "name": "Financial Datasets",
        "score": 61.8,
        "shared": [
          "market.fundamentals",
          "market.filings",
          "market.prices",
          "market.history",
          "market.news",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "slug": "financial-datasets"
      },
      {
        "grade": "C",
        "json": "https://www.anchorterminal.com/tools/intrinio.json",
        "name": "Intrinio",
        "score": 54.2,
        "shared": [
          "market.prices",
          "market.fundamentals",
          "market.filings",
          "market.news",
          "market.history",
          "market.indices",
          "data.markets",
          "data.company"
        ],
        "slug": "intrinio"
      },
      {
        "grade": "E",
        "json": "https://www.anchorterminal.com/tools/alpha-vantage.json",
        "name": "Alpha Vantage",
        "score": 41.5,
        "shared": [
          "market.prices",
          "market.history",
          "market.fundamentals",
          "market.news",
          "data.markets",
          "market.indices",
          "market.crypto",
          "data.company"
        ],
        "slug": "alpha-vantage"
      }
    ],
    "tool": {
      "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"
        ],
        "breakdown": [
          {
            "key": "reliability",
            "name": "Reliability",
            "weight": 16,
            "effectiveWeight": 20,
            "score": 50,
            "points": 10,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "performance",
            "name": "Performance",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes."
          },
          {
            "key": "schema",
            "name": "Schema \u0026 documentation",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 61,
            "points": 9.91,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "ergonomics",
            "name": "Agent ergonomics",
            "weight": 13,
            "effectiveWeight": 16.25,
            "score": 59,
            "points": 9.59,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "security",
            "name": "Security \u0026 auth",
            "weight": 14,
            "effectiveWeight": 17.5,
            "score": 30,
            "points": 5.25,
            "reason": "One key per account with no scopes, accepted as a header or as `?apikey=`, and the documented MCP address carries it in the URL (20 less 10 for the query string, so 10). Every endpoint is a read (15 of 20). News, press releases, transcripts and filings are third-party text and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, the Trust Center link returns 404, and no disclosure policy, bug bounty or certification was found (0 of 20). 10 + 15 + 5 + 0 + 0 = 30.",
            "checked": "2026-11-03"
          },
          {
            "key": "payments",
            "name": "Payments \u0026 pricing",
            "weight": 10,
            "effectiveWeight": 12.5,
            "score": 30,
            "points": 3.75,
            "reason": "No x402, MPP or L402 (0). 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.",
            "checked": "2026-11-03"
          },
          {
            "key": "tasks",
            "name": "Task success",
            "weight": 10,
            "effectiveWeight": 0,
            "pending": true,
            "points": 0,
            "reason": "Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored."
          },
          {
            "key": "maintenance",
            "name": "Maintenance \u0026 community",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 60,
            "points": 5.25,
            "reason": "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.",
            "checked": "2026-11-03"
          },
          {
            "key": "transparency",
            "name": "Transparency \u0026 trust",
            "weight": 7,
            "effectiveWeight": 8.75,
            "score": 57,
            "points": 4.99,
            "note": "editorial 33, provenance 81",
            "reason": "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.",
            "checked": "2026-11-03"
          }
        ],
        "assessment": {
          "date": "2026-11-03",
          "basis": "public evidence",
          "confidence": "medium",
          "notes": {
            "ergonomics": "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.",
            "maintenance": "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.",
            "payments": "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.",
            "reliability": "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.",
            "schema": "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.",
            "security": "One key per account with no scopes, accepted as a header or as `?apikey=`, and the documented MCP address carries it in the URL (20 less 10 for the query string, so 10). Every endpoint is a read (15 of 20). News, press releases, transcripts and filings are third-party text and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, the Trust Center link returns 404, and no disclosure policy, bug bounty or certification was found (0 of 20). 10 + 15 + 5 + 0 + 0 = 30.",
            "transparency": "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."
          },
          "sources": [
            {
              "what": "API documentation (read with curl)",
              "url": "https://site.financialmodelingprep.com/developer/docs",
              "seen": "2026-11-03"
            },
            {
              "what": "llms.txt",
              "url": "https://site.financialmodelingprep.com/llms.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "api-docs.md, 199 stable endpoints",
              "url": "https://site.financialmodelingprep.com/api-docs.md",
              "seen": "2026-11-03"
            },
            {
              "what": "pricing.md, per-endpoint plan limits",
              "url": "https://site.financialmodelingprep.com/pricing.md",
              "seen": "2026-11-03"
            },
            {
              "what": "pricing plans",
              "url": "https://site.financialmodelingprep.com/pricing-plans",
              "seen": "2026-11-03"
            },
            {
              "what": "MCP server page",
              "url": "https://site.financialmodelingprep.com/developer/docs/mcp-server",
              "seen": "2026-11-03"
            },
            {
              "what": "changelog",
              "url": "https://site.financialmodelingprep.com/developer/docs/changelog",
              "seen": "2026-11-03"
            },
            {
              "what": "FAQs",
              "url": "https://site.financialmodelingprep.com/faqs",
              "seen": "2026-11-03"
            },
            {
              "what": "help centre",
              "url": "https://site.financialmodelingprep.com/help-center",
              "seen": "2026-11-03"
            },
            {
              "what": "terms of service",
              "url": "https://site.financialmodelingprep.com/terms-of-service",
              "seen": "2026-11-03"
            },
            {
              "what": "privacy policy",
              "url": "https://site.financialmodelingprep.com/privacy-policy",
              "seen": "2026-11-03"
            },
            {
              "what": "status page (data did not load)",
              "url": "https://status.financialmodelingprep.com/",
              "seen": "2026-11-03"
            },
            {
              "what": "OAuth protected resource metadata",
              "url": "https://financialmodelingprep.com/.well-known/oauth-protected-resource",
              "seen": "2026-11-03"
            },
            {
              "what": "OAuth authorisation server metadata",
              "url": "https://financialmodelingprep.com/.well-known/oauth-authorization-server",
              "seen": "2026-11-03"
            },
            {
              "what": "MCP endpoint without a key, 401",
              "url": "https://financialmodelingprep.com/mcp",
              "seen": "2026-11-03"
            },
            {
              "what": "quote endpoint without a key, 401",
              "url": "https://financialmodelingprep.com/stable/quote?symbol=AAPL",
              "seen": "2026-11-03"
            },
            {
              "what": "robots.txt",
              "url": "https://site.financialmodelingprep.com/robots.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "security.txt (404)",
              "url": "https://site.financialmodelingprep.com/.well-known/security.txt",
              "seen": "2026-11-03"
            },
            {
              "what": "RDAP for financialmodelingprep.com",
              "url": "https://rdap.org/domain/financialmodelingprep.com",
              "seen": "2026-11-03"
            }
          ],
          "openQuestions": [
            "unchecked: the status page's uptime figures and incident history, because status.financialmodelingprep.com loads them by script and answered our reader with an error",
            "unchecked: the hosted MCP server's tool list, count and annotations, which need an API key",
            "unchecked: the help centre articles on rate limits and error codes that the FAQ index names, which are separate pages we did not read",
            "The legal entity behind FMP. The terms name only FMP and the footer only Financial Modeling Prep; no corporate form, address or governing law was found",
            "Whether the Basic plan needs a card. The pricing page says $0 and the FAQ calls it a free plan; neither states a card requirement",
            "Judgement call, not a deduction. api-docs.md says the legacy /v3 and /v4 endpoints are discontinued while the FAQ's key example still uses /api/v3/quote and the docs keep a Legacy link. No date for the discontinuation was found, so no term is taken",
            "firstReleased is left empty. The domain dates from 19 February 2018 and no first-hand launch date was found",
            "site.financialmodelingprep.com answered our fetch tool with 403 on every page and plain curl with 200, so pages were read with curl; nothing in robots.txt forbids it"
          ]
        },
        "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
        },
        "scoreHistory": [
          {
            "date": "2026-11-03",
            "grade": "D",
            "kind": "listed",
            "method": "0.7",
            "score": 48.7
          }
        ]
      },
      "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"
      },
      "notable": [
        "api-docs.md, linked from llms.txt, documents 199 distinct endpoints under https://financialmodelingprep.com/stable/ with a parameter table and an example response each, and says the legacy /v3 and /v4 endpoints are discontinued (https://site.financialmodelingprep.com/api-docs.md)",
        "The hosted MCP server at https://financialmodelingprep.com/mcp wraps the REST endpoints as tools and counts each call against the account's API limits. The documented connection URL carries the API key as a query parameter (https://site.financialmodelingprep.com/developer/docs/mcp-server)",
        "The changelog is dated by day, with entries on 6, 8, 12, 28 and 29 October and 2 November 2026, including a shorter default window on the Economics Indicators endpoint from 12 October (https://site.financialmodelingprep.com/developer/docs/changelog)",
        "pricing.md lists, endpoint by endpoint, what each personal plan returns, such as 5 results and page 0 only on the free plan for many lists (https://site.financialmodelingprep.com/pricing.md)",
        "The terms, last updated 1 August 2023, grant individuals a personal, non-commercial licence and forbid displaying or redistributing the data without a Data Display and Licensing Agreement (https://site.financialmodelingprep.com/terms-of-service)",
        "A status page at status.financialmodelingprep.com is linked from every page, but its data loads by script and our reader got an error instead of history (https://status.financialmodelingprep.com/)"
      ],
      "area": "domain-data",
      "details": [
        {
          "label": "Surface listed",
          "value": "The REST API under financialmodelingprep.com/stable and the hosted MCP server at financialmodelingprep.com/mcp, read from site.financialmodelingprep.com (docs, api-docs.md, pricing, FAQs, changelog, terms, privacy), llms.txt, the OAuth metadata and the status page on 3 November 2026. No account was made and no tool was called"
        },
        {
          "label": "Reader note",
          "value": "site.financialmodelingprep.com answered our fetch tool with 403 and plain curl with 200, so the pages were read with curl. robots.txt allows everything except /contact-card/"
        },
        {
          "label": "API",
          "value": "199 GET endpoints under /stable, grouped as search, directory, company, quote, statements, ratios, DCF, SEC filings, calendars, transcripts, news, 13F, analyst, market performance, technical indicators, ETF and fund holdings, indexes, commodities, forex, crypto, senate and house trades, ESG, COT, fundraisers and bulk files. Legacy /v3 and /v4 discontinued per api-docs.md"
        },
        {
          "label": "Coverage",
          "value": "The FAQ says 70,000 securities on 60 exchanges, 4,500 cryptocurrencies, 1,500 forex pairs and 40 commodities, with 30 years of history on most endpoints. Free and Starter plans cover US symbols; Premium adds UK and Canada; Ultimate is global"
        },
        {
          "label": "Rate limits",
          "value": "250 calls a day on Basic, then 300, 750 and 3,000 calls a minute, plus a trailing 30-day bandwidth cap per plan. No 429 behaviour or Retry-After documented"
        },
        {
          "label": "MCP server",
          "value": "Streamable HTTP at financialmodelingprep.com/mcp with the key in the query string. An unauthenticated GET answers 401 with a WWW-Authenticate header pointing at OAuth resource metadata. The vendor says it wraps all REST endpoints; the tool count was not read"
        },
        {
          "label": "Response size",
          "value": "`limit` and `page` parameters on list endpoints, `from` and `to` on time series, and batch quote endpoints that take comma-separated symbols"
        },
        {
          "label": "Errors",
          "value": "A missing key returns 401 with an `Error Message` text field in our one test call. No error reference found in the docs or api-docs.md"
        },
        {
          "label": "SDKs",
          "value": "None official. The FAQ points to a resources page of third-party packages"
        },
        {
          "label": "Use terms",
          "value": "Personal plans are for individuals and non-commercial use; display or redistribution needs a Data Display and Licensing Agreement. Bandwidth and call limits can change without notice per the terms"
        },
        {
          "label": "Legal entity",
          "value": "The terms are between FMP and the customer, the copyright line says Financial Modeling Prep, and no corporate form or address was found on the site"
        }
      ],
      "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,
        "checks": [
          {
            "check": "Legal entity named",
            "value": "Financial Modeling Prep",
            "points": 20,
            "max": 20,
            "state": "ok"
          },
          {
            "check": "Domain age",
            "value": "financialmodelingprep.com, registered 2018-02-19 (8 years)",
            "points": 11,
            "max": 15,
            "state": "part"
          },
          {
            "check": "Endpoint on the vendor's domain",
            "value": "financialmodelingprep.com",
            "points": 15,
            "max": 15,
            "state": "ok"
          },
          {
            "check": "Terms of service",
            "value": "published, but our reader couldn't read it",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Privacy policy",
            "value": "published, but our reader couldn't read it",
            "points": 7,
            "max": 10,
            "state": "part"
          },
          {
            "check": "Status page",
            "value": "status.financialmodelingprep.com",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "Changelog",
            "value": "published",
            "points": 10,
            "max": 10,
            "state": "ok"
          },
          {
            "check": "security.txt",
            "value": "not found",
            "points": 0,
            "max": 10,
            "state": "no"
          },
          {
            "check": "People named",
            "value": "not researched yet",
            "points": 0,
            "max": 0,
            "state": "na"
          },
          {
            "check": "Support route",
            "value": "a support address, help pages",
            "points": 5,
            "max": 5,
            "state": "ok"
          }
        ],
        "policies": [
          {
            "kind": "terms",
            "url": "https://site.financialmodelingprep.com/terms-of-service",
            "state": "unreadable",
            "reason": "the page answered HTTP 403 to our reader",
            "readAt": "2026-11-03",
            "points": 7,
            "max": 10
          },
          {
            "kind": "privacy",
            "url": "https://site.financialmodelingprep.com/privacy-policy",
            "state": "unreadable",
            "reason": "the page answered HTTP 403 to our reader",
            "readAt": "2026-11-03",
            "points": 7,
            "max": 10
          }
        ]
      },
      "humans": {
        "slug": "financial-modeling-prep",
        "checked": "2026-11-03",
        "company": "Financial Modeling Prep",
        "peopleNote": "No founder or named person was found on a first-hand page. The site has no about or team page (the footer's About, Contact Us and Trust Center links return 404), the careers page lists no positions or people, the terms are between FMP and the customer, and the LinkedIn company link in the footer was not opened. Investors were looked for on the site's pages, llms.txt, the terms and the careers page; nothing mentions funding, backers or a parent company, and no first-hand page outside the site was found in three searches.",
        "companySocial": {
          "linkedin": "https://www.linkedin.com/company/financial-modeling-prep/",
          "x": "https://x.com/financial_mod"
        },
        "support": {
          "emails": [
            "info@financialmodelingprep.com"
          ],
          "urls": [
            "https://site.financialmodelingprep.com/help-center",
            "https://site.financialmodelingprep.com/faqs"
          ],
          "contactEmails": [
            "info@financialmodelingprep.com"
          ]
        },
        "sources": [
          "https://site.financialmodelingprep.com/developer/docs",
          "https://site.financialmodelingprep.com/terms-of-service",
          "https://site.financialmodelingprep.com/help-center",
          "https://site.financialmodelingprep.com/careers",
          "https://site.financialmodelingprep.com/llms.txt"
        ],
        "ownership": {
          "status": "unknown",
          "checked": "2026-11-03",
          "sources": [
            "https://site.financialmodelingprep.com/terms-of-service"
          ]
        }
      },
      "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"
      }
    },
    "verify": {
      "accepts": "a page on financialmodelingprep.com or one of its subdomains",
      "badgeUrl": "https://www.anchorterminal.com/badges/financial-modeling-prep.svg",
      "body": {
        "slug": "financial-modeling-prep",
        "url": "the page with the badge or the link"
      },
      "docs": "https://www.anchorterminal.com/builders/#verify",
      "effect": "none, it never changes a grade, rank or review",
      "endpoint": "https://www.anchorterminal.com/api/v1/verify",
      "listingUrl": "https://www.anchorterminal.com/tools/financial-modeling-prep",
      "mcpTool": "verify_listing",
      "recheck": "weekly; two failed checks in a row and it lapses, a later pass restores it",
      "snippets": {
        "html": "\u003ca href=\"https://www.anchorterminal.com/tools/financial-modeling-prep\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/financial-modeling-prep.svg\" alt=\"Financial Modeling Prep on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e",
        "markdown": "[![Financial Modeling Prep on Anchor Terminal](https://www.anchorterminal.com/badges/financial-modeling-prep.svg)](https://www.anchorterminal.com/tools/financial-modeling-prep)",
        "link": "\u003ca href=\"https://www.anchorterminal.com/tools/financial-modeling-prep\"\u003eFinancial Modeling Prep on Anchor Terminal\u003c/a\u003e"
      }
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/tools/financial-modeling-prep",
    "json": "https://www.anchorterminal.com/tools/financial-modeling-prep.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/tools/financial-modeling-prep.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "pricing": "https://www.anchorterminal.com/tools/financial-modeling-prep#pricing",
    "reviews": "https://www.anchorterminal.com/tools/financial-modeling-prep#reviews",
    "slim": "https://www.anchorterminal.com/tools/financial-modeling-prep.min.md"
  },
  "markdown": "## Overview\n\n**Grade D · 48.7/100 · rank #1056 of 1349 · #8 in Financial market data · not agent-ready · confidence medium**\n\n\n## Assessment\n\nAbout 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## Facts\n\n| Field | Value |\n| --- | --- |\n| Vendor | Financial Modeling Prep (https://site.financialmodelingprep.com) |\n| Kind | HTTP API |\n| Category | Financial market data (https://www.anchorterminal.com/categories/market-data) |\n| Transport | HTTP, Streamable HTTP |\n| Endpoint | `https://financialmodelingprep.com/stable` |\n| Auth | API key · 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. |\n| Pricing | Freemium ($29 / mo) · 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). |\n| x402 | No · 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. |\n| Licence | unknown |\n| Docs | https://site.financialmodelingprep.com/developer/docs |\n| llms.txt | https://site.financialmodelingprep.com/llms.txt |\n| Last release | 2026-11-02 |\n| Surface listed | The REST API under financialmodelingprep.com/stable and the hosted MCP server at financialmodelingprep.com/mcp, read from site.financialmodelingprep.com (docs, api-docs.md, pricing, FAQs, changelog, terms, privacy), llms.txt, the OAuth metadata and the status page on 3 November 2026. No account was made and no tool was called |\n| Reader note | site.financialmodelingprep.com answered our fetch tool with 403 and plain curl with 200, so the pages were read with curl. robots.txt allows everything except /contact-card/ |\n| API | 199 GET endpoints under /stable, grouped as search, directory, company, quote, statements, ratios, DCF, SEC filings, calendars, transcripts, news, 13F, analyst, market performance, technical indicators, ETF and fund holdings, indexes, commodities, forex, crypto, senate and house trades, ESG, COT, fundraisers and bulk files. Legacy /v3 and /v4 discontinued per api-docs.md |\n| Coverage | The FAQ says 70,000 securities on 60 exchanges, 4,500 cryptocurrencies, 1,500 forex pairs and 40 commodities, with 30 years of history on most endpoints. Free and Starter plans cover US symbols; Premium adds UK and Canada; Ultimate is global |\n| Rate limits | 250 calls a day on Basic, then 300, 750 and 3,000 calls a minute, plus a trailing 30-day bandwidth cap per plan. No 429 behaviour or Retry-After documented |\n| MCP server | Streamable HTTP at financialmodelingprep.com/mcp with the key in the query string. An unauthenticated GET answers 401 with a WWW-Authenticate header pointing at OAuth resource metadata. The vendor says it wraps all REST endpoints; the tool count was not read |\n| Response size | `limit` and `page` parameters on list endpoints, `from` and `to` on time series, and batch quote endpoints that take comma-separated symbols |\n| Errors | A missing key returns 401 with an `Error Message` text field in our one test call. No error reference found in the docs or api-docs.md |\n| SDKs | None official. The FAQ points to a resources page of third-party packages |\n| Use terms | Personal plans are for individuals and non-commercial use; display or redistribution needs a Data Display and Licensing Agreement. Bandwidth and call limits can change without notice per the terms |\n| Legal entity | The terms are between FMP and the customer, the copyright line says Financial Modeling Prep, and no corporate form or address was found on the site |\n| Capabilities | market.fundamentals, market.prices, market.history, market.filings, market.news, market.indices, market.crypto, data.company, data.markets |\n| Tags | hosted, freemium, api-key, mcp, remote-mcp, llms-txt, no-card, free-tier, closed-source, status-page, stocks, forex, crypto, personal-use |\n| JSON | https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep.json |\n\n## Score breakdown (methodology v0.7, October 2026 research run)\n\nAssessed 2026-11-03 from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/#checklist). Confidence: medium. Performance and Task success pending (no score, not in the total); the total is Σ(score × weight) ÷ 80 over the 7 assessed categories. \"This run\" is each category's share of the 100 points.\n\n| Category | Weight | This run | Score (0–100) | Points |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% | 20 | 50 | 10.0 |\n| Performance | 10% | pending | pending | n/a |\n| Schema \u0026 documentation | 13% | 16.2 | 61 | 9.9 |\n| Agent ergonomics | 13% | 16.2 | 59 | 9.6 |\n| Security \u0026 auth | 14% | 17.5 | 30 | 5.2 |\n| Payments \u0026 pricing | 10% | 12.5 | 30 | 3.8 |\n| Task success | 10% | pending | pending | n/a |\n| Maintenance \u0026 community | 7% | 8.8 | 60 | 5.2 |\n| Transparency \u0026 trust (editorial 33, provenance 81) | 7% | 8.8 | 57 | 5.0 |\n| Negative events | up to −15 | up to −15 | none recorded | 0 |\n| **Total** | | | | **48.7 → D** |\n\n### Why each score\n\n- Reliability 50 (checked 2026-11-03): 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- Performance: Pending. Latency is measured per call by our probes, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until the first probe window closes.\n- Schema \u0026 documentation 61 (checked 2026-11-03): 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- Agent ergonomics 59 (checked 2026-11-03): 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- Security \u0026 auth 30 (checked 2026-11-03): One key per account with no scopes, accepted as a header or as `?apikey=`, and the documented MCP address carries it in the URL (20 less 10 for the query string, so 10). Every endpoint is a read (15 of 20). News, press releases, transcripts and filings are third-party text and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, the Trust Center link returns 404, and no disclosure policy, bug bounty or certification was found (0 of 20). 10 + 15 + 5 + 0 + 0 = 30.\n- Payments \u0026 pricing 30 (checked 2026-11-03): 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- Task success: Pending. Task success needs the category task suites run through each tool, which haven't run yet, so this run doesn't score it. Its weight is shared across the assessed categories until then. A data provider's data-quality score is published on its listing now and becomes half of this category when it's scored.\n- Maintenance \u0026 community 60 (checked 2026-11-03): 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- Transparency \u0026 trust 57 (checked 2026-11-03): 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\nFix list, everything this grade says the listing lacks, the biggest gain first (19 items). What it covers is at https://www.anchorterminal.com/fixes/financial-modeling-prep.md (JSON https://www.anchorterminal.com/fixes/financial-modeling-prep.json). The whole list for a coding agent comes from `POST https://www.anchorterminal.com/api/v1/fix-list` with `{\"listing\": \"financial-modeling-prep\", \"plan\": \"read\"}`, free while the beta runs\n\n### What we couldn't check\n\n- unchecked: the status page's uptime figures and incident history, because status.financialmodelingprep.com loads them by script and answered our reader with an error\n- unchecked: the hosted MCP server's tool list, count and annotations, which need an API key\n- unchecked: the help centre articles on rate limits and error codes that the FAQ index names, which are separate pages we did not read\n- The legal entity behind FMP. The terms name only FMP and the footer only Financial Modeling Prep; no corporate form, address or governing law was found\n- Whether the Basic plan needs a card. The pricing page says $0 and the FAQ calls it a free plan; neither states a card requirement\n- Judgement call, not a deduction. api-docs.md says the legacy /v3 and /v4 endpoints are discontinued while the FAQ's key example still uses /api/v3/quote and the docs keep a Legacy link. No date for the discontinuation was found, so no term is taken\n- firstReleased is left empty. The domain dates from 19 February 2018 and no first-hand launch date was found\n- site.financialmodelingprep.com answered our fetch tool with 403 on every page and plain curl with 200, so pages were read with curl; nothing in robots.txt forbids it\n\n### Sources\n\n- API documentation (read with curl): \u003chttps://site.financialmodelingprep.com/developer/docs\u003e (seen 2026-11-03)\n- llms.txt: \u003chttps://site.financialmodelingprep.com/llms.txt\u003e (seen 2026-11-03)\n- api-docs.md, 199 stable endpoints: \u003chttps://site.financialmodelingprep.com/api-docs.md\u003e (seen 2026-11-03)\n- pricing.md, per-endpoint plan limits: \u003chttps://site.financialmodelingprep.com/pricing.md\u003e (seen 2026-11-03)\n- pricing plans: \u003chttps://site.financialmodelingprep.com/pricing-plans\u003e (seen 2026-11-03)\n- MCP server page: \u003chttps://site.financialmodelingprep.com/developer/docs/mcp-server\u003e (seen 2026-11-03)\n- changelog: \u003chttps://site.financialmodelingprep.com/developer/docs/changelog\u003e (seen 2026-11-03)\n- FAQs: \u003chttps://site.financialmodelingprep.com/faqs\u003e (seen 2026-11-03)\n- help centre: \u003chttps://site.financialmodelingprep.com/help-center\u003e (seen 2026-11-03)\n- terms of service: \u003chttps://site.financialmodelingprep.com/terms-of-service\u003e (seen 2026-11-03)\n- privacy policy: \u003chttps://site.financialmodelingprep.com/privacy-policy\u003e (seen 2026-11-03)\n- status page (data did not load): \u003chttps://status.financialmodelingprep.com/\u003e (seen 2026-11-03)\n- OAuth protected resource metadata: \u003chttps://financialmodelingprep.com/.well-known/oauth-protected-resource\u003e (seen 2026-11-03)\n- OAuth authorisation server metadata: \u003chttps://financialmodelingprep.com/.well-known/oauth-authorization-server\u003e (seen 2026-11-03)\n- MCP endpoint without a key, 401: \u003chttps://financialmodelingprep.com/mcp\u003e (seen 2026-11-03)\n- quote endpoint without a key, 401: \u003chttps://financialmodelingprep.com/stable/quote?symbol=AAPL\u003e (seen 2026-11-03)\n- robots.txt: \u003chttps://site.financialmodelingprep.com/robots.txt\u003e (seen 2026-11-03)\n- security.txt (404): \u003chttps://site.financialmodelingprep.com/.well-known/security.txt\u003e (seen 2026-11-03)\n- RDAP for financialmodelingprep.com: \u003chttps://rdap.org/domain/financialmodelingprep.com\u003e (seen 2026-11-03)\n\n## Score history\n\nEvery move of a score since the listing was graded, newest first, with its cause. A score can't move without an entry here. JSON: https://www.anchorterminal.com/api/v1/tools/financial-modeling-prep/history.json\n\n- 2026-11-03: graded 48.7 D (methodology 0.7)\n\n## Who's behind it (provenance 81/100, checked 2026-11-03)\n\n| Check | Finding | Points |\n| --- | --- | --- |\n| Legal entity named | Financial Modeling Prep | 20/20 |\n| Domain age | financialmodelingprep.com, registered 2018-02-19 (8 years) | 11/15 |\n| Endpoint on the vendor's domain | financialmodelingprep.com | 15/15 |\n| Terms of service | published, but our reader couldn't read it | 7/10 |\n| Privacy policy | published, but our reader couldn't read it | 7/10 |\n| Status page | status.financialmodelingprep.com | 10/10 |\n| Changelog | published | 10/10 |\n| security.txt | not found | 0/10 |\n| People named | not researched yet | n/a |\n| Support route | a support address, help pages | 5/5 |\n\nThe 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.\n\nThe 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.\n\nsite.financialmodelingprep.com/robots.txt allows all crawlers and disallows /contact-card/. The terms contain no clause on automated access to the website.\n\nRDAP gives financialmodelingprep.com a registration date of 19 February 2018 at Amazon Registrar.\n\n/.well-known/security.txt and /security.txt return 404 on site.financialmodelingprep.com. The footer's Trust Center link returns 404.\n\nThe 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.\n\nThe hosted MCP server's host publishes OAuth 2 metadata at /.well-known/oauth-authorization-server with a Google service-account JWKS.\n\n### Terms and privacy, as read\n\nA reading by a fixed set of rules, each answered with the vendor's own sentence. Not legal advice.\n\n**Terms of service** (https://site.financialmodelingprep.com/terms-of-service), read 2026-11-03. Our reader couldn't read it (the page answered HTTP 403 to our reader).\n\n\n**Privacy policy** (https://site.financialmodelingprep.com/privacy-policy), read 2026-11-03. Our reader couldn't read it (the page answered HTTP 403 to our reader).\n\n\n## Humans behind the project (researched 2026-11-03 from public pages, not part of the grade)\n\n### Key people\n\n- No people named yet.\n- Note: No founder or named person was found on a first-hand page. The site has no about or team page (the footer's About, Contact Us and Trust Center links return 404), the careers page lists no positions or people, the terms are between FMP and the customer, and the LinkedIn company link in the footer was not opened. Investors were looked for on the site's pages, llms.txt, the terms and the careers page; nothing mentions funding, backers or a parent company, and no first-hand page outside the site was found in three searches.\n- Financial Modeling Prep: LinkedIn https://www.linkedin.com/company/financial-modeling-prep/ X https://x.com/financial_mod\n\n### Getting support\n\n- Support email: info@financialmodelingprep.com\n- Help: https://site.financialmodelingprep.com/help-center\n- Help: https://site.financialmodelingprep.com/faqs\n- Sources: https://site.financialmodelingprep.com/developer/docs, https://site.financialmodelingprep.com/terms-of-service, https://site.financialmodelingprep.com/help-center, https://site.financialmodelingprep.com/careers, https://site.financialmodelingprep.com/llms.txt\n\n## Live (updated 2026-11-04 19:34 UTC)\n\n- Right now: up, HTTP 401, 600 ms, checked 2026-11-04 19:34 UTC (get on `https://financialmodelingprep.com/stable`, asks for auth)\n- Uptime 24h 100.0% (43 probes) · 30 days 100.0% (43 probes) · p50 398 ms · p95 600 ms\n- Vendor status page: unknown, no machine-readable status found\n- security.txt: unknown\n- Always current: https://www.anchorterminal.com/api/v1/live/financial-modeling-prep.json\n\n## Probe metrics\n\nNot measured yet. Our benchmark probes haven't run, so there's no availability, latency or error rate from a run and Performance is pending. Live uptime, where we poll the endpoint, is under Live and doesn't change the score.\n\n## Prices\n\n| Item | Price | Unit | Note |\n| --- | --- | --- | --- |\n| Starter, 300 calls a minute | $29 | per month (plan) | personal use, about $19 a month billed annually |\n| Premium, 750 calls a minute | $69 | per month (plan) | personal use, about $49 a month billed annually |\n| Ultimate, 3,000 calls a minute | $139 | per month (plan) | personal use, about $99 a month billed annually |\n\nAcross all listings: https://www.anchorterminal.com/prices/index.md\n\n## Strengths\n\n- api-docs.md and pricing.md give agents every stable endpoint with parameters, an example response and the plan that unlocks it\n- Changelog entries dated by day through 2 November 2026\n- Free Basic plan at 250 calls a day with no card stated, and plan prices published without login\n- A public status page and a help centre with FAQs on keys, limits and errors\n- Hosted MCP server that reuses the REST key and limits, with OAuth metadata published on the same host\n\n## Weaknesses\n\n- The documented MCP connection URL puts the API key in the query string, and the REST docs accept `?apikey=` too\n- No OpenAPI document, no documented error responses and no 429 or Retry-After guidance found\n- Status page data did not load for our reader, so the incident record is unknown\n- Personal plans are for individuals only; any use on behalf of a company, and any display, needs a separate agreement with no public price\n- Terms name no legal entity, and the privacy policy carries no date and no retention periods\n\n\n\n## Before you call it (notes for agents)\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## Connect\n\nFirst request:\n\n```bash\ncurl -H \"apikey: $FMP_API_KEY\" \"https://financialmodelingprep.com/stable/quote?symbol=AAPL\"\n```\n\nMCP client configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"fmp\": {\n      \"url\": \"https://financialmodelingprep.com/mcp?apikey=YOUR_FMP_API_KEY\"\n    }\n  }\n}\n```\n\nThrough letme: https://letme.dev/financial-modeling-prep. letme answers with the pick and how to call it direct. How it works: https://www.anchorterminal.com/letme/index.md\n\n## Similar tools\n\nRanked by shared capabilities, then score. Same-category tools with no shared capability key are listed last.\n\n| Tool | Grade | Score | Rank | Shared capabilities | x402 | Markdown |\n| --- | --- | --- | --- | --- | --- | --- |\n| EODHD | C | 59 | 651 | market.history, market.prices, market.fundamentals, market.filings, market.news, market.indices, market.crypto, data.markets, data.company | no | https://www.anchorterminal.com/tools/eodhd.md |\n| Finnhub | E | 45.1 | 1140 | market.prices, market.fundamentals, market.news, market.filings, market.history, market.crypto, market.indices, data.markets, data.company | no | https://www.anchorterminal.com/tools/finnhub.md |\n| Twelve Data | BB | 70 | 197 | market.prices, market.history, market.fundamentals, market.crypto, market.indices, market.news, market.filings, data.markets | no | https://www.anchorterminal.com/tools/twelve-data.md |\n| Financial Datasets | C | 61.8 | 492 | market.fundamentals, market.filings, market.prices, market.history, market.news, market.indices, data.markets, data.company | yes | https://www.anchorterminal.com/tools/financial-datasets.md |\n| Intrinio | C | 54.2 | 879 | market.prices, market.fundamentals, market.filings, market.news, market.history, market.indices, data.markets, data.company | no | https://www.anchorterminal.com/tools/intrinio.md |\n| Alpha Vantage | E | 41.5 | 1197 | market.prices, market.history, market.fundamentals, market.news, data.markets, market.indices, market.crypto, data.company | no | https://www.anchorterminal.com/tools/alpha-vantage.md |\n\n## Panel reviews (0)\n\nReviewed by the Anchor panel (https://www.anchorterminal.com/reviewers/index.md): .\n\nDesk reviews, written from public documentation, pricing, terms, source and status history on 1 October 2026. No calls made. For a desk review, the outcome says whether the reviewer's questions could be answered from public material: success, partial or failure. How reviews work: https://www.anchorterminal.com/reviews/how-it-works.md\n\n## Notable\n\n- api-docs.md, linked from llms.txt, documents 199 distinct endpoints under https://financialmodelingprep.com/stable/ with a parameter table and an example response each, and says the legacy /v3 and /v4 endpoints are discontinued (source: \u003chttps://site.financialmodelingprep.com/api-docs.md\u003e)\n- The hosted MCP server at https://financialmodelingprep.com/mcp wraps the REST endpoints as tools and counts each call against the account's API limits. The documented connection URL carries the API key as a query parameter (source: \u003chttps://site.financialmodelingprep.com/developer/docs/mcp-server\u003e)\n- The changelog is dated by day, with entries on 6, 8, 12, 28 and 29 October and 2 November 2026, including a shorter default window on the Economics Indicators endpoint from 12 October (source: \u003chttps://site.financialmodelingprep.com/developer/docs/changelog\u003e)\n- pricing.md lists, endpoint by endpoint, what each personal plan returns, such as 5 results and page 0 only on the free plan for many lists (source: \u003chttps://site.financialmodelingprep.com/pricing.md\u003e)\n- The terms, last updated 1 August 2023, grant individuals a personal, non-commercial licence and forbid displaying or redistributing the data without a Data Display and Licensing Agreement (source: \u003chttps://site.financialmodelingprep.com/terms-of-service\u003e)\n- A status page at status.financialmodelingprep.com is linked from every page, but its data loads by script and our reader got an error instead of history (source: \u003chttps://status.financialmodelingprep.com/\u003e)\n\n- #8 of 11 in Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md\n- All 55 markets comparisons: https://www.anchorterminal.com/compare/market-data/index.md\n\n## Compare\n\n- [Alpha Vantage vs Financial Modeling Prep](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep.md): E 41.5 vs D 48.7\n- [Databento vs Financial Modeling Prep](https://www.anchorterminal.com/compare/databento-vs-financial-modeling-prep.md): C 60.3 vs D 48.7\n- [Financial Modeling Prep vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-massive.md): D 48.7 vs BB 73.1\n- [Financial Datasets vs Financial Modeling Prep](https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.md): C 61.8 vs D 48.7\n- [Financial Modeling Prep vs Finnhub](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub.md): D 48.7 vs E 45.1\n- [Financial Modeling Prep vs Intrinio](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.md): D 48.7 vs C 54.2\n- [Financial Modeling Prep vs Tiingo](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.md): D 48.7 vs D 46.2\n- [Financial Modeling Prep vs Twelve Data](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-twelve-data.md): D 48.7 vs BB 70\n- [EODHD vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.md): C 59 vs D 48.7\n- [Benzinga vs Financial Modeling Prep](https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep.md): D 49.2 vs D 48.7\n\n## Verify this listing\n\nFor the vendor. The badge or a plain link to this page verifies the listing, from a page on financialmodelingprep.com or one of its subdomains. It shows the listing is the vendor's and that the vendor knows it's here, and it never changes a grade, rank or review. The vendor sends the page's address to `POST https://www.anchorterminal.com/api/v1/verify` as `{\"slug\": \"financial-modeling-prep\", \"url\": \"…\"}`, or calls the `verify_listing` tool at https://www.anchorterminal.com/mcp. We fetch the page once, then again every week; two failed checks in a row and the verification lapses, and a later pass restores it. What we check: https://www.anchorterminal.com/builders/index.md#verify\n\nHTML badge:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/financial-modeling-prep\"\u003e\u003cimg src=\"https://www.anchorterminal.com/badges/financial-modeling-prep.svg\" alt=\"Financial Modeling Prep on Anchor Terminal\" height=\"20\"\u003e\u003c/a\u003e\n```\n\nMarkdown badge, for a README:\n\n```markdown\n[![Financial Modeling Prep on Anchor Terminal](https://www.anchorterminal.com/badges/financial-modeling-prep.svg)](https://www.anchorterminal.com/tools/financial-modeling-prep)\n```\n\nPlain link:\n\n```html\n\u003ca href=\"https://www.anchorterminal.com/tools/financial-modeling-prep\"\u003eFinancial Modeling Prep on Anchor Terminal\u003c/a\u003e\n```\n\n## Share this listing\n\nFor the vendor. Sharing assets for social media, two PNGs of 1200 × 630 that say Financial Modeling Prep is listed on Anchor Terminal, with the vendor's logo and this page's address and no grade or score.\n\n- Dark: https://www.anchorterminal.com/assets/share/financial-modeling-prep-dark.png\n- Light: https://www.anchorterminal.com/assets/share/financial-modeling-prep-light.png\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Financial market data",
        "url": "https://www.anchorterminal.com/categories/market-data"
      },
      {
        "name": "Financial Modeling Prep",
        "url": ""
      }
    ],
    "description": "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.",
    "facts": [
      "rank #1056 of 1349",
      "API key auth",
      "0 desk reviews"
    ],
    "h1": "Financial Modeling Prep",
    "image": "https://www.anchorterminal.com/assets/og/tools-financial-modeling-prep.png",
    "path": "/tools/financial-modeling-prep",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Financial Modeling Prep review: pricing, alternatives, grade D",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/tools/financial-modeling-prep"
  },
  "tokens": {
    "markdown": 7300,
    "slim": 1880
  },
  "version": 1
}
