{
  "data": {
    "a": {
      "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": 534,
        "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"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "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
        }
      },
      "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"
      },
      "area": "domain-data",
      "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
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/financial-datasets.json",
      "live": {
        "slug": "financial-datasets",
        "probe": {
          "target": "https://api.financialdatasets.ai",
          "method": "get",
          "lastAt": "2026-11-04T20:46:45.681080923Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 164,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 301,
          "p95ms24h": 776,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "financial-datasets",
            "version": "0.1.18",
            "released": "2024-05-26",
            "seenAt": "2026-11-04T20:16:09.583331368Z"
          }
        ],
        "pypiWeekly": 40,
        "securityTxt": {
          "url": "https://financialdatasets.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:54.466191501Z"
        },
        "updatedAt": "2026-11-04T20:46:45.681080923Z"
      }
    },
    "answer": "Financial Datasets scores 61.8 (C) on agent readiness against Tiingo's 46.2 (D), and leads in 6 of 7 scored categories. Tiingo leads on reliability.",
    "b": {
      "slug": "tiingo",
      "name": "Tiingo",
      "vendor": "Tiingo Inc.",
      "vendorUrl": "https://www.tiingo.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Tiingo is a market data API from Tiingo Inc. for end-of-day and real-time US equity prices, fund fees, fundamentals, dividends and splits, news, crypto and forex, over REST and WebSocket. Agents call api.tiingo.com with an account token.",
      "url": "https://www.anchorterminal.com/tools/tiingo",
      "markdownUrl": "https://www.anchorterminal.com/tools/tiingo.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tiingo.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tiingo.json",
      "dns": "tiingo.grade.anchorterminal.com",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://api.tiingo.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "One API token of about 75 characters per account, from the account page after a browser signup. The connecting guide accepts it as `?token=` in the URL or as an `Authorization: Token \u003ctoken\u003e` header; WebSocket subscriptions carry it as `authToken` in the subscribe message. The token can be rotated on the account token page (added per the changelog of 12 May 2026). No scopes or expiry found.",
      "pricing": "freemium",
      "pricingNotes": "Starter plan free at 50 requests an hour, 1,000 a day, 1 GB a month and 500 unique symbols a month, internal use only; no card requirement stated. Power plan $30 a month at 10,000 requests an hour, 100,000 a day, 40 GB and all 110,424 symbols, also internal use only. Fundamentals are a separate add-on through a third-party provider, priced by email; commercial, redistribution and white-label licences by contact (https://www.tiingo.com/pricing, checked 2026-11-03).",
      "priceSummary": "$30 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the documentation, llms.txt or pricing (checked 2026-11-03). A call without a token returns HTTP 403 with `{\"detail\":\"Please supply a token\"}`.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://www.tiingo.com/documentation/general/overview",
      "llmsTxt": "https://www.tiingo.com/llms.txt",
      "capabilities": [
        "market.prices",
        "market.history",
        "market.news",
        "market.fundamentals",
        "market.crypto",
        "data.markets"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "llms-txt",
        "status-page",
        "free-tier",
        "closed-source",
        "stocks",
        "crypto",
        "forex",
        "streaming",
        "personal-use"
      ],
      "lastRelease": "2026-10-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.2,
        "grade": "D",
        "agentReady": false,
        "rank": 1099,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 39,
          "security": 32,
          "transparency": 57
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.",
        "bestFor": "Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.",
        "strengths": [
          "Changelog dated by entry from 2017 to 9 October 2026, and a stated one-year support window after a breaking change",
          "Status page on Instatus with 13 components and a notice history",
          "Limits in requests an hour, a day and bandwidth a month, with no per-second throttle, and token rotation on the account page",
          "Free Starter token at 1,000 requests a day, and a $30 a month Power plan published without login",
          "llms.txt and llms-full.txt served for agents, with product routing notes"
        ],
        "weaknesses": [
          "The connecting guide documents the token as `?token=` in the URL alongside the header",
          "No OpenAPI document, no documented error responses, no official SDK and no MCP server",
          "Terms and privacy policy on app.tiingo.com answered 403 to every request, so neither was read",
          "Both self-serve plans are internal use only; display, redistribution and white-label need a negotiated licence",
          "Blue Ocean ATS endpoints were down for about 10 hours on 21 October 2026, and the status history starts on 21 September 2026"
        ],
        "agentNotes": [
          "Send the token as `Authorization: Token \u003ctoken\u003e`, not as `?token=` in the URL",
          "Ask for `format=csv` on large price pulls; the docs say CSV is 4 to 5 times faster than JSON, and bandwidth counts against the monthly cap",
          "Count requests an hour and a day, not per second; 50 an hour on Starter, 10,000 on Power, reset on the hour and at midnight ET",
          "Expect 403 `{\"detail\":\"Please supply a token\"}` without a token; other error shapes are undocumented, so log the body",
          "Use dashes in share classes (BRK-A), and fetch supported_tickers.zip rather than guessing symbols"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.2
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 50,
          "payments": 30,
          "reliability": 60,
          "schema": 39,
          "security": 32,
          "transparency": 28
        },
        "provenanceScore": 86,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-03",
            "maintenance": "2026-11-03",
            "payments": "2026-11-03",
            "reliability": "2026-11-03",
            "schema": "2026-11-03",
            "security": "2026-11-03",
            "transparency": "2026-11-03"
          },
          "last": "2026-11-03",
          "oldest": "2026-11-03",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "http": "curl -H \"Authorization: Token $TIINGO_TOKEN\" \"https://api.tiingo.com/tiingo/daily/aapl/prices?startDate=2025-11-03\u0026format=csv\""
      },
      "letme": {
        "capability": "https://letme.dev/market.prices",
        "tool": "https://letme.dev/tiingo"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Power, 10,000 requests an hour",
          "unit": "month",
          "usd": 30,
          "note": "internal use only, 100,000 requests a day, 40 GB a month"
        }
      ],
      "provenance": {
        "legalEntity": "Tiingo Inc.",
        "domain": "tiingo.com",
        "domainRegistered": "2011-03-04",
        "endpointOnVendorDomain": true,
        "terms": "https://app.tiingo.com/terms",
        "privacy": "https://app.tiingo.com/privacy",
        "statusPage": "https://status.tiingo.com",
        "changelog": "https://www.tiingo.com/documentation/general/changelog",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Tiingo Inc. appears in the copyright line of the about page, which gives Alexandria, VA. No registration number or address was found on a page we could read.",
          "www.tiingo.com/privacy redirects to app.tiingo.com/privacy, and app.tiingo.com/terms is the terms address; app.tiingo.com answered 403 to every request from our reader and from curl, so neither document was read.",
          "www.tiingo.com/robots.txt disallows only /admin. The developer programme page forbids programmatic registration or login and wrapping the login form; nothing read forbids reading the website.",
          "RDAP gives tiingo.com a registration date of 4 March 2011 at GoDaddy.",
          "/.well-known/security.txt on www.tiingo.com redirects (301) and api.tiingo.com returns 404, so none.",
          "The status page is Instatus at status.tiingo.com, named in llms.txt with uptime.tiingo.com as an audited uptime page."
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tiingo.json",
      "live": {
        "slug": "tiingo",
        "probe": {
          "target": "https://api.tiingo.com",
          "method": "get",
          "lastAt": "2026-11-04T20:47:19.474124636Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 492,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 495,
          "p95ms24h": 686,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tiingo.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:32:39.454553229Z"
        },
        "securityTxt": {
          "url": "https://tiingo.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:24.456607715Z"
        },
        "updatedAt": "2026-11-04T20:47:19.474124636Z"
      }
    },
    "edges": [
      {
        "by": 45,
        "category": "payments",
        "leads": "financial-datasets",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "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.",
          "b": "No x402, MPP or L402 (0). Two plan prices public without login, $0 and $30 a month, sold by requests an hour and a day rather than per call; fundamentals and commercial licences by email (10). A free Starter plan at 1,000 requests a day with no card requirement stated (20). The token comes from a browser signup, and the developer programme forbids programmatic registration (0). 0 + 10 + 20 + 0 = 30."
        },
        "scores": {
          "a": 75,
          "b": 30
        }
      },
      {
        "by": 41,
        "category": "schema",
        "leads": "financial-datasets",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "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.",
          "b": "No OpenAPI document or MCP server was found (0 of 25). llms.txt and llms-full.txt are served, with product routing and licence notes (10). Each documentation page states the endpoint's purpose and timing, such as prices after 5.30 pm ET with corrections to 8 pm, with little on when not to use it (12 of 20). Parameters and response fields are tabled with names and meanings, but types, defaults and allowed values are partly in prose (8 of 15). Examples in Python, Node and PHP on every page; no error responses documented (7 of 15). A changelog dated by entry since 2017 and a one-year support commitment after breaking changes, with no version in the path (12 of 15). 0 + 10 + 12 + 8 + 7 + 12 = 39."
        },
        "scores": {
          "a": 80,
          "b": 39
        }
      },
      {
        "by": 17,
        "category": "reliability",
        "leads": "tiingo",
        "name": "Reliability",
        "reasons": {
          "a": "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.",
          "b": "Read with the hosted lines. A public status page on Instatus at status.tiingo.com lists 13 components with a notice history (20). The history in the 90 days to 3 November 2026 shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October, a WebSocket issue on 21 September and two maintenance windows, with nothing recorded before 21 September; a long outage of one niche feed rather than the core price API (15). Limits are published with numbers, 50 and 10,000 requests an hour, 1,000 and 100,000 a day and 1 GB and 40 GB a month (15). No 429, Retry-After or backoff guidance was found (0). No SLA found (0). The end-of-day, news, crypto and forex APIs are generally available, while Equity Realtime and BOATS are in beta (10). 20 + 15 + 15 + 0 + 0 + 10 = 60."
        },
        "scores": {
          "a": 43,
          "b": 60
        }
      },
      {
        "by": 17,
        "category": "ergonomics",
        "leads": "financial-datasets",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`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.",
          "b": "`startDate`, `endDate`, `resampleFreq`, `format=csv` and column selection on some endpoints size responses; no field selection on end-of-day prices (15 of 25). Date ranges throughout and limit and offset on news, no cursor (15 of 20). Errors are undocumented; a missing token answered 403 with a JSON `detail` field in our one test call (3 of 20). Every call is a read (16 of 20). Few required parameters, but no official SDK; the docs point to third-party packages (7 of 15). 15 + 15 + 3 + 16 + 7 = 56."
        },
        "scores": {
          "a": 73,
          "b": 56
        }
      },
      {
        "by": 17,
        "category": "security",
        "leads": "financial-datasets",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "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.",
          "b": "One token per account with no scopes, documented as `?token=` in the URL or an Authorization header, with rotation on the account page since May 2026 (20 less 10 for the query string, plus 2 for rotation, so 12). Every endpoint is a read (15 of 20). News is third-party text and no guidance was found (5 of 15). A usage page shows hourly and daily requests and bandwidth, not a per-call log (0 of 15, no log). security.txt redirects on www and is absent on api, and no disclosure policy, bug bounty or certification was found (0 of 20). 12 + 15 + 5 + 0 + 0 = 32."
        },
        "scores": {
          "a": 49,
          "b": 32
        }
      },
      {
        "by": 6,
        "category": "maintenance",
        "leads": "financial-datasets",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "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.",
          "b": "Read as a closed service. The changelog's newest entry is 9 October 2026 (30). Entries dated 9 October and 8 September 2026 fall in the last 90 days, with 21 July just outside, and the status page adds a maintenance window on 28 September (12 of 20). A dated changelog, a support address and a blog, with the developer programme promising priority email support (8 of 15). No official SDK (0 of 15). No package to assess (0 of 10). 30 + 12 + 8 + 0 + 0 = 50."
        },
        "scores": {
          "a": 56,
          "b": 50
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Financial Datasets, Inc.",
        "b": "Tiingo Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.financialdatasets.ai",
        "b": "https://api.tiingo.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "yes, from $0.02/call",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "28",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-26",
        "b": "2026-10-09",
        "name": "Last release"
      },
      {
        "a": "2026-10-29",
        "b": "couldn't be read",
        "name": "Terms last updated"
      },
      {
        "a": "2026-08-20",
        "b": "2026-02-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "couldn't be read",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "couldn't be read",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Financial Datasets scores 61.8 (C) on agent readiness against Tiingo's 46.2 (D), and leads in 6 of 7 scored categories. Tiingo leads on reliability.",
        "question": "Which is better for AI agents, Financial Datasets or Tiingo?"
      },
      {
        "answer": "Financial Datasets takes an API key or an OAuth sign-in. Tiingo needs an API key. An agent can also pay Financial Datasets per call over x402, with no account.",
        "question": "Do Financial Datasets and Tiingo need an API key?"
      },
      {
        "answer": "Yes. Financial Datasets has a hosted endpoint at https://api.financialdatasets.ai and Tiingo at https://api.tiingo.com.",
        "question": "Can an agent call Financial Datasets and Tiingo without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 80 against 39",
          "Agent ergonomics, 73 against 56",
          "Security \u0026 auth, 49 against 32",
          "Payments \u0026 pricing, 75 against 30",
          "Maintenance \u0026 community, 56 against 50",
          "Transparency \u0026 trust, 63 against 57"
        ],
        "also": [
          "An agent can pay per call over x402, with no account"
        ],
        "goodFor": "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.",
        "slug": "financial-datasets",
        "watchFor": "No status page, incident history or published uptime; the Professional plan's SLA terms aren't public"
      },
      {
        "aheadOn": [
          "Reliability, 60 against 43"
        ],
        "also": null,
        "goodFor": "Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.",
        "slug": "tiingo",
        "watchFor": "The connecting guide documents the token as `?token=` in the URL alongside the header"
      }
    ],
    "history": null,
    "job": {
      "capability": "market.fundamentals",
      "name": "Market fundamentals"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.json",
        "title": "Alpha Vantage vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo.json",
        "title": "Alpha Vantage vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets.json",
        "title": "Databento vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-tiingo.json",
        "title": "Databento vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/databento-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive.json",
        "title": "Financial Datasets vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finnhub-vs-tiingo.json",
        "title": "Finnhub vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/finnhub-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/intrinio-vs-tiingo.json",
        "title": "Intrinio vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/intrinio-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/massive-vs-tiingo.json",
        "title": "Massive (formerly Polygon.io) vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/massive-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tiingo-vs-twelve-data.json",
        "title": "Tiingo vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/tiingo-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.json",
        "title": "Financial Datasets vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub.json",
        "title": "Financial Datasets vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio.json",
        "title": "Financial Datasets vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.json",
        "title": "Financial Datasets vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.json",
        "title": "Financial Modeling Prep vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.json",
        "title": "EODHD vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo.json",
        "title": "EODHD vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.json",
        "title": "Benzinga vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-tiingo.json",
        "title": "Benzinga vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-tiingo"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 17,
        "edge": "tiingo",
        "financial-datasets": 43,
        "key": "reliability",
        "name": "Reliability",
        "tiingo": 60,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 41,
        "edge": "financial-datasets",
        "financial-datasets": 80,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "tiingo": 39,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "financial-datasets",
        "financial-datasets": 73,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "tiingo": 56,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "financial-datasets",
        "financial-datasets": 49,
        "key": "security",
        "name": "Security \u0026 auth",
        "tiingo": 32,
        "weight": 14
      },
      {
        "by": 45,
        "edge": "financial-datasets",
        "financial-datasets": 75,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "tiingo": 30,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "financial-datasets",
        "financial-datasets": 56,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "tiingo": 50,
        "weight": 7
      },
      {
        "by": 6,
        "edge": "financial-datasets",
        "financial-datasets": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "tiingo": 57,
        "weight": 7
      }
    ],
    "summary": "Financial Datasets scores 61.8 (C) on agent readiness against Tiingo's 46.2 (D), and leads in 6 of 7 scored categories. Tiingo leads on reliability. Both do market fundamentals. Financial Datasets accepts x402. Tiingo doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "financial-datasets": "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.",
      "tiingo": "A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo",
    "json": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.min.md"
  },
  "markdown": "Financial Datasets scores 61.8 (C) on agent readiness against Tiingo's 46.2 (D), and leads in 6 of 7 scored categories. Tiingo leads on reliability. Both do market fundamentals. Financial Datasets accepts x402. Tiingo doesn't.\n\n- Financial Datasets: grade C, 61.8/100, rank #534 of 1349. Markdown https://www.anchorterminal.com/tools/financial-datasets.md · JSON https://www.anchorterminal.com/api/v1/tools/financial-datasets.json\n- Tiingo: grade D, 46.2/100, rank #1099 of 1349. Markdown https://www.anchorterminal.com/tools/tiingo.md · JSON https://www.anchorterminal.com/api/v1/tools/tiingo.json\n- Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md\n- All 55 markets comparisons: https://www.anchorterminal.com/compare/market-data/index.md\n\n## Which one, for what\n\n### Financial Datasets (C)\n\nGood for: 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.\n\nAhead on:\n- Schema \u0026 documentation, 80 against 39\n- Agent ergonomics, 73 against 56\n- Security \u0026 auth, 49 against 32\n- Payments \u0026 pricing, 75 against 30\n- Maintenance \u0026 community, 56 against 50\n- Transparency \u0026 trust, 63 against 57\n\nAlso in its favour:\n- An agent can pay per call over x402, with no account\n\nWatch for: No status page, incident history or published uptime; the Professional plan's SLA terms aren't public\n\n### Tiingo (D)\n\nGood for: Agents that need clean US end-of-day composites with dividend and split adjustments, fund fees and news on a cheap plan, and anyone who values a long changelog.\n\nAhead on:\n- Reliability, 60 against 43\n\nWatch for: The connecting guide documents the token as `?token=` in the URL alongside the header\n\n\n## Why the edge\n\n### Payments \u0026 pricing: Financial Datasets +45\n\n- Financial Datasets (75): 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.\n- Tiingo (30): No x402, MPP or L402 (0). Two plan prices public without login, $0 and $30 a month, sold by requests an hour and a day rather than per call; fundamentals and commercial licences by email (10). A free Starter plan at 1,000 requests a day with no card requirement stated (20). The token comes from a browser signup, and the developer programme forbids programmatic registration (0). 0 + 10 + 20 + 0 = 30.\n\n### Schema \u0026 documentation: Financial Datasets +41\n\n- Financial Datasets (80): 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.\n- Tiingo (39): No OpenAPI document or MCP server was found (0 of 25). llms.txt and llms-full.txt are served, with product routing and licence notes (10). Each documentation page states the endpoint's purpose and timing, such as prices after 5.30 pm ET with corrections to 8 pm, with little on when not to use it (12 of 20). Parameters and response fields are tabled with names and meanings, but types, defaults and allowed values are partly in prose (8 of 15). Examples in Python, Node and PHP on every page; no error responses documented (7 of 15). A changelog dated by entry since 2017 and a one-year support commitment after breaking changes, with no version in the path (12 of 15). 0 + 10 + 12 + 8 + 7 + 12 = 39.\n\n### Reliability: Tiingo +17\n\n- Financial Datasets (43): 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.\n- Tiingo (60): Read with the hosted lines. A public status page on Instatus at status.tiingo.com lists 13 components with a notice history (20). The history in the 90 days to 3 November 2026 shows a 9 hour 59 minute outage of the Blue Ocean ATS endpoints on 21 October, a WebSocket issue on 21 September and two maintenance windows, with nothing recorded before 21 September; a long outage of one niche feed rather than the core price API (15). Limits are published with numbers, 50 and 10,000 requests an hour, 1,000 and 100,000 a day and 1 GB and 40 GB a month (15). No 429, Retry-After or backoff guidance was found (0). No SLA found (0). The end-of-day, news, crypto and forex APIs are generally available, while Equity Realtime and BOATS are in beta (10). 20 + 15 + 15 + 0 + 0 + 10 = 60.\n\n### Agent ergonomics: Financial Datasets +17\n\n- Financial Datasets (73): `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.\n- Tiingo (56): `startDate`, `endDate`, `resampleFreq`, `format=csv` and column selection on some endpoints size responses; no field selection on end-of-day prices (15 of 25). Date ranges throughout and limit and offset on news, no cursor (15 of 20). Errors are undocumented; a missing token answered 403 with a JSON `detail` field in our one test call (3 of 20). Every call is a read (16 of 20). Few required parameters, but no official SDK; the docs point to third-party packages (7 of 15). 15 + 15 + 3 + 16 + 7 = 56.\n\n### Security \u0026 auth: Financial Datasets +17\n\n- Financial Datasets (49): 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.\n- Tiingo (32): One token per account with no scopes, documented as `?token=` in the URL or an Authorization header, with rotation on the account page since May 2026 (20 less 10 for the query string, plus 2 for rotation, so 12). Every endpoint is a read (15 of 20). News is third-party text and no guidance was found (5 of 15). A usage page shows hourly and daily requests and bandwidth, not a per-call log (0 of 15, no log). security.txt redirects on www and is absent on api, and no disclosure policy, bug bounty or certification was found (0 of 20). 12 + 15 + 5 + 0 + 0 = 32.\n\n### Maintenance \u0026 community: Financial Datasets +6\n\n- Financial Datasets (56): 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.\n- Tiingo (50): Read as a closed service. The changelog's newest entry is 9 October 2026 (30). Entries dated 9 October and 8 September 2026 fall in the last 90 days, with 21 July just outside, and the status page adds a maintenance window on 28 September (12 of 20). A dated changelog, a support address and a blog, with the developer programme promising priority email support (8 of 15). No official SDK (0 of 15). No package to assess (0 of 10). 30 + 12 + 8 + 0 + 0 = 50.\n\n## Score by category\n\n| Category | Weight | Financial Datasets | Tiingo | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 43 | 60 | Tiingo +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 80 | 39 | Financial Datasets +41 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 56 | Financial Datasets +17 |\n| Security \u0026 auth | 14% (17.5 this run) | 49 | 32 | Financial Datasets +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 75 | 30 | Financial Datasets +45 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 56 | 50 | Financial Datasets +6 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 57 | Financial Datasets +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **61.8 · C** | **46.2 · D** | |\n\n## Facts side by side\n\n| Fact | Financial Datasets | Tiingo |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Financial Datasets, Inc. | Tiingo Inc. |\n| Hosted endpoint | `https://api.financialdatasets.ai` | `https://api.tiingo.com` |\n| Transports | HTTP, Streamable HTTP | HTTP, websocket |\n| Auth | OAuth or key | API key |\n| Pricing | Pay per use | Freemium |\n| x402 | yes, from $0.02/call | no |\n| Tools exposed | 28 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-26 | 2026-10-09 |\n| Terms last updated | 2026-10-29 | couldn't be read |\n| Privacy policy last updated | 2026-08-20 | 2026-02-18 |\n| Customer content may train models | not found in the text | couldn't be read |\n| Terms restrict automated access | yes | couldn't be read |\n| Terms restrict benchmarking | yes | couldn't be read |\n| Terms or service can change without notice | not found in the text | couldn't be read |\n| Arbitration or class-action waiver | not found in the text | couldn't be read |\n\n## Verdicts\n\n**Financial Datasets.** 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.\n\n**Tiingo.** A dated changelog since 2017, a one-year support commitment after breaking changes, an Instatus status page and a free token at 1,000 requests a day. The token is documented in the URL, no OpenAPI document, error reference, SDK or MCP server exists, and the terms and privacy policy sit on a host that refused our reader.\n\n## Before you call either\n\n### Financial Datasets\n\n1. 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\n2. Keep `limit` small and ask for one `period` at a time; premium endpoints count as 2, 4 or 8 requests on keyed plans\n3. 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\n4. Treat a 402 on a keyed account as an empty balance and mint a checkout link for the owner; don't retry the call\n5. Check the plan's licence before showing the data to anyone else; redistribution needs Professional or Enterprise\n\n### Tiingo\n\n1. Send the token as `Authorization: Token \u003ctoken\u003e`, not as `?token=` in the URL\n2. Ask for `format=csv` on large price pulls; the docs say CSV is 4 to 5 times faster than JSON, and bandwidth counts against the monthly cap\n3. Count requests an hour and a day, not per second; 50 an hour on Starter, 10,000 on Power, reset on the hour and at midnight ET\n4. Expect 403 `{\"detail\":\"Please supply a token\"}` without a token; other error shapes are undocumented, so log the body\n5. Use dashes in share classes (BRK-A), and fetch supported_tickers.zip rather than guessing symbols\n\n## Questions\n\n### Which is better for AI agents, Financial Datasets or Tiingo?\n\nFinancial Datasets scores 61.8 (C) on agent readiness against Tiingo's 46.2 (D), and leads in 6 of 7 scored categories. Tiingo leads on reliability.\n\n### Do Financial Datasets and Tiingo need an API key?\n\nFinancial Datasets takes an API key or an OAuth sign-in. Tiingo needs an API key. An agent can also pay Financial Datasets per call over x402, with no account.\n\n### Can an agent call Financial Datasets and Tiingo without installing anything?\n\nYes. Financial Datasets has a hosted endpoint at https://api.financialdatasets.ai and Tiingo at https://api.tiingo.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.json, and with the fewest tokens: https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"financial-datasets\", \"b\": \"tiingo\"}`. From a terminal: `anchor compare financial-datasets tiingo`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/financial-datasets.json and https://www.anchorterminal.com/api/v1/tools/tiingo.json\n\n## Other comparisons with Financial Datasets or Tiingo\n\n- [Alpha Vantage vs Financial Datasets](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.md)\n- [Alpha Vantage vs Tiingo](https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo.md)\n- [Databento vs Financial Datasets](https://www.anchorterminal.com/compare/databento-vs-financial-datasets.md)\n- [Databento vs Tiingo](https://www.anchorterminal.com/compare/databento-vs-tiingo.md)\n- [Financial Datasets vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-datasets-vs-massive.md)\n- [Finnhub vs Tiingo](https://www.anchorterminal.com/compare/finnhub-vs-tiingo.md)\n- [Intrinio vs Tiingo](https://www.anchorterminal.com/compare/intrinio-vs-tiingo.md)\n- [Massive (formerly Polygon.io) vs Tiingo](https://www.anchorterminal.com/compare/massive-vs-tiingo.md)\n- [Tiingo vs Twelve Data](https://www.anchorterminal.com/compare/tiingo-vs-twelve-data.md)\n- [Financial Datasets vs Financial Modeling Prep](https://www.anchorterminal.com/compare/financial-datasets-vs-financial-modeling-prep.md)\n- [Financial Datasets vs Finnhub](https://www.anchorterminal.com/compare/financial-datasets-vs-finnhub.md)\n- [Financial Datasets vs Intrinio](https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio.md)\n- [Financial Datasets vs Twelve Data](https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.md)\n- [Financial Modeling Prep vs Tiingo](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-tiingo.md)\n- [EODHD vs Financial Datasets](https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.md)\n- [EODHD vs Tiingo](https://www.anchorterminal.com/compare/eodhd-vs-tiingo.md)\n- [Benzinga vs Financial Datasets](https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.md)\n- [Benzinga vs Tiingo](https://www.anchorterminal.com/compare/benzinga-vs-tiingo.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-11-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Financial Datasets vs Tiingo",
        "url": ""
      }
    ],
    "description": "Financial Datasets scores 61.8 (C) to Tiingo's 46.2 (D) for market fundamentals. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Financial Datasets C 61.8",
      "Tiingo D 46.2",
      "scores"
    ],
    "h1": "Financial Datasets vs Tiingo",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/financial-datasets-vs-tiingo",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Financial Datasets vs Tiingo for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo"
  },
  "tokens": {
    "markdown": 4400,
    "slim": 2730
  },
  "version": 1
}
