{
  "data": {
    "a": {
      "slug": "finnhub",
      "name": "Finnhub",
      "vendor": "Finnhub",
      "vendorUrl": "https://finnhub.io",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Finnhub is a market data API for stock quotes and candles, company fundamentals, estimates, filings, transcripts, news and alternative data, with forex, crypto and economic series. Agents call the REST API at finnhub.io/api/v1 or the hosted MCP server at mcp.finnhub.io.",
      "url": "https://www.anchorterminal.com/tools/finnhub",
      "markdownUrl": "https://www.anchorterminal.com/tools/finnhub.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/finnhub.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/finnhub.json",
      "dns": "finnhub.grade.anchorterminal.com",
      "repo": "https://github.com/Finnhub-Stock-API/finnhub-python",
      "transports": [
        "http",
        "streamable-http",
        "websocket"
      ],
      "remoteUrl": "https://finnhub.io/api/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "finnhub-python"
        },
        {
          "registry": "npm",
          "name": "finnhub"
        }
      ],
      "auth": "mixed",
      "authNotes": "One API key per account from the dashboard after a browser signup. The docs accept it as a `token=` query parameter or an `X-Finnhub-Token` header; the Swagger document declares only the query form. The hosted MCP server at mcp.finnhub.io/mcp uses OAuth with the Finnhub account and fixed client ids (`claude`, `chatgpt`) with no secret, so the assistant never sees the key. No scopes, expiry or rotation guidance found.",
      "pricing": "freemium",
      "pricingNotes": "Free key at 60 API calls a minute for personal use with no card, covering 29 of 116 documented operations; 87 are marked premium. Self-serve plans by dataset, read from the pricing page's script data, run from $49.99 a month (market data Basic, 150 calls a minute) and $50 (fundamentals) to $3,500 a month for All-In-One at 900 market data and 300 fundamental calls a minute, all personal use. Enterprise is priced by contact, with commercial use and redistribution (https://finnhub.io/pricing, checked 2026-11-03).",
      "priceSummary": "$49.99 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the Swagger document, the embedded docs, the pricing script data or the MCP page (checked 2026-11-03). A call without a key returns HTTP 401 with `{\"error\":\"Please use an API key.\"}`.",
        "endpoints": []
      },
      "toolCount": 70,
      "popularity": {
        "githubStars": 1095,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://finnhub.io/docs/api",
      "openapi": "https://finnhub.io/static/swagger.json",
      "capabilities": [
        "market.prices",
        "market.fundamentals",
        "market.news",
        "market.filings",
        "market.history",
        "market.crypto",
        "market.indices",
        "data.markets",
        "data.company"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "openapi",
        "no-card",
        "free-tier",
        "closed-source",
        "no-status-page",
        "python",
        "go",
        "typescript",
        "ruby",
        "php",
        "stocks",
        "forex",
        "crypto",
        "personal-use",
        "sla"
      ],
      "lastRelease": "2026-11-02",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 45.1,
        "grade": "E",
        "agentReady": false,
        "rank": 1127,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 56,
          "maintenance": 60,
          "payments": 30,
          "reliability": 48,
          "schema": 58,
          "security": 32,
          "transparency": 27
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.",
        "bestFor": "Agents that need one key across quotes, fundamentals, estimates, filings and transcripts with official libraries, and a free key for prototypes.",
        "strengths": [
          "Public Swagger 2.0 document with a description on every one of 116 operations and sample code in five languages",
          "Free key at 60 calls a minute with no card, and a documented 429 with a 30 calls a second ceiling",
          "Official libraries for Python, Go, JavaScript, Ruby, Kotlin and PHP, three updated on 2 November 2026",
          "Hosted MCP server with OAuth, 70 tools, and no key pasted into the client",
          "SLA stated as available for enterprise clients on the home page"
        ],
        "weaknesses": [
          "The Swagger document declares the key only as a `token` query parameter, and the examples carry it in the URL",
          "No status page, changelog, error reference or privacy policy was found, and the terms page is disallowed by robots.txt",
          "87 of 116 operations are marked premium, and self-serve plans are sold per dataset with a $3,500 a month All-In-One",
          "No legal entity, address or governing law was found on any readable page",
          "Parameters carry allowed values in prose only, and responses are documented for 200 alone"
        ],
        "agentNotes": [
          "Send the key as the `X-Finnhub-Token` header, not as `token=` in the URL, and keep under 30 calls a second on top of the plan's per-minute limit",
          "Check the `premium` marker before calling; a free key reaches 29 operations and the rest answer with an error",
          "Poll /quote sparingly; the docs say constant polling is not recommended and point to the websocket for real-time updates",
          "Expect 401 `{\"error\":\"Please use an API key.\"}` without a key and 429 over the limit; wait a minute before retrying, as the MCP page advises",
          "Self-serve plans are personal use; anything commercial needs the enterprise contact route"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 45.1
          }
        ],
        "editorialScores": {
          "ergonomics": 56,
          "maintenance": 60,
          "payments": 30,
          "reliability": 48,
          "schema": 58,
          "security": 32,
          "transparency": 8
        },
        "provenanceScore": 45,
        "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 finnhub-python",
        "http": "curl -H \"X-Finnhub-Token: $FINNHUB_API_KEY\" \"https://finnhub.io/api/v1/quote?symbol=AAPL\"",
        "config": {
          "mcpServers": {
            "finnhub": {
              "url": "https://mcp.finnhub.io/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/market.prices",
        "tool": "https://letme.dev/finnhub"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Market data Basic, 150 calls a minute",
          "unit": "month",
          "usd": 49.99,
          "note": "personal use, billed quarterly"
        },
        {
          "item": "Market data Standard, 300 calls a minute",
          "unit": "month",
          "usd": 129.99,
          "note": "personal use, billed quarterly"
        },
        {
          "item": "Market data Professional, 900 calls a minute",
          "unit": "month",
          "usd": 199.99,
          "note": "personal use, billed annually"
        },
        {
          "item": "Fundamentals, plan 1",
          "unit": "month",
          "usd": 50,
          "note": "personal use"
        },
        {
          "item": "All-In-One, 900 market data and 300 fundamental calls a minute",
          "unit": "month",
          "usd": 3500,
          "note": "personal use"
        }
      ],
      "provenance": {
        "legalEntity": "Finnhub",
        "domain": "finnhub.io",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://finnhub.io/terms-of-service",
        "privacy": "",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "No legal entity, address or governing law was found. The site names only Finnhub; the GitHub organisation gives New York, NY; the Swagger document's license field says Apache-2.0, which describes the document, not the data.",
          "finnhub.io/robots.txt disallows /terms-of-service and /faq for every crawler, so the terms were not read. The pricing page says each self-serve plan is Personal Use with the terms applying.",
          "/privacy and /about return 302 to the home page. No privacy policy was found.",
          "/.well-known/security.txt and /security.txt return 302 to the home page, so none.",
          "No status page or changelog was found on the site, in the docs document or on the MCP page.",
          "RDAP for the .io domain answered without events, so the registration date is not recorded."
        ],
        "score": 45
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/finnhub.json",
      "live": {
        "slug": "finnhub",
        "probe": {
          "target": "https://finnhub.io/api/v1",
          "method": "get",
          "lastAt": "2026-11-04T20:46:45.8456348Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 130,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 134,
          "p95ms24h": 413,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "versions": [
          {
            "registry": "npm",
            "name": "finnhub",
            "version": "2.0.16",
            "seenAt": "2026-11-04T20:16:14.680739643Z"
          },
          {
            "registry": "pypi",
            "name": "finnhub-python",
            "version": "2.4.29",
            "released": "2026-06-24",
            "seenAt": "2026-11-04T20:16:14.489761831Z"
          }
        ],
        "githubStars": 1097,
        "npmWeekly": 2613,
        "pypiWeekly": 47747,
        "securityTxt": {
          "url": "https://finnhub.io/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:16.666096211Z"
        },
        "updatedAt": "2026-11-04T20:46:45.8456348Z"
      }
    },
    "answer": "Intrinio scores 54.2 (C) on agent readiness against Finnhub's 45.1 (E), and leads in 5 of 7 scored categories. Finnhub leads on schema \u0026 documentation and payments \u0026 pricing.",
    "b": {
      "slug": "intrinio",
      "name": "Intrinio",
      "vendor": "Intrinio, Inc.",
      "vendorUrl": "https://intrinio.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Intrinio is a US financial data API from Intrinio, Inc. with stock prices, options, fundamentals, filings, estimates and news for US securities, through a REST API, websockets, SDKs in six languages and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/intrinio",
      "markdownUrl": "https://www.anchorterminal.com/tools/intrinio.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/intrinio.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/intrinio.json",
      "dns": "intrinio.grade.anchorterminal.com",
      "repo": "https://github.com/intrinio/python-sdk",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api-v2.intrinio.com",
      "packages": [
        {
          "registry": "pypi",
          "name": "intrinio-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from the account page, sent as `api_key` in the query string or as `Authorization: Bearer`. Separate public keys for client-side code are restricted to listed domains and sent as `X-Authorization-Public-Key`. The hosted MCP server at intrinio-mcp.intrinio.com uses OAuth 2 with PKCE (S256), dynamic client registration, a revocation endpoint and one scope, `intrinio`. No key rotation or expiry documented.",
      "pricing": "paid",
      "pricingNotes": "Individual plan $150 a month, personal use only, no redistribution or display. Startup plan from $333 a month billed quarterly, rising to $666 after six months and $999 after twelve, with commercial use and display rights. Enterprise from $1,250 a month with an SLA, by consultation. Both self-serve plans say a free trial is available; the trial length and whether a card is needed were not found. The MCP server is included with all plans.",
      "priceSummary": "$150 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, pricing page, MCP page or terms (checked 2026-11-03).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 76,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://docs.intrinio.com/documentation/api_v2/getting_started",
      "capabilities": [
        "market.prices",
        "market.fundamentals",
        "market.filings",
        "market.news",
        "market.history",
        "market.indices",
        "data.markets",
        "data.company"
      ],
      "tags": [
        "official",
        "hosted",
        "paid",
        "free-trial",
        "mcp",
        "remote-mcp",
        "oauth",
        "status-page",
        "python",
        "closed-source"
      ],
      "lastRelease": "2026-05-27",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 54.2,
        "grade": "C",
        "agentReady": false,
        "rank": 812,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 6,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 20,
          "reliability": 83,
          "schema": 43,
          "security": 35,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "A read-only US equities, options and fundamentals API with a clean status history, SDKs in six languages, paging up to 10,000 records and an OAuth MCP server included in every plan. The REST key is documented in the query string, no OpenAPI document or llms.txt was found, the version history is undated, and plans start at $150 a month.",
        "bestFor": "An agent doing US equity, options and fundamentals research on a paid plan that wants one vendor for prices, filings, estimates and an OAuth MCP server.",
        "strengths": [
          "Statuspage at status.intrinio.com with no incident since 24 June 2026",
          "Hosted MCP server with OAuth 2 PKCE, dynamic client registration and a revocation endpoint, described as read-only and included with all plans",
          "Paging up to 10,000 records a page with a `next_page` token, and SDKs for Python, C#, Java, JavaScript, R and Ruby",
          "Plan prices published without a login, from $150 a month, with a free trial on the Individual and Startup plans",
          "Response codes documented, with 429 for limits and 503 for throttling or the 25-second timeout"
        ],
        "weaknesses": [
          "The API key is documented as `api_key` in the query string as the first option, with no scopes, rotation or expiry found",
          "No OpenAPI document, llms.txt or Markdown docs for agents were found; the SDKs are generated from a spec that isn't published",
          "The version history lists API 2.0.0 to 2.6.2 with no dates, and the SDK declares API version 2.135.4",
          "No security.txt, bug bounty, SOC 2 or ISO 27001 was found, and the privacy policy of 30 June 2018 names no retention periods or subprocessors",
          "Individual plans are personal use only, and display or redistribution needs a Startup or Enterprise order form"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer`, not `?api_key=`, so it stays out of logs",
          "Expect 403 for a data feed the account isn't subscribed to, 429 with an explanation when a limit is hit, and 503 when a request passes 25 seconds; shrink the query rather than retry at once",
          "Keep `page_size` at 100 or below unless the plan is paid, since larger pages are limited to one request a minute on free feeds",
          "Confirm the plan before displaying or passing Intrinio data to anyone else; the Individual plan forbids it",
          "The MCP server returns a message naming the product that unlocks data outside the plan; don't retry the same call"
        ],
        "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": 54.2
          }
        ],
        "editorialScores": {
          "ergonomics": 70,
          "maintenance": 70,
          "payments": 20,
          "reliability": 83,
          "schema": 43,
          "security": 35,
          "transparency": 31
        },
        "provenanceScore": 71,
        "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 intrinio-sdk",
        "http": "curl -H \"Authorization: Bearer $INTRINIO_API_KEY\" \"https://api-v2.intrinio.com/securities/AAPL/prices\"",
        "claudeCode": "claude mcp add --transport http intrinio https://intrinio-mcp.intrinio.com/mcp",
        "config": {
          "mcpServers": {
            "intrinio": {
              "url": "https://intrinio-mcp.intrinio.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/market.prices",
        "tool": "https://letme.dev/intrinio"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Individual plan",
          "unit": "month",
          "usd": 150,
          "note": "personal use only, monthly billing"
        },
        {
          "item": "Startup plan, first six months",
          "unit": "month",
          "usd": 333,
          "note": "billed quarterly; $666 for the next six months, $999 a month after that"
        },
        {
          "item": "Enterprise plan, from",
          "unit": "month",
          "usd": 1250,
          "note": "custom terms, by consultation"
        }
      ],
      "provenance": {
        "legalEntity": "Intrinio, Inc.",
        "domain": "intrinio.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://about.intrinio.com/terms",
        "privacy": "https://about.intrinio.com/privacy",
        "statusPage": "https://status.intrinio.com",
        "changelog": "https://docs.intrinio.com/documentation/api_v2/version_history",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Intrinio, Inc. is named as a Delaware corporation in the terms (effective 3 September 2026) and the privacy policy (effective 30 June 2018), both under Florida law.",
          "The terms have no clause on automated reading of the website. Section 8(f) forbids software designed to collect information from the Services, and section 2.3 applies the data restrictions to AI and machine learning systems.",
          "intrinio.com/robots.txt disallows /docs/* for all crawlers, so the documentation was read at docs.intrinio.com, whose robots.txt allows everything. about.intrinio.com, ascend.intrinio.com and status.intrinio.com allow everything.",
          "RDAP for intrinio.com was refused (403 from rdap.org), so the registration date is unchecked.",
          "/.well-known/security.txt returns 404 on intrinio.com. docs.intrinio.com/llms.txt and intrinio.com/llms.txt return 404.",
          "The MCP server's OAuth metadata was read at /.well-known/oauth-authorization-server and /.well-known/oauth-protected-resource; no MCP session was opened."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/intrinio.json",
      "live": {
        "slug": "intrinio",
        "probe": {
          "target": "https://api-v2.intrinio.com",
          "method": "get",
          "lastAt": "2026-11-04T20:46:53.248984931Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 458,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 438,
          "p95ms24h": 1129,
          "samples24h": 55,
          "samples30d": 55,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 55,
              "ok": 55
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.intrinio.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T20:39:18.578680932Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "intrinio/python-sdk",
            "version": "7.2.0",
            "released": "2026-05-27",
            "seenAt": "2026-11-04T20:26:15.39292971Z"
          },
          {
            "registry": "pypi",
            "name": "intrinio-sdk",
            "version": "7.2.0",
            "released": "2026-05-27",
            "seenAt": "2026-11-04T20:26:15.148646197Z"
          }
        ],
        "githubStars": 76,
        "pypiWeekly": 8010,
        "securityTxt": {
          "url": "https://intrinio.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:53:22.904326032Z"
        },
        "updatedAt": "2026-11-04T20:46:53.248984931Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "reliability",
        "leads": "intrinio",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. No status page was found on the site, in the docs document or on the MCP page (0), so no incident history could be read (5). Limits are published with numbers, 60 calls a minute on the free key, 150 to 900 a minute by plan, and 30 calls a second on top of every plan (15). The docs say the limit answers 429 and the MCP page says to wait a minute, with no Retry-After or backoff guidance (8 of 15). The home page says 99.99 per cent uptime with an SLA available for enterprise clients (10). The API is generally available (10). 0 + 5 + 15 + 8 + 10 + 10 = 48.",
          "b": "Graded as a hosted service. Atlassian Statuspage at status.intrinio.com with APIv2 and APIv1 components (20). The incident feed's newest entry is a delayed SIP feed for CTA on 24 June 2026, so the 90 days to 3 November are clean (30). Limits are published in part. Pages above 100 records and bulk requests are 1 a minute on free feeds and 1 a second on paid ones, free feeds are throttled at 100 requests a second, and the daily and per-minute caps for a plan are shown only on the account page (8 of 15). A 429 carries an explanation of the limit and a 503 marks throttling or the 25-second timeout, with no Retry-After or backoff guidance (5 of 15). The Enterprise plan lists an SLA (10). The REST API is generally available (10). Total 83."
        },
        "scores": {
          "a": 48,
          "b": 83
        }
      },
      {
        "by": 24,
        "category": "transparency",
        "leads": "intrinio",
        "name": "Transparency \u0026 trust",
        "reasons": {
          "a": "A closed service whose terms exist at a page that robots.txt disallows, so they were not read; the pricing page says every self-serve plan is personal use, and no legal entity or governing law was found (8 of 30). No privacy policy was found, /privacy redirecting to the home page (0 of 30). No deprecation policy or dated notices found (0 of 20). Stripe and Braintree scripts load on the site, but no processor list or data location is disclosed (0 of 20). 8 + 0 + 0 + 0 = 8.",
          "b": "A closed service under terms effective 3 September 2026 that are clear on personal, internal and commercial use and name Intrinio, Inc. (15 of 30). The privacy policy is dated 30 June 2018, names no retention periods, subprocessors or DPA, and says only that connection details may be retained; the terms require deletion within 30 days of termination with an officer's certification (8 of 30). No deprecation policy, and the version history has no dates (3 of 20). Data is processed in the United States; no subprocessor list (5 of 20). Total 31."
        },
        "scores": {
          "a": 27,
          "b": 51
        }
      },
      {
        "by": 15,
        "category": "schema",
        "leads": "finnhub",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "A public Swagger 2.0 document covers 116 paths with a description on every operation, declaring the key as a query parameter and a 200 response only; the MCP tools were not read (20 of 25). /llms.txt returns the site's HTML shell and no Markdown docs exist (0 of 10). Each operation states its purpose, a premium marker and, on quote, advice against polling, with little on when not to use it (14 of 20). Required flags and types are set on 248 parameters, but allowed values such as news categories sit in description text and no enum is declared (8 of 15). Every operation has example URLs and sample code in five languages, while the only documented error is the 429 (9 of 15). The path carries v1 and no changelog or dated change notes were found (7 of 15). 20 + 0 + 14 + 8 + 9 + 7 = 58.",
          "b": "No OpenAPI document was found. The SDKs are generated from a spec that declares API version 2.135.4, but the spec itself isn't published, and the MCP server's tool definitions aren't in any public source (5 of 25). docs.intrinio.com/llms.txt and intrinio.com/llms.txt return 404, and there are no Markdown pages (0 of 10). Each endpoint page states what it returns with its parameters, with little on when not to use a call (12 of 20). Parameters are typed, with required ones marked and allowed values in prose (9 of 15). Code samples in six languages on every endpoint, and a response codes page that lists codes without a body format (10 of 15). The v2 path is versioned, but the version history lists 2.0.0 to 2.6.2 with no dates and is out of step with the SDK's API version (7 of 15). Total 43."
        },
        "scores": {
          "a": 58,
          "b": 43
        }
      },
      {
        "by": 14,
        "category": "ergonomics",
        "leads": "intrinio",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The REST API is the surface graded. `from` and `to` on candles and news, and symbol-scoped calls, size responses; no field selection, and the MCP server lists 70 tools (12 of 25). Date filters but no pagination on most lists (10 of 20). Only the 429 is documented; a missing key answered 401 with a JSON `error` field in our one test call (5 of 20). All but one operation are GET reads; the MCP annotations were not read (14 of 20). Few required parameters and official libraries in six languages (15). 12 + 10 + 5 + 14 + 15 = 56.",
          "b": "`page_size` from 100 up to 10,000 sizes a response, and the MCP server batches ticker lists, but there is no field selection (15 of 25). `next_page` tokens, date and symbol filters on the data endpoints (18 of 20). Response codes are documented, 403 for an unsubscribed feed and 429 with a limit explanation, with no error body format or error code reference (10 of 20). Every call is a read and the vendor says the MCP server writes nothing back, but no readOnlyHint or safe-retry guidance was found (12 of 20). Few required parameters, and official SDKs in Python, C#, Java, JavaScript, R and Ruby (15). Total 70."
        },
        "scores": {
          "a": 56,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "finnhub",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public without login, read from the pricing page's script data, sold per dataset by the month with calls a minute rather than per call (10). A free key at 60 calls a minute with no card, which the pricing FAQ says can be used forever (20). The key comes from a browser signup and no key API was found (0). 0 + 10 + 20 + 0 = 30.",
          "b": "No x402, MPP or L402 (0). Plan prices are public without a login, $150, $333 rising to $999, and $1,250 and up, with no per-call price (10). Both self-serve plans say a free trial is available, and the trial length and card requirement were not found on the pricing, plan or terms pages, since the plan pages are drawn by script (10 of 20). A person signs up in a browser; no key API was found (0). Total 20."
        },
        "scores": {
          "a": 30,
          "b": 20
        }
      },
      {
        "by": 10,
        "category": "maintenance",
        "leads": "intrinio",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service. The newest dated change is 2 November 2026, when finnhub-go, finnhub-ruby and finnhub-php gained a price target history endpoint; the MCP page is dated 6 August 2026 (30). Only that one dated change falls in the last 90 days, the previous library commits being 22 June 2026 (5 of 20). Support by email, with no public changelog or community channel found (5 of 15). Six official client libraries, finnhub-python at 2.4.29 of 24 June 2026 (15). The libraries are generated from the API document; no CI run was visible and the Python README names an older version than PyPI (5 of 10). 30 + 5 + 5 + 15 + 5 = 60.",
          "b": "The six real-time websocket SDK repositories were pushed between 22 and 29 October 2026, and the MCP server is labelled New on the vendor's page (30). The last tagged release found is intrinio-sdk 7.2.0 on PyPI on 27 May 2026, following 7.0.0 on 2 March and 7.1.0 on 24 March; the October pushes have no tags or dated changelog entries, and the API version history carries no dates (10 of 20). Support is live chat through HubSpot, an AI chat and support@intrinio.com, with a status page; GitHub issue activity was not read (8 of 15). Official SDKs are current in six languages (15). The Python SDK is generated by swagger-codegen with CI not checked (7 of 10). Total 70."
        },
        "scores": {
          "a": 60,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Finnhub",
        "b": "Intrinio, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://finnhub.io/api/v1",
        "b": "https://api-v2.intrinio.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, websocket",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "70",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-11-02",
        "b": "2026-05-27",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "no date given",
        "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": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "1.1k stars",
        "b": "76 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "Intrinio scores 54.2 (C) on agent readiness against Finnhub's 45.1 (E), and leads in 5 of 7 scored categories. Finnhub leads on schema \u0026 documentation and payments \u0026 pricing.",
        "question": "Which is better for AI agents, Finnhub or Intrinio?"
      },
      {
        "answer": "Finnhub takes an API key or an OAuth sign-in. Intrinio needs an API key.",
        "question": "Do Finnhub and Intrinio need an API key?"
      },
      {
        "answer": "Yes. Finnhub has a hosted endpoint at https://finnhub.io/api/v1 and Intrinio at https://api-v2.intrinio.com.",
        "question": "Can an agent call Finnhub and Intrinio without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 58 against 43",
          "Payments \u0026 pricing, 30 against 20"
        ],
        "also": [
          "Free to start without a card"
        ],
        "goodFor": "Agents that need one key across quotes, fundamentals, estimates, filings and transcripts with official libraries, and a free key for prototypes.",
        "slug": "finnhub",
        "watchFor": "The Swagger document declares the key only as a `token` query parameter, and the examples carry it in the URL"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 48",
          "Agent ergonomics, 70 against 56",
          "Maintenance \u0026 community, 70 against 60",
          "Transparency \u0026 trust, 51 against 27"
        ],
        "also": null,
        "goodFor": "An agent doing US equity, options and fundamentals research on a paid plan that wants one vendor for prices, filings, estimates and an OAuth MCP server.",
        "slug": "intrinio",
        "watchFor": "The API key is documented as `api_key` in the query string as the first option, with no scopes, rotation or expiry found"
      }
    ],
    "history": null,
    "job": {
      "capability": "market.prices",
      "name": "Market prices"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub.json",
        "title": "Alpha Vantage vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio.json",
        "title": "Alpha Vantage vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-finnhub.json",
        "title": "Databento vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/databento-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/databento-vs-intrinio.json",
        "title": "Databento vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/databento-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/finnhub-vs-massive.json",
        "title": "Finnhub vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/finnhub-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/finnhub-vs-twelve-data.json",
        "title": "Finnhub vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/finnhub-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/intrinio-vs-massive.json",
        "title": "Intrinio vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/intrinio-vs-massive"
      },
      {
        "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/intrinio-vs-twelve-data.json",
        "title": "Intrinio vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/intrinio-vs-twelve-data"
      },
      {
        "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-modeling-prep-vs-finnhub.json",
        "title": "Financial Modeling Prep vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.json",
        "title": "Financial Modeling Prep vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-finnhub.json",
        "title": "EODHD vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio.json",
        "title": "EODHD vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio"
      },
      {
        "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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 35,
        "edge": "intrinio",
        "finnhub": 48,
        "intrinio": 83,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 15,
        "edge": "finnhub",
        "finnhub": 58,
        "intrinio": 43,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 14,
        "edge": "intrinio",
        "finnhub": 56,
        "intrinio": 70,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 3,
        "edge": "intrinio",
        "finnhub": 32,
        "intrinio": 35,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "finnhub",
        "finnhub": 30,
        "intrinio": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "intrinio",
        "finnhub": 60,
        "intrinio": 70,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 24,
        "edge": "intrinio",
        "finnhub": 27,
        "intrinio": 51,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Intrinio scores 54.2 (C) on agent readiness against Finnhub's 45.1 (E), and leads in 5 of 7 scored categories. Finnhub leads on schema \u0026 documentation and payments \u0026 pricing. Both do market prices.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "finnhub": "A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.",
      "intrinio": "A read-only US equities, options and fundamentals API with a clean status history, SDKs in six languages, paging up to 10,000 records and an OAuth MCP server included in every plan. The REST key is documented in the query string, no OpenAPI document or llms.txt was found, the version history is undated, and plans start at $150 a month."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio",
    "json": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio.min.md"
  },
  "markdown": "Intrinio scores 54.2 (C) on agent readiness against Finnhub's 45.1 (E), and leads in 5 of 7 scored categories. Finnhub leads on schema \u0026 documentation and payments \u0026 pricing. Both do market prices.\n\n- Finnhub: grade E, 45.1/100, rank #1127 of 1349. Markdown https://www.anchorterminal.com/tools/finnhub.md · JSON https://www.anchorterminal.com/api/v1/tools/finnhub.json\n- Intrinio: grade C, 54.2/100, rank #812 of 1349. Markdown https://www.anchorterminal.com/tools/intrinio.md · JSON https://www.anchorterminal.com/api/v1/tools/intrinio.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### Finnhub (E)\n\nGood for: Agents that need one key across quotes, fundamentals, estimates, filings and transcripts with official libraries, and a free key for prototypes.\n\nAhead on:\n- Schema \u0026 documentation, 58 against 43\n- Payments \u0026 pricing, 30 against 20\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: The Swagger document declares the key only as a `token` query parameter, and the examples carry it in the URL\n\n### Intrinio (C)\n\nGood for: An agent doing US equity, options and fundamentals research on a paid plan that wants one vendor for prices, filings, estimates and an OAuth MCP server.\n\nAhead on:\n- Reliability, 83 against 48\n- Agent ergonomics, 70 against 56\n- Maintenance \u0026 community, 70 against 60\n- Transparency \u0026 trust, 51 against 27\n\nWatch for: The API key is documented as `api_key` in the query string as the first option, with no scopes, rotation or expiry found\n\n\n## Why the edge\n\n### Reliability: Intrinio +35\n\n- Finnhub (48): Read with the hosted lines. No status page was found on the site, in the docs document or on the MCP page (0), so no incident history could be read (5). Limits are published with numbers, 60 calls a minute on the free key, 150 to 900 a minute by plan, and 30 calls a second on top of every plan (15). The docs say the limit answers 429 and the MCP page says to wait a minute, with no Retry-After or backoff guidance (8 of 15). The home page says 99.99 per cent uptime with an SLA available for enterprise clients (10). The API is generally available (10). 0 + 5 + 15 + 8 + 10 + 10 = 48.\n- Intrinio (83): Graded as a hosted service. Atlassian Statuspage at status.intrinio.com with APIv2 and APIv1 components (20). The incident feed's newest entry is a delayed SIP feed for CTA on 24 June 2026, so the 90 days to 3 November are clean (30). Limits are published in part. Pages above 100 records and bulk requests are 1 a minute on free feeds and 1 a second on paid ones, free feeds are throttled at 100 requests a second, and the daily and per-minute caps for a plan are shown only on the account page (8 of 15). A 429 carries an explanation of the limit and a 503 marks throttling or the 25-second timeout, with no Retry-After or backoff guidance (5 of 15). The Enterprise plan lists an SLA (10). The REST API is generally available (10). Total 83.\n\n### Transparency \u0026 trust: Intrinio +24\n\n- Finnhub (27): A closed service whose terms exist at a page that robots.txt disallows, so they were not read; the pricing page says every self-serve plan is personal use, and no legal entity or governing law was found (8 of 30). No privacy policy was found, /privacy redirecting to the home page (0 of 30). No deprecation policy or dated notices found (0 of 20). Stripe and Braintree scripts load on the site, but no processor list or data location is disclosed (0 of 20). 8 + 0 + 0 + 0 = 8.\n- Intrinio (51): A closed service under terms effective 3 September 2026 that are clear on personal, internal and commercial use and name Intrinio, Inc. (15 of 30). The privacy policy is dated 30 June 2018, names no retention periods, subprocessors or DPA, and says only that connection details may be retained; the terms require deletion within 30 days of termination with an officer's certification (8 of 30). No deprecation policy, and the version history has no dates (3 of 20). Data is processed in the United States; no subprocessor list (5 of 20). Total 31.\n\n### Schema \u0026 documentation: Finnhub +15\n\n- Finnhub (58): A public Swagger 2.0 document covers 116 paths with a description on every operation, declaring the key as a query parameter and a 200 response only; the MCP tools were not read (20 of 25). /llms.txt returns the site's HTML shell and no Markdown docs exist (0 of 10). Each operation states its purpose, a premium marker and, on quote, advice against polling, with little on when not to use it (14 of 20). Required flags and types are set on 248 parameters, but allowed values such as news categories sit in description text and no enum is declared (8 of 15). Every operation has example URLs and sample code in five languages, while the only documented error is the 429 (9 of 15). The path carries v1 and no changelog or dated change notes were found (7 of 15). 20 + 0 + 14 + 8 + 9 + 7 = 58.\n- Intrinio (43): No OpenAPI document was found. The SDKs are generated from a spec that declares API version 2.135.4, but the spec itself isn't published, and the MCP server's tool definitions aren't in any public source (5 of 25). docs.intrinio.com/llms.txt and intrinio.com/llms.txt return 404, and there are no Markdown pages (0 of 10). Each endpoint page states what it returns with its parameters, with little on when not to use a call (12 of 20). Parameters are typed, with required ones marked and allowed values in prose (9 of 15). Code samples in six languages on every endpoint, and a response codes page that lists codes without a body format (10 of 15). The v2 path is versioned, but the version history lists 2.0.0 to 2.6.2 with no dates and is out of step with the SDK's API version (7 of 15). Total 43.\n\n### Agent ergonomics: Intrinio +14\n\n- Finnhub (56): The REST API is the surface graded. `from` and `to` on candles and news, and symbol-scoped calls, size responses; no field selection, and the MCP server lists 70 tools (12 of 25). Date filters but no pagination on most lists (10 of 20). Only the 429 is documented; a missing key answered 401 with a JSON `error` field in our one test call (5 of 20). All but one operation are GET reads; the MCP annotations were not read (14 of 20). Few required parameters and official libraries in six languages (15). 12 + 10 + 5 + 14 + 15 = 56.\n- Intrinio (70): `page_size` from 100 up to 10,000 sizes a response, and the MCP server batches ticker lists, but there is no field selection (15 of 25). `next_page` tokens, date and symbol filters on the data endpoints (18 of 20). Response codes are documented, 403 for an unsubscribed feed and 429 with a limit explanation, with no error body format or error code reference (10 of 20). Every call is a read and the vendor says the MCP server writes nothing back, but no readOnlyHint or safe-retry guidance was found (12 of 20). Few required parameters, and official SDKs in Python, C#, Java, JavaScript, R and Ruby (15). Total 70.\n\n### Payments \u0026 pricing: Finnhub +10\n\n- Finnhub (30): No x402, MPP or L402 (0). Plan prices are public without login, read from the pricing page's script data, sold per dataset by the month with calls a minute rather than per call (10). A free key at 60 calls a minute with no card, which the pricing FAQ says can be used forever (20). The key comes from a browser signup and no key API was found (0). 0 + 10 + 20 + 0 = 30.\n- Intrinio (20): No x402, MPP or L402 (0). Plan prices are public without a login, $150, $333 rising to $999, and $1,250 and up, with no per-call price (10). Both self-serve plans say a free trial is available, and the trial length and card requirement were not found on the pricing, plan or terms pages, since the plan pages are drawn by script (10 of 20). A person signs up in a browser; no key API was found (0). Total 20.\n\n### Maintenance \u0026 community: Intrinio +10\n\n- Finnhub (60): Read as a closed service. The newest dated change is 2 November 2026, when finnhub-go, finnhub-ruby and finnhub-php gained a price target history endpoint; the MCP page is dated 6 August 2026 (30). Only that one dated change falls in the last 90 days, the previous library commits being 22 June 2026 (5 of 20). Support by email, with no public changelog or community channel found (5 of 15). Six official client libraries, finnhub-python at 2.4.29 of 24 June 2026 (15). The libraries are generated from the API document; no CI run was visible and the Python README names an older version than PyPI (5 of 10). 30 + 5 + 5 + 15 + 5 = 60.\n- Intrinio (70): The six real-time websocket SDK repositories were pushed between 22 and 29 October 2026, and the MCP server is labelled New on the vendor's page (30). The last tagged release found is intrinio-sdk 7.2.0 on PyPI on 27 May 2026, following 7.0.0 on 2 March and 7.1.0 on 24 March; the October pushes have no tags or dated changelog entries, and the API version history carries no dates (10 of 20). Support is live chat through HubSpot, an AI chat and support@intrinio.com, with a status page; GitHub issue activity was not read (8 of 15). Official SDKs are current in six languages (15). The Python SDK is generated by swagger-codegen with CI not checked (7 of 10). Total 70.\n\n## Score by category\n\n| Category | Weight | Finnhub | Intrinio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 48 | 83 | Intrinio +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 58 | 43 | Finnhub +15 |\n| Agent ergonomics | 13% (16.2 this run) | 56 | 70 | Intrinio +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 35 | Intrinio +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | Finnhub +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 60 | 70 | Intrinio +10 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 27 | 51 | Intrinio +24 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **45.1 · E** | **54.2 · C** | |\n\n## Facts side by side\n\n| Fact | Finnhub | Intrinio |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Finnhub | Intrinio, Inc. |\n| Hosted endpoint | `https://finnhub.io/api/v1` | `https://api-v2.intrinio.com` |\n| Transports | HTTP, Streamable HTTP, websocket | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Tools exposed | 70 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | no | no |\n| Last release | 2026-11-02 | 2026-05-27 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | no document linked | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | yes |\n| Terms or service can change without notice | couldn't be read | yes |\n| Arbitration or class-action waiver | couldn't be read | yes |\n| Popularity | 1.1k stars | 76 stars |\n\n## Verdicts\n\n**Finnhub.** A public Swagger document covers 116 endpoints, six official client libraries exist, and a free key gives 60 calls a minute with no card. The key is documented in the query string, no status page, changelog, error reference or privacy policy was found, and robots.txt kept the terms from our reader.\n\n**Intrinio.** A read-only US equities, options and fundamentals API with a clean status history, SDKs in six languages, paging up to 10,000 records and an OAuth MCP server included in every plan. The REST key is documented in the query string, no OpenAPI document or llms.txt was found, the version history is undated, and plans start at $150 a month.\n\n## Before you call either\n\n### Finnhub\n\n1. Send the key as the `X-Finnhub-Token` header, not as `token=` in the URL, and keep under 30 calls a second on top of the plan's per-minute limit\n2. Check the `premium` marker before calling; a free key reaches 29 operations and the rest answer with an error\n3. Poll /quote sparingly; the docs say constant polling is not recommended and point to the websocket for real-time updates\n4. Expect 401 `{\"error\":\"Please use an API key.\"}` without a key and 429 over the limit; wait a minute before retrying, as the MCP page advises\n5. Self-serve plans are personal use; anything commercial needs the enterprise contact route\n\n### Intrinio\n\n1. Send the key as `Authorization: Bearer`, not `?api_key=`, so it stays out of logs\n2. Expect 403 for a data feed the account isn't subscribed to, 429 with an explanation when a limit is hit, and 503 when a request passes 25 seconds; shrink the query rather than retry at once\n3. Keep `page_size` at 100 or below unless the plan is paid, since larger pages are limited to one request a minute on free feeds\n4. Confirm the plan before displaying or passing Intrinio data to anyone else; the Individual plan forbids it\n5. The MCP server returns a message naming the product that unlocks data outside the plan; don't retry the same call\n\n## Questions\n\n### Which is better for AI agents, Finnhub or Intrinio?\n\nIntrinio scores 54.2 (C) on agent readiness against Finnhub's 45.1 (E), and leads in 5 of 7 scored categories. Finnhub leads on schema \u0026 documentation and payments \u0026 pricing.\n\n### Do Finnhub and Intrinio need an API key?\n\nFinnhub takes an API key or an OAuth sign-in. Intrinio needs an API key.\n\n### Can an agent call Finnhub and Intrinio without installing anything?\n\nYes. Finnhub has a hosted endpoint at https://finnhub.io/api/v1 and Intrinio at https://api-v2.intrinio.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/finnhub-vs-intrinio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/finnhub-vs-intrinio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"finnhub\", \"b\": \"intrinio\"}`. From a terminal: `anchor compare finnhub intrinio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/finnhub.json and https://www.anchorterminal.com/api/v1/tools/intrinio.json\n\n## Other comparisons with Finnhub or Intrinio\n\n- [Alpha Vantage vs Finnhub](https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub.md)\n- [Alpha Vantage vs Intrinio](https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio.md)\n- [Databento vs Finnhub](https://www.anchorterminal.com/compare/databento-vs-finnhub.md)\n- [Databento vs Intrinio](https://www.anchorterminal.com/compare/databento-vs-intrinio.md)\n- [Finnhub vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/finnhub-vs-massive.md)\n- [Finnhub vs Tiingo](https://www.anchorterminal.com/compare/finnhub-vs-tiingo.md)\n- [Finnhub vs Twelve Data](https://www.anchorterminal.com/compare/finnhub-vs-twelve-data.md)\n- [Intrinio vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/intrinio-vs-massive.md)\n- [Intrinio vs Tiingo](https://www.anchorterminal.com/compare/intrinio-vs-tiingo.md)\n- [Intrinio vs Twelve Data](https://www.anchorterminal.com/compare/intrinio-vs-twelve-data.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 Modeling Prep vs Finnhub](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-finnhub.md)\n- [Financial Modeling Prep vs Intrinio](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.md)\n- [EODHD vs Finnhub](https://www.anchorterminal.com/compare/eodhd-vs-finnhub.md)\n- [EODHD vs Intrinio](https://www.anchorterminal.com/compare/eodhd-vs-intrinio.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",
  "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": "Finnhub vs Intrinio",
        "url": ""
      }
    ],
    "description": "Intrinio scores 54.2 (C) to Finnhub's 45.1 (E) for market prices. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Finnhub E 45.1",
      "Intrinio C 54.2",
      "scores"
    ],
    "h1": "Finnhub vs Intrinio",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/finnhub-vs-intrinio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Finnhub vs Intrinio for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio"
  },
  "tokens": {
    "markdown": 4200,
    "slim": 2580
  },
  "version": 1
}
