{
  "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"
  },
  "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"
    }
  }
}
