{
  "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-datasets",
    "name": "Financial Datasets",
    "vendor": "Financial Datasets, Inc.",
    "vendorUrl": "https://www.financialdatasets.ai",
    "kind": "http-api",
    "category": "market-data",
    "summary": "Financial Datasets is a stock market data API built for AI agents, with financial statements, SEC filings, earnings, insider and institutional holdings, prices, news and macro series for 27,000 US tickers, through REST, x402 and a hosted MCP server.",
    "url": "https://www.anchorterminal.com/tools/financial-datasets",
    "markdownUrl": "https://www.anchorterminal.com/tools/financial-datasets.md",
    "slimMarkdownUrl": "https://www.anchorterminal.com/tools/financial-datasets.min.md",
    "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/financial-datasets.json",
    "dns": "financial-datasets.grade.anchorterminal.com",
    "repo": "https://github.com/financial-datasets",
    "transports": [
      "http",
      "streamable-http"
    ],
    "remoteUrl": "https://api.financialdatasets.ai",
    "packages": [
      {
        "registry": "pypi",
        "name": "financial-datasets"
      }
    ],
    "auth": "mixed",
    "authNotes": "API key in the `X-API-KEY` header, minted in the dashboard or by `POST /agent/signup` with an email and agent name, shown once. Any documented GET data endpoint also accepts x402 payment with no key. The hosted MCP server uses OAuth 2 with PKCE, dynamic client registration, a revocation endpoint and one scope, `stock-market-data`, or an `X-API-KEY` header on its /api endpoint. Keys are revoked from the dashboard; no rotation or expiry documented.",
    "pricing": "usage",
    "pricingNotes": "Credits at $20 for 1,000 requests, one-off, personal licence, one year of price history. Personal $200 a month for 100,000 requests (overage $10 per 1,000, cap 1 million). Professional $2,000 a month for 2 million requests (overage $5 per 1,000, cap 10 million) with a commercial licence, redistribution, webhooks and uptime SLAs. Enterprise by contact. Premium endpoints count as 2, 4 or 8 requests by plan. Over x402, each GET data endpoint quotes its own USDC price in the 402 response; /earnings quoted $0.02 on 3 November 2026. No free tier found.",
    "priceSummary": "$0.02 / call",
    "where": "hosted",
    "x402": {
      "level": "yes",
      "evidence": "Announced 23 October 2026. Every documented GET data endpoint (36 per the announcement) returns 402 with x402 version 2 terms in the PAYMENT-REQUIRED header, scheme exact, USDC on Base (eip155:8453), payTo 0xC45E70793C01C6Ae4336dd5a5503baC958d32403, 300-second timeout. Error responses are not charged, payment settles only after a successful response, history is limited to the last 365 days and the licence is Non-Professional. Our unauthenticated GET /earnings?ticker=NVDA on 3 November 2026 returned 402 with amount 20000 base units, $0.02 (https://docs.financialdatasets.ai/x402.md).",
      "endpoints": [
        {
          "url": "https://api.financialdatasets.ai/earnings",
          "priceUsd": 0.02,
          "network": "eip155:8453"
        }
      ]
    },
    "toolCount": 28,
    "popularity": {
      "githubStars": null,
      "npmWeekly": null,
      "pypiWeekly": null,
      "asOf": "2026-11-03"
    },
    "docsUrl": "https://docs.financialdatasets.ai/",
    "llmsTxt": "https://docs.financialdatasets.ai/llms.txt",
    "openapi": "https://www.financialdatasets.ai/openapi.json",
    "capabilities": [
      "market.fundamentals",
      "market.filings",
      "market.prices",
      "market.history",
      "market.news",
      "market.indices",
      "data.markets",
      "data.company"
    ],
    "tags": [
      "official",
      "hosted",
      "x402",
      "usage",
      "prepaid",
      "openapi",
      "llms-txt",
      "mcp",
      "remote-mcp",
      "oauth",
      "webhooks",
      "no-status-page",
      "closed-source"
    ],
    "lastRelease": "2026-10-26",
    "graded": true,
    "anchor": {
      "graded": true,
      "score": 61.8,
      "grade": "C",
      "agentReady": false,
      "rank": 492,
      "ranked": true,
      "rankOf": 1349,
      "categoryRank": 3,
      "methodology": "0.7",
      "run": "2026-10-01",
      "scores": {
        "ergonomics": 73,
        "maintenance": 56,
        "payments": 75,
        "reliability": 43,
        "schema": 80,
        "security": 49,
        "transparency": 63
      },
      "pending": [
        "performance",
        "tasks"
      ],
      "breakdown": [
        {
          "key": "reliability",
          "name": "Reliability",
          "weight": 16,
          "effectiveWeight": 20,
          "score": 43,
          "points": 8.6,
          "reason": "Graded as a hosted service. No status page was found; status.financialdatasets.ai does not resolve and no page links one (0), so there is no incident history to read (5). The only published limit is 10,000 requests a minute per wallet over x402, with monthly request caps per plan and none per minute for keyed plans (8 of 15). The OpenAPI file declares 429 and the x402 page documents a 503 with Retry-After from the facilitator and a `duplicate_payment` check on replayed signatures (10 of 15). The Professional plan lists uptime SLAs, with no figure published (10). The API is generally available (10). Total 43.",
          "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": 80,
          "points": 13,
          "reason": "OpenAPI 3.0.1 at financialdatasets.ai/openapi.json, 68 operations with 13 response codes and one security scheme, named the source of truth by the docs (25). llms.txt and a Markdown twin of every page (10). Every operation has a description, and the 402 terms carry a resource description that says when an agent should use the endpoint (17 of 20). 330 parameters, 36 with enums, 32 required, no free-form blobs (12 of 15). Code samples in Python, JavaScript and curl, x402 error values documented, but response examples on only six operations in the spec (11 of 15). No API version and no changelog; the news page has four dated posts in 2026 (5 of 15). Total 80.",
          "checked": "2026-11-03"
        },
        {
          "key": "ergonomics",
          "name": "Agent ergonomics",
          "weight": 13,
          "effectiveWeight": 16.25,
          "score": 73,
          "points": 11.86,
          "reason": "`limit` and `period` on the data endpoints, `as_reported` flags and snapshot variants, with no field selection (15 of 25). `next_page_url` cursors and ticker, CIK, market and date filters (18 of 20). A 402 body says what to do next, x402 errors carry named values, and the spec lists 400, 401, 403, 404, 409, 422, 429, 502 and 503 (16 of 20). Data calls are GETs, payment settles only after a successful response, and a replayed x402 signature is refused; no readOnlyHint found for the MCP tools and no idempotency key for the POST endpoints (14 of 20). Few required parameters, 28 compact MCP tools, but the only package, financial-datasets on PyPI, is at 0.1.18 from 26 May 2024 (10 of 15). Total 73.",
          "checked": "2026-11-03"
        },
        {
          "key": "security",
          "name": "Security \u0026 auth",
          "weight": 14,
          "effectiveWeight": 17.5,
          "score": 49,
          "points": 8.57,
          "reason": "A plain account key in the `X-API-KEY` header only, revoked from the dashboard, with no scopes, rotation or expiry; the MCP server adds OAuth 2 with PKCE (plain and S256), dynamic client registration, a revocation endpoint and one scope (20 of 30). Every data endpoint is a read; the x402 route and agent signup don't change the account beyond funding it (15 of 20). Filing text, filing items and news are third-party content, with no guidance on treating them as untrusted (5 of 15). The privacy policy says requests and responses are logged for up to three years; no per-call log is shown to the key holder (5 of 15). security.txt returns 404 and no bounty, SOC 2 or ISO 27001 was found; the terms ask for prompt notice of a compromised key and a subprocessor list is published (4 of 20). Total 49.",
          "checked": "2026-11-03"
        },
        {
          "key": "payments",
          "name": "Payments \u0026 pricing",
          "weight": 10,
          "effectiveWeight": 12.5,
          "score": 75,
          "points": 9.38,
          "reason": "x402 on the vendor's own endpoints for every documented GET data endpoint, 36 of them, with the last 365 days only and a Non-Professional licence; full history, the market snapshot, filing items and the POST endpoints need a key (35 of 40). Plan prices and overage rates are public, and each x402 endpoint quotes its price in the 402 header, $0.02 on /earnings (20). No free tier or trial found; data calls return 402 until an account holds credits, from $20 (0). An agent can pay by x402 with no account, or open an account with `POST /agent/signup` and have the owner fund it (20). Total 75.",
          "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": 56,
          "points": 4.9,
          "reason": "UK fundamentals went live on 26 October 2026, India on 23 October, with Japan and South Korea dated for November on the coverage page (30). Dated changes in the last 90 days are x402 on 23 October, UK fundamentals on 26 October, terms and subprocessor list on 29 October, privacy policy on 20 August, with no changelog as such (12 of 20). Contact is a form and the dashboard; no support email, Discord or forum was found, and the GitHub organisation's four repositories couldn't be read because the GitHub API rate limit was reached (6 of 15). The PyPI package is 0.1.18 of 26 May 2024 by the founder, and the docs point to the OpenAPI file and the MCP server rather than an SDK (5 of 15). Package health unknown, dependencies not checked (3 of 10). Total 56.",
          "checked": "2026-11-03"
        },
        {
          "key": "transparency",
          "name": "Transparency \u0026 trust",
          "weight": 7,
          "effectiveWeight": 8.75,
          "score": 63,
          "points": 5.51,
          "note": "editorial 60, provenance 65",
          "reason": "A closed service under terms dated 29 October 2026 that name Financial Datasets, Inc., set New York law, and state the licence per plan (15 of 30). The privacy policy of 20 August 2026 gives retention periods (accounts up to seven years after closure, API and MCP logs up to three years, backups 90 days), says inputs aren't used for training, and links a subprocessor list; no DPA text was found (24 of 30). No deprecation policy; the terms say the Services may be discontinued and material changes get reasonable notice (3 of 20). Subprocessors (AWS, Heroku, Stripe, Google sign-in, Vercel) and the United States as hosting location are disclosed (18 of 20). Total 60.",
          "checked": "2026-11-03"
        }
      ],
      "assessment": {
        "date": "2026-11-03",
        "basis": "public evidence",
        "confidence": "medium",
        "notes": {
          "ergonomics": "`limit` and `period` on the data endpoints, `as_reported` flags and snapshot variants, with no field selection (15 of 25). `next_page_url` cursors and ticker, CIK, market and date filters (18 of 20). A 402 body says what to do next, x402 errors carry named values, and the spec lists 400, 401, 403, 404, 409, 422, 429, 502 and 503 (16 of 20). Data calls are GETs, payment settles only after a successful response, and a replayed x402 signature is refused; no readOnlyHint found for the MCP tools and no idempotency key for the POST endpoints (14 of 20). Few required parameters, 28 compact MCP tools, but the only package, financial-datasets on PyPI, is at 0.1.18 from 26 May 2024 (10 of 15). Total 73.",
          "maintenance": "UK fundamentals went live on 26 October 2026, India on 23 October, with Japan and South Korea dated for November on the coverage page (30). Dated changes in the last 90 days are x402 on 23 October, UK fundamentals on 26 October, terms and subprocessor list on 29 October, privacy policy on 20 August, with no changelog as such (12 of 20). Contact is a form and the dashboard; no support email, Discord or forum was found, and the GitHub organisation's four repositories couldn't be read because the GitHub API rate limit was reached (6 of 15). The PyPI package is 0.1.18 of 26 May 2024 by the founder, and the docs point to the OpenAPI file and the MCP server rather than an SDK (5 of 15). Package health unknown, dependencies not checked (3 of 10). Total 56.",
          "payments": "x402 on the vendor's own endpoints for every documented GET data endpoint, 36 of them, with the last 365 days only and a Non-Professional licence; full history, the market snapshot, filing items and the POST endpoints need a key (35 of 40). Plan prices and overage rates are public, and each x402 endpoint quotes its price in the 402 header, $0.02 on /earnings (20). No free tier or trial found; data calls return 402 until an account holds credits, from $20 (0). An agent can pay by x402 with no account, or open an account with `POST /agent/signup` and have the owner fund it (20). Total 75.",
          "reliability": "Graded as a hosted service. No status page was found; status.financialdatasets.ai does not resolve and no page links one (0), so there is no incident history to read (5). The only published limit is 10,000 requests a minute per wallet over x402, with monthly request caps per plan and none per minute for keyed plans (8 of 15). The OpenAPI file declares 429 and the x402 page documents a 503 with Retry-After from the facilitator and a `duplicate_payment` check on replayed signatures (10 of 15). The Professional plan lists uptime SLAs, with no figure published (10). The API is generally available (10). Total 43.",
          "schema": "OpenAPI 3.0.1 at financialdatasets.ai/openapi.json, 68 operations with 13 response codes and one security scheme, named the source of truth by the docs (25). llms.txt and a Markdown twin of every page (10). Every operation has a description, and the 402 terms carry a resource description that says when an agent should use the endpoint (17 of 20). 330 parameters, 36 with enums, 32 required, no free-form blobs (12 of 15). Code samples in Python, JavaScript and curl, x402 error values documented, but response examples on only six operations in the spec (11 of 15). No API version and no changelog; the news page has four dated posts in 2026 (5 of 15). Total 80.",
          "security": "A plain account key in the `X-API-KEY` header only, revoked from the dashboard, with no scopes, rotation or expiry; the MCP server adds OAuth 2 with PKCE (plain and S256), dynamic client registration, a revocation endpoint and one scope (20 of 30). Every data endpoint is a read; the x402 route and agent signup don't change the account beyond funding it (15 of 20). Filing text, filing items and news are third-party content, with no guidance on treating them as untrusted (5 of 15). The privacy policy says requests and responses are logged for up to three years; no per-call log is shown to the key holder (5 of 15). security.txt returns 404 and no bounty, SOC 2 or ISO 27001 was found; the terms ask for prompt notice of a compromised key and a subprocessor list is published (4 of 20). Total 49.",
          "transparency": "A closed service under terms dated 29 October 2026 that name Financial Datasets, Inc., set New York law, and state the licence per plan (15 of 30). The privacy policy of 20 August 2026 gives retention periods (accounts up to seven years after closure, API and MCP logs up to three years, backups 90 days), says inputs aren't used for training, and links a subprocessor list; no DPA text was found (24 of 30). No deprecation policy; the terms say the Services may be discontinued and material changes get reasonable notice (3 of 20). Subprocessors (AWS, Heroku, Stripe, Google sign-in, Vercel) and the United States as hosting location are disclosed (18 of 20). Total 60."
        },
        "sources": [
          {
            "what": "introduction",
            "url": "https://docs.financialdatasets.ai/introduction",
            "seen": "2026-11-03"
          },
          {
            "what": "llms.txt",
            "url": "https://docs.financialdatasets.ai/llms.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "OpenAPI file",
            "url": "https://www.financialdatasets.ai/openapi.json",
            "seen": "2026-11-03"
          },
          {
            "what": "x402 docs",
            "url": "https://docs.financialdatasets.ai/x402.md",
            "seen": "2026-11-03"
          },
          {
            "what": "x402 announcement",
            "url": "https://www.financialdatasets.ai/news/x402",
            "seen": "2026-11-03"
          },
          {
            "what": "unauthenticated GET returning 402 terms",
            "url": "https://api.financialdatasets.ai/earnings?ticker=NVDA\u0026limit=1",
            "seen": "2026-11-03"
          },
          {
            "what": "agent onboarding",
            "url": "https://docs.financialdatasets.ai/agents.md",
            "seen": "2026-11-03"
          },
          {
            "what": "agent connectors (MCP)",
            "url": "https://docs.financialdatasets.ai/mcp-server.md",
            "seen": "2026-11-03"
          },
          {
            "what": "MCP OAuth metadata",
            "url": "https://mcp.financialdatasets.ai/.well-known/oauth-authorization-server",
            "seen": "2026-11-03"
          },
          {
            "what": "quick start",
            "url": "https://docs.financialdatasets.ai/quickstart.md",
            "seen": "2026-11-03"
          },
          {
            "what": "market coverage",
            "url": "https://docs.financialdatasets.ai/market-coverage.md",
            "seen": "2026-11-03"
          },
          {
            "what": "data provenance",
            "url": "https://docs.financialdatasets.ai/data-provenance.md",
            "seen": "2026-11-03"
          },
          {
            "what": "webhooks",
            "url": "https://docs.financialdatasets.ai/webhooks.md",
            "seen": "2026-11-03"
          },
          {
            "what": "pricing",
            "url": "https://www.financialdatasets.ai/pricing",
            "seen": "2026-11-03"
          },
          {
            "what": "terms of use",
            "url": "https://www.financialdatasets.ai/terms-of-use",
            "seen": "2026-11-03"
          },
          {
            "what": "privacy policy",
            "url": "https://www.financialdatasets.ai/privacy-policy",
            "seen": "2026-11-03"
          },
          {
            "what": "subprocessor list",
            "url": "https://www.financialdatasets.ai/subprocessors",
            "seen": "2026-11-03"
          },
          {
            "what": "news page",
            "url": "https://www.financialdatasets.ai/news",
            "seen": "2026-11-03"
          },
          {
            "what": "PyPI, financial-datasets",
            "url": "https://pypi.org/pypi/financial-datasets/json",
            "seen": "2026-11-03"
          },
          {
            "what": "Y Combinator company page",
            "url": "https://www.ycombinator.com/companies/financial-datasets",
            "seen": "2026-11-03"
          },
          {
            "what": "robots.txt",
            "url": "https://www.financialdatasets.ai/robots.txt",
            "seen": "2026-11-03"
          },
          {
            "what": "security.txt (404)",
            "url": "https://www.financialdatasets.ai/.well-known/security.txt",
            "seen": "2026-11-03"
          }
        ],
        "openQuestions": [
          "Per-minute or per-second rate limits on keyed plans, which no page publishes",
          "The x402 price of endpoints other than /earnings, which each 402 response quotes; only one was read",
          "The uptime SLA figure on the Professional plan, which the pricing page names without a number",
          "Whether the four repositories in the financial-datasets GitHub organisation include the MCP server's source. The GitHub API rate limit was reached before they were listed",
          "unchecked: the domain registration date, because rdap.org answered 403",
          "unchecked: the MCP tools' annotations (readOnlyHint), since no MCP session was opened and the source wasn't found"
        ]
      },
      "negative": 0,
      "verdict": "Every documented GET data endpoint takes x402 with no key, failed calls uncharged, and an agent can open and fund an account by API. A public OpenAPI file, llms.txt and a 28-tool OAuth MCP server cover the same data. There is no status page or free tier, keyed rate limits aren't published, and x402 data stops at 365 days.",
      "bestFor": "An agent doing US company research from SEC-sourced statements, filings, insider and institutional data that wants to pay per call with no account, or a small team on credits.",
      "strengths": [
        "x402 on every documented GET data endpoint (36), USDC on Base, no key or account, error responses not charged, with the price in each 402 response ($0.02 on /earnings on 3 November 2026)",
        "OpenAPI 3.0.1 with 68 operations and a description on each, llms.txt, and a Markdown twin of every docs page",
        "`POST /agent/signup` and `POST /agent/checkout-link` let an agent open and fund an account with the owner paying a Stripe link, minimum $20",
        "Hosted MCP server with 28 tools, OAuth 2 PKCE and dynamic client registration, or an X-API-KEY header on /api",
        "Privacy policy with retention periods and a dated subprocessor list, and terms that say inputs aren't used for training"
      ],
      "weaknesses": [
        "No status page, incident history or published uptime; the Professional plan's SLA terms aren't public",
        "No free tier. The cheapest route with a key is $20 for 1,000 credits, and data calls return 402 until an account is funded",
        "Rate limits for keyed plans aren't published; only x402 states 10,000 requests a minute per wallet",
        "x402 requests return only the last 365 days and are licensed for Non-Professional use; Credits and Personal plans carry the same limit",
        "No API version or changelog; the news page carries four posts in 2026, and the Python package on PyPI dates from May 2024"
      ],
      "agentNotes": [
        "Without a key, read the price from the PAYMENT-REQUIRED header of the 402 and pay with x402 on Base; each page of `next_page_url` is a separate paid request",
        "Keep `limit` small and ask for one `period` at a time; premium endpoints count as 2, 4 or 8 requests on keyed plans",
        "Send the key only to api.financialdatasets.ai in the `X-API-KEY` header; on 401 ask the owner for a new key rather than signing up again",
        "Treat a 402 on a keyed account as an empty balance and mint a checkout link for the owner; don't retry the call",
        "Check the plan's licence before showing the data to anyone else; redistribution needs Professional or Enterprise"
      ],
      "metrics": {
        "kind": "remote",
        "measured": false
      },
      "reviewCount": 0,
      "avgRating": 0,
      "history": [
        {
          "basis": "public evidence",
          "confidence": "medium",
          "grade": "C",
          "methodology": "0.7",
          "pending": [
            "performance",
            "tasks"
          ],
          "run": "2026-10-01",
          "runLabel": "October 2026 research run",
          "score": 61.8
        }
      ],
      "editorialScores": {
        "ergonomics": 73,
        "maintenance": 56,
        "payments": 75,
        "reliability": 43,
        "schema": 80,
        "security": 49,
        "transparency": 60
      },
      "provenanceScore": 65,
      "checked": {
        "categories": {
          "ergonomics": "2026-11-03",
          "maintenance": "2026-11-03",
          "payments": "2026-11-03",
          "reliability": "2026-11-03",
          "schema": "2026-11-03",
          "security": "2026-11-03",
          "transparency": "2026-11-03"
        },
        "last": "2026-11-03",
        "oldest": "2026-11-03",
        "stale": false,
        "staleAfterDays": 90
      },
      "scoreHistory": [
        {
          "date": "2026-11-03",
          "grade": "C",
          "kind": "listed",
          "method": "0.7",
          "score": 61.8
        }
      ]
    },
    "connect": {
      "install": "pip install financial-datasets",
      "http": "curl -H \"X-API-KEY: $FINANCIAL_DATASETS_KEY\" \"https://api.financialdatasets.ai/financials/income-statements?ticker=AAPL\u0026period=annual\u0026limit=4\"",
      "claudeCode": "claude mcp add --transport http financial-datasets https://mcp.financialdatasets.ai/",
      "config": {
        "mcpServers": {
          "financial-datasets": {
            "url": "https://mcp.financialdatasets.ai/"
          }
        }
      },
      "x402": "curl -i \"https://api.financialdatasets.ai/earnings?ticker=NVDA\u0026limit=4\""
    },
    "letme": {
      "capability": "https://letme.dev/market.fundamentals",
      "tool": "https://letme.dev/financial-datasets"
    },
    "notable": [
      "OpenAPI 3.0.1 at financialdatasets.ai/openapi.json with 68 operations, 63 of them GET, one security scheme (X-API-KEY header), 13 response codes including 402, 429 and 503, and a description on every operation (https://www.financialdatasets.ai/openapi.json)",
      "x402 on every documented GET data endpoint since 23 October 2026, USDC on Base, no key or account, last 365 days of data, Non-Professional use; the 402 body says to send an X-API-KEY header or pay per call (https://www.financialdatasets.ai/news/x402)",
      "Agents open an account with `POST /agent/signup` (email and agent name, key returned once) and fund it with `POST /agent/checkout-link`, a Stripe Checkout link the owner pays in a browser, minimum $20; the owner gets one confirmation email and can revoke the key (https://docs.financialdatasets.ai/agents.md)",
      "Hosted MCP server at https://mcp.financialdatasets.ai/ with 28 tools and OAuth (PKCE, dynamic client registration, revocation, scope stock-market-data), also /api with an X-API-KEY header; listed for Claude, ChatGPT, Hermes, Codex, Gemini, Grok, OpenClaw and Cursor (https://docs.financialdatasets.ai/mcp-server.md)",
      "Terms of 29 October 2026 count every request, including MCP tool calls, as one billable unit, limit Credits and Personal plans to Non-Professional users, allow redistribution (including to an AI model or agent serving your users) only on Professional and Enterprise, and say prepaid balances expire after 12 months (https://www.financialdatasets.ai/terms-of-use)",
      "Privacy policy of 20 August 2026 keeps API, MCP and ChatGPT app logs for up to three years, says inputs aren't used to train its models, and links a subprocessor list (AWS, Heroku, Stripe, Google sign-in, Vercel, all United States) dated 29 October 2026 (https://www.financialdatasets.ai/privacy-policy)",
      "Stock prices come from Databento as the market data partner; fundamentals, filings, insider and 13F data are parsed from SEC EDGAR by the vendor (https://docs.financialdatasets.ai/data-provenance.md)",
      "No status page was found; status.financialdatasets.ai does not resolve and no page links one (checked 2026-11-03)"
    ],
    "area": "domain-data",
    "details": [
      {
        "label": "Surface listed",
        "value": "The REST API at api.financialdatasets.ai with its x402 route, read from docs.financialdatasets.ai (llms.txt and Markdown pages), the OpenAPI file, financialdatasets.ai (pricing, news, terms, privacy, subprocessors), the MCP server's OAuth metadata, PyPI and the Y Combinator company page on 3 November 2026, with the hosted MCP server noted. One unauthenticated GET was made to read the 402 terms; no payment was made, no account was opened and no MCP session was started"
      },
      {
        "label": "Plans",
        "value": "Credits $20 one-off for 1,000 requests. Personal $200 a month, 100,000 requests, overage $10 per 1,000, cap 1 million. Professional $2,000 a month, 2 million requests, overage $5 per 1,000, cap 10 million, commercial licence, redistribution, webhooks, uptime SLAs. Enterprise custom with bulk delivery and zero data retention"
      },
      {
        "label": "x402",
        "value": "Version 2, scheme exact, USDC on Base, 300-second timeout, price per endpoint in the 402 header, 10,000 requests a minute per wallet, last 365 days, Non-Professional use. Not covered are /filings/items, /prices/snapshot/market and the POST endpoints, while /prices/tickers and /macro/inflation/series are free"
      },
      {
        "label": "Agent onboarding",
        "value": "POST /agent/signup with email and agent_name returns a key once (201); POST /agent/checkout-link with the key returns a Stripe Checkout URL valid 24 hours, minimum $20, optional auto-refill; the owner's email receives a confirmation and signing into the dashboard before confirming revokes the key"
      },
      {
        "label": "Coverage",
        "value": "27,530 US tickers including delisted, 30 years of fundamentals; UK (674 companies) and France (376) annual fundamentals; India dated 23 October 2026, Japan 6 November and South Korea 13 November on the coverage page"
      },
      {
        "label": "MCP tools",
        "value": "28, among them get_income_statement, get_balance_sheet, get_cash_flow_statement, get_financial_metrics, get_earnings, get_filings, get_filing_items, get_insider_trades, get_institutional_holdings, get_stock_prices, get_news, get_macro_data, screen_stocks"
      },
      {
        "label": "Data sources",
        "value": "SEC EDGAR parsed by the vendor for statements, filings, insider and 13F data; Databento for stock prices"
      },
      {
        "label": "Legal entity",
        "value": "Financial Datasets, Inc., New York law, per the terms of 29 October 2026"
      }
    ],
    "unitPrices": [
      {
        "item": "Earnings, over x402",
        "unit": "call",
        "usd": 0.02,
        "note": "read from the 402 response on 3 November 2026; other endpoints quote their own price"
      },
      {
        "item": "Credits pack",
        "unit": "1k-requests",
        "usd": 20,
        "note": "one-off, personal licence, one year of price history"
      },
      {
        "item": "Personal plan",
        "unit": "month",
        "usd": 200,
        "note": "100,000 requests, overage $10 per 1,000"
      },
      {
        "item": "Professional plan",
        "unit": "month",
        "usd": 2000,
        "note": "2 million requests, overage $5 per 1,000, commercial licence"
      }
    ],
    "provenance": {
      "legalEntity": "Financial Datasets, Inc.",
      "domain": "financialdatasets.ai",
      "domainRegistered": "",
      "endpointOnVendorDomain": true,
      "terms": "https://www.financialdatasets.ai/terms-of-use",
      "privacy": "https://www.financialdatasets.ai/privacy-policy",
      "statusPage": "",
      "changelog": "https://www.financialdatasets.ai/news",
      "securityTxt": "none",
      "checked": "2026-11-03",
      "notes": [
        "Financial Datasets, Inc. is named in the terms (as of 29 October 2026, New York law), the privacy policy (last updated 20 August 2026) and the subprocessor list (29 October 2026).",
        "Terms section 5 forbids accessing the Services by automated means outside the documented API; the public website has no separate automated-access clause. robots.txt on www.financialdatasets.ai allows all crawlers and names ClaudeBot, Claude-User and Claude-SearchBot as allowed; docs.financialdatasets.ai, api.financialdatasets.ai and mcp.financialdatasets.ai carry Content-Signal ai-train=yes, search=yes, ai-input=yes.",
        "The docs, llms.txt and the 402 response carry instructions addressed to agents; none were acted on.",
        "RDAP for financialdatasets.ai was refused (403 from rdap.org), so the registration date is unchecked.",
        "/.well-known/security.txt returns 404. No status page found. The news page is the nearest thing to a changelog."
      ],
      "score": 65,
      "checks": [
        {
          "check": "Legal entity named",
          "value": "Financial Datasets, Inc.",
          "points": 20,
          "max": 20,
          "state": "ok"
        },
        {
          "check": "Domain age",
          "value": "financialdatasets.ai, no registry record we could read",
          "points": 0,
          "max": 15,
          "state": "no"
        },
        {
          "check": "Endpoint on the vendor's domain",
          "value": "api.financialdatasets.ai",
          "points": 15,
          "max": 15,
          "state": "ok"
        },
        {
          "check": "Terms of service",
          "value": "read, states 6 of the 7 things a reader expects, and has 2 clauses that cost points",
          "points": 5.1,
          "max": 10,
          "state": "part"
        },
        {
          "check": "Privacy policy",
          "value": "read, states 8 of the 8 things a reader expects",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Status page",
          "value": "not found",
          "points": 0,
          "max": 10,
          "state": "no"
        },
        {
          "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": "1 named with their role, 1 with a public profile",
          "points": 10,
          "max": 10,
          "state": "ok"
        },
        {
          "check": "Support route",
          "value": "help pages",
          "points": 5,
          "max": 5,
          "state": "ok"
        }
      ],
      "policies": [
        {
          "kind": "terms",
          "url": "https://www.financialdatasets.ai/terms-of-use",
          "state": "read",
          "readAt": "2026-11-03",
          "statedDate": "2026-10-29",
          "words": 2071,
          "points": 5.1,
          "max": 10,
          "expected": [
            {
              "key": "terms.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "As of October 29, 2026",
              "says": "Last updated 2026-10-29"
            },
            {
              "key": "terms.law",
              "label": "Names the governing law or courts",
              "found": true,
              "quote": "These Terms are governed by the laws of the State of New York, without regard to its conflict-of-laws rules.",
              "says": "The law of the State of New York"
            },
            {
              "key": "terms.liability",
              "label": "States a limit on its liability",
              "found": true,
              "quote": "OUR TOTAL AGGREGATE LIABILITY ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICES, ACROSS ALL CLAIMS, WILL NOT EXCEED ONE HUNDRED U.S."
            },
            {
              "key": "terms.termination",
              "label": "Says how the agreement or account can be ended",
              "found": true,
              "quote": "We aim for high availability but do not guarantee that the Services will be uninterrupted, secure, or error-free, and we may suspend access for maintenance, security, legal, or operational reasons."
            },
            {
              "key": "terms.changes",
              "label": "Says how changes to the terms are announced",
              "found": true,
              "quote": "If we make a material change, we will provide reasonable notice, for example by posting the updated Terms with a new date or by notifying you.",
              "says": "Says it gives notice of a change"
            },
            {
              "key": "terms.use",
              "label": "Lists what users may not do",
              "found": true,
              "quote": "If you are not a Non-Professional, you may not use the Credits or Personal plan."
            },
            {
              "key": "terms.sla",
              "label": "Refers to a service level or uptime commitment",
              "found": false
            }
          ],
          "toKnow": [
            {
              "key": "terms.automated",
              "label": "Restricts automated access",
              "found": true,
              "quote": "• attack, overload, or disrupt the Services (including any denial-of-service attack), or access them by automated means outside the documented API;",
              "costsPoints": true
            },
            {
              "key": "terms.benchmark",
              "label": "Restricts benchmarking or competitive use",
              "found": true,
              "quote": "Regardless of plan, you may not use the data or outputs to: (a) build or offer any product, dataset, data feed, or API that is substantially similar to, or a substitute for, the Services; (b) train, fine-tune, or develop a machine-learning or AI model that competes with the Services",
              "costsPoints": true
            },
            {
              "key": "terms.cutoff",
              "label": "Says access can be ended without notice or for any reason",
              "found": true,
              "quote": "We may add, change, or remove features, and we may modify or discontinue all or part of the Services at any time."
            }
          ],
          "notes": [
            {
              "date": "2026-11-03",
              "text": "Total liability across all claims is capped at 100 US dollars.",
              "quote": "OUR TOTAL AGGREGATE LIABILITY ARISING OUT OF OR RELATING TO THESE TERMS OR THE SERVICES, ACROSS ALL CLAIMS, WILL NOT EXCEED ONE HUNDRED U.S. DOLLARS (US$100)."
            },
            {
              "date": "2026-11-03",
              "text": "Giving the data to an AI model or agent that produces outputs for customers counts as Redistribution, allowed only on Professional and Enterprise plans with attribution.",
              "quote": "(ii) providing the data to an AI model, agent, or other automated system that uses it to produce answers, summaries, or other outputs for your customers or users."
            },
            {
              "date": "2026-11-03",
              "text": "Every API request, including each tool call through the MCP server, is one billable unit, and prepaid balances expire twelve months after purchase.",
              "quote": "Pricing is usage-based: every API request, including each tool call made through our MCP server, counts as one billable unit."
            }
          ]
        },
        {
          "kind": "privacy",
          "url": "https://www.financialdatasets.ai/privacy-policy",
          "state": "read",
          "readAt": "2026-11-03",
          "statedDate": "2026-08-20",
          "words": 1352,
          "points": 10,
          "max": 10,
          "expected": [
            {
              "key": "privacy.date",
              "label": "Gives the date it was last updated",
              "found": true,
              "quote": "Last updated: August 20, 2026",
              "says": "Last updated 2026-08-20"
            },
            {
              "key": "privacy.collected",
              "label": "Says what personal data is collected",
              "found": true,
              "quote": "When you create an account, subscribe, make a purchase, or contact us, we collect information such as your name, email address, organization name, billing details, and the contents of your support requests."
            },
            {
              "key": "privacy.retention",
              "label": "Says how long data is kept",
              "found": true,
              "quote": "We keep personal information for as long as needed to provide the Services and for legitimate business and legal purposes:",
              "says": "For as long as needed, with no period named"
            },
            {
              "key": "privacy.processors",
              "label": "Says who else receives the data",
              "found": true,
              "quote": "We may receive information from third parties that help us provide the Services, such as authentication providers (for example, Google sign-in), analytics providers, and payment processors."
            },
            {
              "key": "privacy.sale",
              "label": "Says whether personal data is sold or shared for advertising",
              "found": true,
              "quote": "We do not sell your personal information, and we do not share it with third-party advertisers for their own marketing.",
              "says": "Says it does not sell personal data"
            },
            {
              "key": "privacy.rights",
              "label": "Says what rights people have over their data",
              "found": true,
              "quote": "…(for example, California under the CCPA/CPRA, and other states with similar laws), you may have the right to know about and access the personal information we hold about you, to delete it, to correct it, to opt out of the sale or sharing of personal information, and not to be discriminated against for exercising these…"
            },
            {
              "key": "privacy.contact",
              "label": "Gives a privacy contact",
              "found": true,
              "quote": "You can access, update, or delete your account information at any time in your account settings or by contacting us at [email protected].",
              "says": "Gives an email address, hidden from our reader by the page"
            },
            {
              "key": "privacy.transfers",
              "label": "Says where data is transferred or stored",
              "found": true,
              "quote": "If you use them from outside the United States, you understand that your information will be transferred to and processed in the United States, which may have data protection laws that differ from those in your country.",
              "says": "Data goes to the United States"
            }
          ]
        }
      ]
    },
    "humans": {
      "slug": "financial-datasets",
      "checked": "2026-11-03",
      "company": "Financial Datasets, Inc.",
      "people": [
        {
          "name": "Virat Singh",
          "role": "Founder and CEO",
          "founder": true,
          "linkedin": "https://www.linkedin.com/in/singhvirat/",
          "x": "https://x.com/virattt",
          "github": "https://github.com/virattt",
          "bio": "Virat Singh founded Financial Datasets in 2024 and is its CEO. His Y Combinator profile says he was previously a tech lead at Faire building search recommendations, earlier a software engineer at Acorns, and started his career in buy-side M\u0026A. His launch post on the YC site says he has built finance agents since 2022 and names his open-source projects ai-hedge-fund and Dexter.",
          "bioSources": [
            "https://www.ycombinator.com/companies/financial-datasets"
          ],
          "page": "/people/virat-singh/"
        }
      ],
      "peopleNote": "The Y Combinator company page (batch Summer 2026, founded 2024, team size 1, New York City) names Virat Singh as Founder/CEO with his LinkedIn and X accounts; the GitHub account is the one that holds the ai-hedge-fund project his launch post names, under the same handle as his X account. financialdatasets.ai names no person; its docs say the company is based in NYC. The PyPI package financial-datasets lists him as author. Investors were looked for on the home page (which says Backed by Y Combinator), the news page, the terms, the YC page and the docs; Y Combinator is the only backer found on a first-hand page. One database site lists a pre-seed round, not used.",
      "companySocial": {
        "linkedin": "https://www.linkedin.com/company/financial-datasets",
        "x": "https://x.com/findatasets",
        "github": "https://github.com/financial-datasets"
      },
      "support": {
        "urls": [
          "https://docs.financialdatasets.ai/",
          "https://www.financialdatasets.ai/contact"
        ],
        "contactUrls": [
          "https://www.financialdatasets.ai/contact"
        ]
      },
      "sources": [
        "https://www.ycombinator.com/companies/financial-datasets",
        "https://www.financialdatasets.ai/",
        "https://docs.financialdatasets.ai/introduction",
        "https://www.financialdatasets.ai/terms-of-use",
        "https://pypi.org/pypi/financial-datasets/json",
        "https://api.github.com/orgs/financial-datasets"
      ],
      "ownership": {
        "status": "private",
        "checked": "2026-11-03",
        "sources": [
          "https://www.ycombinator.com/companies/financial-datasets",
          "https://www.financialdatasets.ai/",
          "https://www.financialdatasets.ai/terms-of-use"
        ]
      },
      "investors": [
        {
          "name": "Y Combinator",
          "kind": "accelerator",
          "rounds": [
            "Summer 2026 batch"
          ],
          "url": "https://www.ycombinator.com",
          "source": "https://www.ycombinator.com/companies/financial-datasets",
          "quote": "Financial Datasets, batch Summer 2026; the home page says Backed by Y Combinator",
          "page": "/investors/y-combinator/"
        }
      ]
    },
    "pageJsonUrl": "https://www.anchorterminal.com/tools/financial-datasets.json",
    "live": {
      "slug": "financial-datasets",
      "probe": {
        "target": "https://api.financialdatasets.ai",
        "method": "get",
        "lastAt": "2026-11-04T19:34:37.819192047Z",
        "lastOk": true,
        "lastStatus": 200,
        "lastMs": 711,
        "authRequired": false,
        "uptime24h": 100,
        "uptime30d": 100,
        "p50ms24h": 301,
        "p95ms24h": 776,
        "samples24h": 43,
        "samples30d": 43,
        "days": [
          {
            "date": "2026-11-04",
            "probes": 43,
            "ok": 43
          }
        ]
      },
      "securityTxt": {
        "url": "https://financialdatasets.ai/.well-known/security.txt",
        "state": "none",
        "checkedAt": "2026-11-04T15:52:54.466191501Z"
      },
      "updatedAt": "2026-11-04T19:34:37.819192047Z"
    }
  }
}
