{
  "data": {
    "a": {
      "slug": "benzinga",
      "name": "Benzinga",
      "vendor": "Benzinga",
      "vendorUrl": "https://www.benzinga.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Benzinga is a financial news and data company whose licensed APIs serve news, earnings and ratings calendars, analyst insights, transcripts, SEC filings, fundamentals and options signals over REST, websockets and webhooks, for firms that hold a content licence.",
      "url": "https://www.anchorterminal.com/tools/benzinga",
      "markdownUrl": "https://www.anchorterminal.com/tools/benzinga.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/benzinga.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/benzinga.json",
      "dns": "benzinga.grade.anchorterminal.com",
      "repo": "https://github.com/Benzinga/benzinga-docs",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.benzinga.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "benzinga"
        }
      ],
      "auth": "api-key",
      "authNotes": "API token generated in the Benzinga console and sent as the `token` query parameter on every request, which the docs call Bearer authentication. No header option, scopes, rotation or expiry were found in the docs or the OpenAPI specs.",
      "pricing": "paid",
      "pricingNotes": "No prices are published. The docs say to email licensing@benzinga.com or call to get started, and the registration page is on www.benzinga.com, which answered 403 to our reader. The FAQ says each subscription carries its own rate limits and that a trial or sandbox is often available, without terms.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, llms.txt or the 11 OpenAPI specs (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 34,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.benzinga.com/",
      "llmsTxt": "https://docs.benzinga.com/llms.txt",
      "openapi": "https://github.com/Benzinga/benzinga-docs/tree/main/openapi",
      "capabilities": [
        "market.news",
        "market.fundamentals",
        "market.filings",
        "market.prices",
        "data.markets",
        "data.company"
      ],
      "tags": [
        "official",
        "hosted",
        "paid",
        "sales-led",
        "openapi",
        "llms-txt",
        "status-page",
        "webhooks",
        "python",
        "closed-source"
      ],
      "lastRelease": "2026-11-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 49.2,
        "grade": "D",
        "agentReady": false,
        "rank": 1043,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 7,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 65,
          "maintenance": 56,
          "payments": 0,
          "reliability": 60,
          "schema": 71,
          "security": 36,
          "transparency": 44
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Benzinga's news, calendar and transcript APIs are documented from 11 public OpenAPI specs with an llms.txt and a Statuspage. The token travels in the query string, no prices or rate limit numbers are published, the Python client was last released in February 2021, and the vendor's main site refused our reader, so its terms and privacy policy are unread.",
        "bestFor": "A licensed firm's agent that needs Benzinga's own newswire, calendars, analyst ratings and transcripts as structured data with deltas.",
        "strengths": [
          "11 OpenAPI specs in a public GitHub repository, 80 operations, with enums on the calendar and news parameters and example responses",
          "llms.txt and a Markdown twin of every docs page at docs.benzinga.com",
          "`displayOutput` sizes news responses to headline, abstract or full text, and `updatedSince` deltas avoid re-reading history",
          "Statuspage with seven API components and no incident since 14 September 2023",
          "security.txt names security@benzinga.com and a disclosure policy"
        ],
        "weaknesses": [
          "The API token is sent only as the `token` query parameter, with no header option, scopes or rotation found",
          "No prices, rate limit numbers, 429 guidance or SLA are published; sales is by email or phone",
          "www.benzinga.com returned 403 on every page, so the terms, privacy policy, registration and pricing were not read",
          "The Python client's last release is 1.21 from 8 February 2021 and the JavaScript client's last push is from 2023; the docs' SDK page is template text",
          "The changelog pages are empty, and the error responses in the specs don't match the examples (401 and 404 appear in examples only)"
        ],
        "agentNotes": [
          "Keep the token out of logs; it can only travel as `?token=`, so strip query strings before recording request URLs",
          "Page through news with `page` and `pageSize` (max 100) and narrow by `tickers`, `dateFrom` or `channels`; a query can't pass 10,000 items",
          "Poll with `updatedSince` (news) or `parameters[updated]` (calendar, signals) rather than re-reading history",
          "An unknown or unentitled news node ID returns 200 with an empty array, not 404; treat empty as not found",
          "Don't plan on a free key; access starts with licensing@benzinga.com and a contract"
        ],
        "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": 49.2
          }
        ],
        "editorialScores": {
          "ergonomics": 65,
          "maintenance": 56,
          "payments": 0,
          "reliability": 60,
          "schema": 71,
          "security": 36,
          "transparency": 13
        },
        "provenanceScore": 75,
        "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 benzinga",
        "http": "curl -H 'accept: application/json' \"https://api.benzinga.com/api/v2/news?token=$BENZINGA_TOKEN\u0026tickers=AAPL\u0026pageSize=5\""
      },
      "letme": {
        "capability": "https://letme.dev/market.news",
        "tool": "https://letme.dev/benzinga"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Benzinga",
        "domain": "benzinga.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.benzinga.com/terms-and-conditions",
        "privacy": "https://www.benzinga.com/page/privacy",
        "statusPage": "https://benzinga1.statuspage.io",
        "changelog": "https://docs.benzinga.com/changelog/overview",
        "securityTxt": "expired",
        "checked": "2026-11-03",
        "notes": [
          "The legal entity's full name was not read. The terms and privacy pages on www.benzinga.com, linked from the docs footer, answered 403 to our reader, as did every other page on that host. The docs name Benzinga and the GitHub organisation is Benzinga.",
          "www.benzinga.com/robots.txt (version 11 September 2026) allows /apis/ and the terms and privacy paths for all crawlers; the 403 is a bot check, not a robots rule. docs.benzinga.com/robots.txt allows everything except /cdn-cgi/ and /_next/, with Content-Signal ai-train=yes, search=yes, ai-input=yes.",
          "security.txt at www.benzinga.com/.well-known/security.txt names security@benzinga.com, a policy at /.well-known/security-policy.md and Expires 2025-06-01T00:00:00.000Z, so it is expired.",
          "The status page is an Atlassian Statuspage at benzinga1.statuspage.io; the docs link it as API Status.",
          "RDAP for benzinga.com was refused (403 from rdap.org), so the registration date is unchecked.",
          "No terms clause on automated access could be read."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/benzinga.json",
      "live": {
        "slug": "benzinga",
        "probe": {
          "target": "https://api.benzinga.com",
          "method": "get",
          "lastAt": "2026-11-04T20:04:52.74270155Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 158,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 122,
          "p95ms24h": 211,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://benzinga1.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:04:41.435494005Z"
        },
        "versions": [
          {
            "registry": "pypi",
            "name": "benzinga",
            "version": "1.21",
            "released": "2021-02-08",
            "seenAt": "2026-11-04T20:02:17.420788743Z"
          }
        ],
        "githubStars": 2,
        "pypiWeekly": 5539,
        "securityTxt": {
          "url": "https://benzinga.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2025-06-01T00:00:00.000Z",
          "checkedAt": "2026-11-04T15:53:46.560658527Z"
        },
        "updatedAt": "2026-11-04T20:04:52.74270155Z"
      }
    },
    "answer": "Financial Datasets scores 61.8 (C) on agent readiness against Benzinga's 49.2 (D), and leads in 5 of 7 scored categories. Benzinga leads on reliability.",
    "b": {
      "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"
        ],
        "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:05:01.616956895Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 172,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 301,
          "p95ms24h": 776,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "securityTxt": {
          "url": "https://financialdatasets.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:52:54.466191501Z"
        },
        "updatedAt": "2026-11-04T20:05:01.616956895Z"
      }
    },
    "edges": [
      {
        "by": 75,
        "category": "payments",
        "leads": "financial-datasets",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). No prices are published anywhere we could read; the docs say to email or call licensing and the APIs page on www.benzinga.com answered 403 (0). The FAQ says a trial or sandbox is often available, with no terms, length or card condition, and the registration page was unread (0). A person registers in a browser or by email (0). Total 0, with pricing and registration recorded as unchecked.",
          "b": "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."
        },
        "scores": {
          "a": 0,
          "b": 75
        }
      },
      {
        "by": 19,
        "category": "transparency",
        "leads": "financial-datasets",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "A closed service whose terms could not be read, since www.benzinga.com answered 403; the docs footer links them (8 of 30). The privacy policy was unread for the same reason, and the docs say nothing about retention (0 of 30, unchecked). No deprecation policy or dated notices; the changelog pages are empty (0 of 20). The architecture page says the platform runs on Amazon Web Services with Kong Gateway, with no subprocessor list or data location statement (5 of 20). Total 13.",
          "b": "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."
        },
        "scores": {
          "a": 44,
          "b": 63
        }
      },
      {
        "by": 17,
        "category": "reliability",
        "leads": "benzinga",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service. Atlassian Statuspage at benzinga1.statuspage.io with seven API components (20). The incident feed holds 14 incidents, the newest on 14 September 2023, so the 90 days to 3 November 2026 are clean (30). No rate limit numbers are published; the FAQ says limits depend on the API and the subscription tier (0 of 15). No 429, Retry-After or backoff guidance was found in the docs or the specs (0 of 15). No SLA was found; the architecture page cites a 99.9 per cent availability figure as a claim, and the terms were unread (0). The APIs are generally available (10). Total 60.",
          "b": "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."
        },
        "scores": {
          "a": 60,
          "b": 43
        }
      },
      {
        "by": 13,
        "category": "security",
        "leads": "financial-datasets",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One token per account with no scopes, sent only as the `token` query parameter, generated in the console; no rotation or expiry found (20 less 10 for the query string, so 10). Every data endpoint is a read (15 of 20). News, press releases and transcripts are third-party text, with no guidance on treating them as untrusted (5 of 15). No usage log or per-call record for the token holder was found (0 of 15). security.txt names security@benzinga.com and a policy page, with an Expires date of 1 June 2025, and the policy itself is on the host that refused our reader; no bounty, SOC 2 or ISO 27001 was found in the docs (6 of 20). Total 36.",
          "b": "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."
        },
        "scores": {
          "a": 36,
          "b": 49
        }
      },
      {
        "by": 9,
        "category": "schema",
        "leads": "financial-datasets",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The docs are generated from 11 OpenAPI 3 specs in the public Benzinga/benzinga-docs repository, 80 operations, and the raw YAML is linked from the welcome page (25). llms.txt and a Markdown twin of every page (10). Operations carry a summary and a sentence or two on scope, with little on when not to use a call (12 of 20). Typed query parameters with enums on the calendar (50) and news (9) specs, and the token as a query parameter (10 of 15). Examples on most operations, but the error responses in the specs are thin, 400, 499 and 500 on news, with the 401 and 404 bodies shown only as examples (9 of 15). Versioned paths (/api/v2) and three changelog pages that are empty templates (5 of 15). Total 71.",
          "b": "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."
        },
        "scores": {
          "a": 71,
          "b": 80
        }
      },
      {
        "by": 8,
        "category": "ergonomics",
        "leads": "financial-datasets",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`displayOutput` of headline, abstract or full sizes a news response, and `pageSize` runs to 100 (18 of 25). `page` and `pageSize`, ticker, channel, date and `updatedSince` filters, with a 10,000-item cap per query that the docs explain how to work round (18 of 20). Error bodies carry a code, an id and a message in the examples, but an unknown node ID returns 200 with an empty array and the spec's response list doesn't match the examples (10 of 20). Every data call is a read, with no safe-retry guidance; the webhook API registers endpoints (12 of 20). Few required parameters, but the Python client is from 2021, the JavaScript client from 2023 and the docs' SDK page is template text (7 of 15). Total 65.",
          "b": "`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."
        },
        "scores": {
          "a": 65,
          "b": 73
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Benzinga",
        "b": "Financial Datasets, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://api.benzinga.com",
        "b": "https://api.financialdatasets.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "yes, from $0.02/call",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "28",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-03",
        "b": "2026-10-26",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "2026-10-29",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "2026-08-20",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "34 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Financial Datasets scores 61.8 (C) on agent readiness against Benzinga's 49.2 (D), and leads in 5 of 7 scored categories. Benzinga leads on reliability.",
        "question": "Which is better for AI agents, Benzinga or Financial Datasets?"
      },
      {
        "answer": "Benzinga needs an API key. Financial Datasets takes an API key or an OAuth sign-in. An agent can also pay Financial Datasets per call over x402, with no account.",
        "question": "Do Benzinga and Financial Datasets need an API key?"
      },
      {
        "answer": "Yes. Benzinga has a hosted endpoint at https://api.benzinga.com and Financial Datasets at https://api.financialdatasets.ai.",
        "question": "Can an agent call Benzinga and Financial Datasets without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 60 against 43"
        ],
        "also": null,
        "goodFor": "A licensed firm's agent that needs Benzinga's own newswire, calendars, analyst ratings and transcripts as structured data with deltas.",
        "slug": "benzinga",
        "watchFor": "The API token is sent only as the `token` query parameter, with no header option, scopes or rotation found"
      },
      {
        "aheadOn": [
          "Schema \u0026 documentation, 80 against 71",
          "Agent ergonomics, 73 against 65",
          "Security \u0026 auth, 49 against 36",
          "Payments \u0026 pricing, 75 against 0",
          "Transparency \u0026 trust, 63 against 44"
        ],
        "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"
      }
    ],
    "history": null,
    "job": {
      "capability": "market.news",
      "name": "Market news"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga.json",
        "title": "Alpha Vantage vs Benzinga",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga"
      },
      {
        "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/benzinga-vs-databento.json",
        "title": "Benzinga vs Databento",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-databento"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-massive.json",
        "title": "Benzinga vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets.json",
        "title": "Databento vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/databento-vs-financial-datasets"
      },
      {
        "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/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-tiingo.json",
        "title": "Financial Datasets vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo"
      },
      {
        "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/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/benzinga-vs-eodhd.json",
        "title": "Benzinga vs EODHD",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-eodhd"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep.json",
        "title": "Benzinga vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-finnhub.json",
        "title": "Benzinga vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-intrinio.json",
        "title": "Benzinga vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-tiingo.json",
        "title": "Benzinga vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/benzinga-vs-twelve-data.json",
        "title": "Benzinga vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-twelve-data"
      }
    ],
    "panel": null,
    "scores": [
      {
        "benzinga": 60,
        "by": 17,
        "edge": "benzinga",
        "financial-datasets": 43,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "benzinga": 71,
        "by": 9,
        "edge": "financial-datasets",
        "financial-datasets": 80,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "benzinga": 65,
        "by": 8,
        "edge": "financial-datasets",
        "financial-datasets": 73,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "benzinga": 36,
        "by": 13,
        "edge": "financial-datasets",
        "financial-datasets": 49,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "benzinga": 0,
        "by": 75,
        "edge": "financial-datasets",
        "financial-datasets": 75,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "benzinga": 56,
        "by": 0,
        "edge": "",
        "financial-datasets": 56,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "benzinga": 44,
        "by": 19,
        "edge": "financial-datasets",
        "financial-datasets": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Financial Datasets scores 61.8 (C) on agent readiness against Benzinga's 49.2 (D), and leads in 5 of 7 scored categories. Benzinga leads on reliability. Both do market news. Financial Datasets accepts x402. Benzinga doesn't.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "benzinga": "Benzinga's news, calendar and transcript APIs are documented from 11 public OpenAPI specs with an llms.txt and a Statuspage. The token travels in the query string, no prices or rate limit numbers are published, the Python client was last released in February 2021, and the vendor's main site refused our reader, so its terms and privacy policy are unread.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets",
    "json": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.min.md"
  },
  "markdown": "Financial Datasets scores 61.8 (C) on agent readiness against Benzinga's 49.2 (D), and leads in 5 of 7 scored categories. Benzinga leads on reliability. Both do market news. Financial Datasets accepts x402. Benzinga doesn't.\n\n- Benzinga: grade D, 49.2/100, rank #1043 of 1349. Markdown https://www.anchorterminal.com/tools/benzinga.md · JSON https://www.anchorterminal.com/api/v1/tools/benzinga.json\n- Financial Datasets: grade C, 61.8/100, rank #492 of 1349. Markdown https://www.anchorterminal.com/tools/financial-datasets.md · JSON https://www.anchorterminal.com/api/v1/tools/financial-datasets.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### Benzinga (D)\n\nGood for: A licensed firm's agent that needs Benzinga's own newswire, calendars, analyst ratings and transcripts as structured data with deltas.\n\nAhead on:\n- Reliability, 60 against 43\n\nWatch for: The API token is sent only as the `token` query parameter, with no header option, scopes or rotation found\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 71\n- Agent ergonomics, 73 against 65\n- Security \u0026 auth, 49 against 36\n- Payments \u0026 pricing, 75 against 0\n- Transparency \u0026 trust, 63 against 44\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\n## Why the edge\n\n### Payments \u0026 pricing: Financial Datasets +75\n\n- Benzinga (0): No x402, MPP or L402 (0). No prices are published anywhere we could read; the docs say to email or call licensing and the APIs page on www.benzinga.com answered 403 (0). The FAQ says a trial or sandbox is often available, with no terms, length or card condition, and the registration page was unread (0). A person registers in a browser or by email (0). Total 0, with pricing and registration recorded as unchecked.\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\n### Transparency \u0026 trust: Financial Datasets +19\n\n- Benzinga (44): A closed service whose terms could not be read, since www.benzinga.com answered 403; the docs footer links them (8 of 30). The privacy policy was unread for the same reason, and the docs say nothing about retention (0 of 30, unchecked). No deprecation policy or dated notices; the changelog pages are empty (0 of 20). The architecture page says the platform runs on Amazon Web Services with Kong Gateway, with no subprocessor list or data location statement (5 of 20). Total 13.\n- Financial Datasets (63): 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.\n\n### Reliability: Benzinga +17\n\n- Benzinga (60): Graded as a hosted service. Atlassian Statuspage at benzinga1.statuspage.io with seven API components (20). The incident feed holds 14 incidents, the newest on 14 September 2023, so the 90 days to 3 November 2026 are clean (30). No rate limit numbers are published; the FAQ says limits depend on the API and the subscription tier (0 of 15). No 429, Retry-After or backoff guidance was found in the docs or the specs (0 of 15). No SLA was found; the architecture page cites a 99.9 per cent availability figure as a claim, and the terms were unread (0). The APIs are generally available (10). Total 60.\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\n### Security \u0026 auth: Financial Datasets +13\n\n- Benzinga (36): One token per account with no scopes, sent only as the `token` query parameter, generated in the console; no rotation or expiry found (20 less 10 for the query string, so 10). Every data endpoint is a read (15 of 20). News, press releases and transcripts are third-party text, with no guidance on treating them as untrusted (5 of 15). No usage log or per-call record for the token holder was found (0 of 15). security.txt names security@benzinga.com and a policy page, with an Expires date of 1 June 2025, and the policy itself is on the host that refused our reader; no bounty, SOC 2 or ISO 27001 was found in the docs (6 of 20). Total 36.\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\n### Schema \u0026 documentation: Financial Datasets +9\n\n- Benzinga (71): The docs are generated from 11 OpenAPI 3 specs in the public Benzinga/benzinga-docs repository, 80 operations, and the raw YAML is linked from the welcome page (25). llms.txt and a Markdown twin of every page (10). Operations carry a summary and a sentence or two on scope, with little on when not to use a call (12 of 20). Typed query parameters with enums on the calendar (50) and news (9) specs, and the token as a query parameter (10 of 15). Examples on most operations, but the error responses in the specs are thin, 400, 499 and 500 on news, with the 401 and 404 bodies shown only as examples (9 of 15). Versioned paths (/api/v2) and three changelog pages that are empty templates (5 of 15). Total 71.\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\n### Agent ergonomics: Financial Datasets +8\n\n- Benzinga (65): `displayOutput` of headline, abstract or full sizes a news response, and `pageSize` runs to 100 (18 of 25). `page` and `pageSize`, ticker, channel, date and `updatedSince` filters, with a 10,000-item cap per query that the docs explain how to work round (18 of 20). Error bodies carry a code, an id and a message in the examples, but an unknown node ID returns 200 with an empty array and the spec's response list doesn't match the examples (10 of 20). Every data call is a read, with no safe-retry guidance; the webhook API registers endpoints (12 of 20). Few required parameters, but the Python client is from 2021, the JavaScript client from 2023 and the docs' SDK page is template text (7 of 15). Total 65.\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\n## Score by category\n\n| Category | Weight | Benzinga | Financial Datasets | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 60 | 43 | Benzinga +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 71 | 80 | Financial Datasets +9 |\n| Agent ergonomics | 13% (16.2 this run) | 65 | 73 | Financial Datasets +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 36 | 49 | Financial Datasets +13 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 0 | 75 | Financial Datasets +75 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 56 | 56 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 44 | 63 | Financial Datasets +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **49.2 · D** | **61.8 · C** | |\n\n## Facts side by side\n\n| Fact | Benzinga | Financial Datasets |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Benzinga | Financial Datasets, Inc. |\n| Hosted endpoint | `https://api.benzinga.com` | `https://api.financialdatasets.ai` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Pay per use |\n| x402 | no | yes, from $0.02/call |\n| Tools exposed | none | 28 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-11-03 | 2026-10-26 |\n| Terms last updated | couldn't be read | 2026-10-29 |\n| Privacy policy last updated | couldn't be read | 2026-08-20 |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | yes |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 34 stars | none |\n\n## Verdicts\n\n**Benzinga.** Benzinga's news, calendar and transcript APIs are documented from 11 public OpenAPI specs with an llms.txt and a Statuspage. The token travels in the query string, no prices or rate limit numbers are published, the Python client was last released in February 2021, and the vendor's main site refused our reader, so its terms and privacy policy are unread.\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## Before you call either\n\n### Benzinga\n\n1. Keep the token out of logs; it can only travel as `?token=`, so strip query strings before recording request URLs\n2. Page through news with `page` and `pageSize` (max 100) and narrow by `tickers`, `dateFrom` or `channels`; a query can't pass 10,000 items\n3. Poll with `updatedSince` (news) or `parameters[updated]` (calendar, signals) rather than re-reading history\n4. An unknown or unentitled news node ID returns 200 with an empty array, not 404; treat empty as not found\n5. Don't plan on a free key; access starts with licensing@benzinga.com and a contract\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## Questions\n\n### Which is better for AI agents, Benzinga or Financial Datasets?\n\nFinancial Datasets scores 61.8 (C) on agent readiness against Benzinga's 49.2 (D), and leads in 5 of 7 scored categories. Benzinga leads on reliability.\n\n### Do Benzinga and Financial Datasets need an API key?\n\nBenzinga needs an API key. Financial Datasets takes an API key or an OAuth sign-in. An agent can also pay Financial Datasets per call over x402, with no account.\n\n### Can an agent call Benzinga and Financial Datasets without installing anything?\n\nYes. Benzinga has a hosted endpoint at https://api.benzinga.com and Financial Datasets at https://api.financialdatasets.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.json, and with the fewest tokens: https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"benzinga\", \"b\": \"financial-datasets\"}`. From a terminal: `anchor compare benzinga financial-datasets`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/benzinga.json and https://www.anchorterminal.com/api/v1/tools/financial-datasets.json\n\n## Other comparisons with Benzinga or Financial Datasets\n\n- [Alpha Vantage vs Benzinga](https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga.md)\n- [Alpha Vantage vs Financial Datasets](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.md)\n- [Benzinga vs Databento](https://www.anchorterminal.com/compare/benzinga-vs-databento.md)\n- [Benzinga vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/benzinga-vs-massive.md)\n- [Databento vs Financial Datasets](https://www.anchorterminal.com/compare/databento-vs-financial-datasets.md)\n- [Financial Datasets vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/financial-datasets-vs-massive.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 Tiingo](https://www.anchorterminal.com/compare/financial-datasets-vs-tiingo.md)\n- [Financial Datasets vs Twelve Data](https://www.anchorterminal.com/compare/financial-datasets-vs-twelve-data.md)\n- [EODHD vs Financial Datasets](https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.md)\n- [Benzinga vs EODHD](https://www.anchorterminal.com/compare/benzinga-vs-eodhd.md)\n- [Benzinga vs Financial Modeling Prep](https://www.anchorterminal.com/compare/benzinga-vs-financial-modeling-prep.md)\n- [Benzinga vs Finnhub](https://www.anchorterminal.com/compare/benzinga-vs-finnhub.md)\n- [Benzinga vs Intrinio](https://www.anchorterminal.com/compare/benzinga-vs-intrinio.md)\n- [Benzinga vs Tiingo](https://www.anchorterminal.com/compare/benzinga-vs-tiingo.md)\n- [Benzinga vs Twelve Data](https://www.anchorterminal.com/compare/benzinga-vs-twelve-data.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": "Benzinga vs Financial Datasets",
        "url": ""
      }
    ],
    "description": "Financial Datasets scores 61.8 (C) to Benzinga's 49.2 (D) for market news. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Benzinga D 49.2",
      "Financial Datasets C 61.8",
      "scores"
    ],
    "h1": "Benzinga vs Financial Datasets",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/benzinga-vs-financial-datasets",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Benzinga vs Financial Datasets for AI agents (2026) | Anchor Terminal",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/benzinga-vs-financial-datasets"
  },
  "tokens": {
    "markdown": 4450,
    "slim": 2730
  },
  "version": 1
}
