{
  "data": {
    "a": {
      "slug": "eodhd",
      "name": "EODHD",
      "vendor": "Unicorn Data Services",
      "vendorUrl": "https://eodhd.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "EODHD (EOD Historical Data) is a market data API from Unicorn Data Services for end-of-day and intraday prices, fundamentals, dividends and splits, filings, news, options and macro series on 60 exchanges, over REST and a hosted MCP server.",
      "url": "https://www.anchorterminal.com/tools/eodhd",
      "markdownUrl": "https://www.anchorterminal.com/tools/eodhd.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/eodhd.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/eodhd.json",
      "dns": "eodhd.grade.anchorterminal.com",
      "repo": "https://github.com/EodHistoricalData/EODHD-MCP-Server",
      "transports": [
        "http",
        "streamable-http",
        "sse",
        "stdio",
        "websocket"
      ],
      "remoteUrl": "https://eodhd.com/api",
      "packages": [
        {
          "registry": "pypi",
          "name": "eodhd"
        },
        {
          "registry": "npm",
          "name": "eodhd"
        }
      ],
      "auth": "mixed",
      "authNotes": "One API token per account from the dashboard after a browser signup, sent as `api_token=` in the query string (the form every docs page shows) or, per llms.txt, as an `Authorization: Bearer` header. A `demo` token reaches a short list of symbols. The hosted MCP server has two editions, v1 at mcp.eodhd.com/v1/mcp with the key in the URL and v2 at mcp.eodhd.com/v2/mcp with a built-in OAuth 2.1 server and one scope, `full-access`. No key scopes, expiry or rotation guidance found.",
      "pricing": "freemium",
      "pricingNotes": "Free plan at 20 API calls a day with one year of end-of-day history and 15 to 20 minute delayed quotes, no card. Personal plans $19.99 (end of day, All World), $29.99 (adds intraday, indicators, screener, WebSocket), $59.99 (fundamentals) and $99.99 a month (All-In-One), each 100,000 calls a day and 1,000 requests a minute, about a sixth less billed annually. Calls are weighted, 1 for end of day and live, 5 for intraday and news, 10 for fundamentals, 100 and more for bulk. Commercial plans $399 and $2,499 a month; marketplace add-ons from $9.99 a month (https://eodhd.com/pricing, checked 2026-11-03).",
      "priceSummary": "$19.99 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the OpenAPI repository, the pricing pages, the limits article or the MCP server source (checked 2026-11-03). A call without a token returns HTTP 401 with the plain text `Unauthenticated`; an exhausted daily allowance returns 402 with a support message.",
        "endpoints": []
      },
      "toolCount": 88,
      "popularity": {
        "githubStars": 24,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-03"
      },
      "docsUrl": "https://eodhd.com/financial-apis/",
      "llmsTxt": "https://eodhd.com/llms.txt",
      "openapi": "https://github.com/EodHistoricalData/EODHD-openapi",
      "capabilities": [
        "market.history",
        "market.prices",
        "market.fundamentals",
        "market.filings",
        "market.news",
        "market.indices",
        "market.crypto",
        "data.markets",
        "data.company"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "oauth",
        "mcp",
        "remote-mcp",
        "openapi",
        "llms-txt",
        "no-card",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "stocks",
        "forex",
        "crypto",
        "streaming",
        "eu",
        "personal-use"
      ],
      "lastRelease": "2026-10-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 59,
        "grade": "C",
        "agentReady": false,
        "rank": 647,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 5,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 76,
          "maintenance": 82,
          "payments": 30,
          "reliability": 65,
          "schema": 70,
          "security": 39,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-11-03"
        },
        "negative": 0,
        "verdict": "Limits, call weights, rate-limit headers, 429 with Retry-After and 402 on an exhausted allowance are documented, with an OpenAPI document and an open-source MCP server of 88 read-only tools. The token is documented in the query string, the MCP v1 address embeds it, the status page could not be read, and the terms carry no date, SLA or governing law.",
        "bestFor": "Agents that need long end-of-day history, dividends and splits and fundamentals across 60 exchanges at a low monthly price, with weighted calls to budget.",
        "strengths": [
          "Rate limits, per-endpoint call weights, `X-RateLimit` headers, 429 with Retry-After and a 402 for the daily allowance are documented in one article updated 16 September 2026",
          "OpenAPI 3.1 for 74 endpoints and an MIT MCP server with 88 annotated tools, prompts and documentation resources, both open source",
          "llms.txt of 32 KB with authentication, symbol formats, limits, error codes, plans and the MCP addresses",
          "Free plan at 20 calls a day with no card, and personal plan prices from $19.99 a month published without login",
          "Official Python and Node.js libraries, with R, C#, PHP and other clients in the GitHub organisation"
        ],
        "weaknesses": [
          "Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries it in the URL",
          "The status page's figures did not load for our reader, and the terms promise only commercially reasonable efforts with no SLA",
          "Failed lookups such as a 404 for an unknown ticker still spend calls, and fundamentals cost 10 calls each",
          "Terms and privacy policy carry no date, no governing law, no retention periods and no subprocessor list beyond Google",
          "The vendor's MCP page says 72 tools while the source registers 88, and the hosted editions' telemetry settings are not published"
        ],
        "agentNotes": [
          "Send the token as `Authorization: Bearer`, which llms.txt allows, rather than `api_token=` in the URL, and prefer the v2 OAuth MCP address over v1",
          "Budget calls, not requests; fundamentals cost 10, intraday and news 5, bulk 100 or more, and a 404 for a bad ticker is still charged, so resolve tickers with the search endpoint first",
          "Read `X-RateLimit-Remaining` and honour Retry-After on 429; a 402 means the daily allowance is gone until midnight GMT and no retry will help",
          "Use `{TICKER}.{EXCHANGE}` symbols in upper case, such as AAPL.US or EURUSD.FOREX, and `BTC-USD.CC` for crypto",
          "Expect 20 calls a day and one year of history on the free plan; a 403 means the plan lacks the endpoint, not a bad key"
        ],
        "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": 59
          }
        ],
        "editorialScores": {
          "ergonomics": 76,
          "maintenance": 82,
          "payments": 30,
          "reliability": 65,
          "schema": 70,
          "security": 39,
          "transparency": 30
        },
        "provenanceScore": 74,
        "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 eodhd",
        "http": "curl -H \"Authorization: Bearer $EODHD_API_TOKEN\" \"https://eodhd.com/api/eod/AAPL.US?fmt=json\u0026from=2025-11-03\"",
        "config": {
          "mcpServers": {
            "eodhd": {
              "url": "https://mcp.eodhd.com/v2/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/market.history",
        "tool": "https://letme.dev/eodhd"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "All World, end of day",
          "unit": "month",
          "usd": 19.99,
          "note": "personal use, 100,000 calls a day, $199 a year"
        },
        {
          "item": "All World Extended, with intraday",
          "unit": "month",
          "usd": 29.99,
          "note": "personal use, $299.90 a year"
        },
        {
          "item": "Fundamentals Data Feed",
          "unit": "month",
          "usd": 59.99,
          "note": "personal use, $599.90 a year"
        },
        {
          "item": "All-In-One",
          "unit": "month",
          "usd": 99.99,
          "note": "personal use, $999.90 a year"
        },
        {
          "item": "Commercial internal use",
          "unit": "month",
          "usd": 399,
          "note": "one seat, 100,000 calls a day, $3,990 a year"
        },
        {
          "item": "Commercial enterprise",
          "unit": "month",
          "usd": 2499,
          "note": "five seats, unlimited calls, $24,990 a year"
        }
      ],
      "provenance": {
        "legalEntity": "Unicorn Data Services",
        "domain": "eodhd.com",
        "domainRegistered": "2021-11-11",
        "endpointOnVendorDomain": true,
        "terms": "https://eodhd.com/financial-apis/terms-conditions",
        "privacy": "https://eodhd.com/financial-apis/privacy-policy",
        "statusPage": "https://uptime.eodhistoricaldata.com/",
        "changelog": "https://eodhd.com/blog/",
        "securityTxt": "none",
        "checked": "2026-11-03",
        "notes": [
          "Unicorn Data Services, 835 149 998 R.C.S. Lyon, is named in the footer of every page, on the about page and in the terms, with the Lyon address. The terms carry no date and no governing law clause.",
          "The terms contain no clause on automated access to the website; they forbid sharing account access and redistributing data on non-professional plans. The privacy policy is undated and names Google as the only third party.",
          "eodhd.com/robots.txt disallows /api/ (the API itself), /login, /register and a promotional path; the docs, pricing, legal and blog pages are allowed.",
          "RDAP gives eodhd.com a registration date of 11 November 2021 at GoDaddy; the company traded as eodhistoricaldata.com from 2017 and that domain still answers the API.",
          "/.well-known/security.txt and /security.txt return 404 on eodhd.com.",
          "The status page at uptime.eodhistoricaldata.com is an UptimeRobot page announced on the blog on 27 March 2020; it is not linked from the pages we read and its data did not load for our reader. status.eodhd.com has no DNS record.",
          "No changelog page was found; the blog announces new APIs with dates and the MCP server's commit history is dated."
        ],
        "score": 74
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/eodhd.json",
      "live": {
        "slug": "eodhd",
        "probe": {
          "target": "https://eodhd.com/api",
          "method": "get",
          "lastAt": "2026-11-04T21:27:47.820702497Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 469,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 514,
          "p95ms24h": 670,
          "samples24h": 62,
          "samples30d": 62,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 62,
              "ok": 62
            }
          ]
        },
        "vendorStatus": {
          "page": "https://uptime.eodhistoricaldata.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T21:25:48.814273417Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "eodhd",
            "version": "1.1.0",
            "seenAt": "2026-11-04T20:14:54.177030765Z"
          },
          {
            "registry": "pypi",
            "name": "eodhd",
            "version": "1.0.32",
            "released": "2024-12-18",
            "seenAt": "2026-11-04T20:14:53.985458671Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 8517,
        "pypiWeekly": 5897,
        "securityTxt": {
          "url": "https://eodhd.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:36.573658014Z"
        },
        "updatedAt": "2026-11-04T21:27:47.820702497Z"
      }
    },
    "answer": "EODHD scores 59 (C) on agent readiness against Intrinio's 54.2 (C), and leads in 6 of 7 scored categories. Intrinio leads on reliability.",
    "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": 813,
        "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-04T21:27:54.946659457Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 396,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 435,
          "p95ms24h": 928,
          "samples24h": 62,
          "samples30d": 62,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 62,
              "ok": 62
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.intrinio.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-11-04T21:26:00.925456145Z"
        },
        "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-04T21:27:54.946659457Z"
      }
    },
    "edges": [
      {
        "by": 27,
        "category": "schema",
        "leads": "eodhd",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "An OpenAPI 3.1 document in a public repository covers 74 endpoints, last updated 18 February 2026, and the MCP server's 88 tools carry typed inputs and annotations in the source (22 of 25). llms.txt of 32 KB and an llms-full.txt, plus documentation resources inside the MCP server (10). Each API page states its purpose and plan, and tool titles name the dataset, with little on when not to use one (14 of 20). Parameters are documented with formats and the symbol convention is spelled out, but allowed values sit in prose (8 of 15). Examples on every API page and the demo token, with 401, 402, 403, 404, 422 and 429 documented in llms.txt and the limits article (11 of 15). Exchange Details v2 shipped in May 2026 with v1 kept, MCP has v1 and v2, and new APIs are announced on a dated blog, but there is no changelog page (5 of 15). 22 + 10 + 14 + 8 + 11 + 5 = 70.",
          "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": 70,
          "b": 43
        }
      },
      {
        "by": 18,
        "category": "reliability",
        "leads": "intrinio",
        "name": "Reliability",
        "reasons": {
          "a": "Read with the hosted lines. A public status page exists at uptime.eodhistoricaldata.com, an UptimeRobot page announced on the blog on 27 March 2020 (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 20 calls a day free, 100,000 a day on paid plans, 1,000 requests a minute, with call weights per endpoint (15). 429 carries Retry-After, X-RateLimit headers report the ceiling, and 402 marks an exhausted allowance; reads only (15). The terms promise commercially reasonable efforts and no SLA, with SLAs sold by sales (0). The core API is generally available, with several newer APIs marked beta (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.",
          "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": 65,
          "b": 83
        }
      },
      {
        "by": 12,
        "category": "maintenance",
        "leads": "eodhd",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "Read as a closed service with open-source tooling. The MCP server's last commit is 15 October 2026 and the Claude skills repository was updated 22 October (30). Dated changes in the last 90 days include MCP commits on 8, 9 and 17 September and 9, 10 and 15 October, and the real-time feed update of 26 August 2026 (20). Pull requests on the MCP repository are merged by the vendor, support is 24/7 by email and chat per the site, and forum.eodhd.com did not resolve for us (12 of 15). Official Python and Node.js libraries; the Python package's last PyPI release is 1.0.32 of 18 December 2024, though its repository was updated in October 2026 (12 of 15). The MCP server pins fastmcp, ships tests and a security toolchain in CI (8 of 10). 30 + 20 + 12 + 12 + 8 = 82.",
          "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": 82,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "eodhd",
        "name": "Payments \u0026 pricing",
        "reasons": {
          "a": "No x402, MPP or L402 (0). Plan prices are public without login, personal and commercial, sold by the month with daily call allowances and per-endpoint call weights rather than per call (10). A free plan at 20 calls a day with no card (20). The token 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": 6,
        "category": "ergonomics",
        "leads": "eodhd",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "The REST API is the surface graded. `from`, `to`, `period`, `fmt`, `filter` on fundamentals and `limit` on news size responses, and the hosted MCP server lists 72 or 88 tools (15 of 25). `limit` and `offset` on news and the screener, date ranges on series, bulk per exchange (15 of 20). Error codes an agent can branch on, 402 and 403 with meanings, and the MCP server answers 403 with what the plan covers (15 of 20). Every REST call is a read; 85 of 88 MCP tools carry readOnlyHint true and the three Praams report tools are marked otherwise (16 of 20). Few required parameters and official Python and Node.js libraries, with R, C# and PHP clients (15). 15 + 15 + 15 + 16 + 15 = 76.",
          "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": 76,
          "b": 70
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Unicorn Data Services",
        "b": "Intrinio, Inc.",
        "name": "Vendor"
      },
      {
        "a": "https://eodhd.com/api",
        "b": "https://api-v2.intrinio.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, SSE (legacy), stdio, 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": "88",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-15",
        "b": "2026-05-27",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "24 stars",
        "b": "76 stars",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "EODHD scores 59 (C) on agent readiness against Intrinio's 54.2 (C), and leads in 6 of 7 scored categories. Intrinio leads on reliability.",
        "question": "Which is better for AI agents, EODHD or Intrinio?"
      },
      {
        "answer": "EODHD takes an API key or an OAuth sign-in. Intrinio needs an API key.",
        "question": "Do EODHD and Intrinio need an API key?"
      },
      {
        "answer": "Yes. EODHD has a hosted endpoint at https://eodhd.com/api and Intrinio at https://api-v2.intrinio.com.",
        "question": "Can an agent call EODHD and Intrinio without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Schema \u0026 documentation, 70 against 43",
          "Agent ergonomics, 76 against 70",
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 82 against 70"
        ],
        "also": [
          "Runs on your own machine",
          "Free to start without a card"
        ],
        "goodFor": "Agents that need long end-of-day history, dividends and splits and fundamentals across 60 exchanges at a low monthly price, with weighted calls to budget.",
        "slug": "eodhd",
        "watchFor": "Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries it in the URL"
      },
      {
        "aheadOn": [
          "Reliability, 83 against 65"
        ],
        "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.history",
      "name": "Market history"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.json",
        "title": "Alpha Vantage vs EODHD",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd"
      },
      {
        "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-eodhd.json",
        "title": "Databento vs EODHD",
        "url": "https://www.anchorterminal.com/compare/databento-vs-eodhd"
      },
      {
        "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-intrinio.json",
        "title": "Finnhub vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/finnhub-vs-intrinio"
      },
      {
        "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-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-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-financial-datasets.json",
        "title": "EODHD vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.json",
        "title": "EODHD vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep"
      },
      {
        "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-massive.json",
        "title": "EODHD vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo.json",
        "title": "EODHD vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.json",
        "title": "EODHD vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-twelve-data"
      },
      {
        "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-intrinio.json",
        "title": "Benzinga vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-intrinio"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 18,
        "edge": "intrinio",
        "eodhd": 65,
        "intrinio": 83,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 27,
        "edge": "eodhd",
        "eodhd": 70,
        "intrinio": 43,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 6,
        "edge": "eodhd",
        "eodhd": 76,
        "intrinio": 70,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "eodhd",
        "eodhd": 39,
        "intrinio": 35,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "eodhd",
        "eodhd": 30,
        "intrinio": 20,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "eodhd",
        "eodhd": 82,
        "intrinio": 70,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 1,
        "edge": "eodhd",
        "eodhd": 52,
        "intrinio": 51,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "EODHD scores 59 (C) on agent readiness against Intrinio's 54.2 (C), and leads in 6 of 7 scored categories. Intrinio leads on reliability. Both do market history.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "eodhd": "Limits, call weights, rate-limit headers, 429 with Retry-After and 402 on an exhausted allowance are documented, with an OpenAPI document and an open-source MCP server of 88 read-only tools. The token is documented in the query string, the MCP v1 address embeds it, the status page could not be read, and the terms carry no date, SLA or governing law.",
      "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/eodhd-vs-intrinio",
    "json": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio.min.md"
  },
  "markdown": "EODHD scores 59 (C) on agent readiness against Intrinio's 54.2 (C), and leads in 6 of 7 scored categories. Intrinio leads on reliability. Both do market history.\n\n- EODHD: grade C, 59/100, rank #647 of 1349. Markdown https://www.anchorterminal.com/tools/eodhd.md · JSON https://www.anchorterminal.com/api/v1/tools/eodhd.json\n- Intrinio: grade C, 54.2/100, rank #813 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### EODHD (C)\n\nGood for: Agents that need long end-of-day history, dividends and splits and fundamentals across 60 exchanges at a low monthly price, with weighted calls to budget.\n\nAhead on:\n- Schema \u0026 documentation, 70 against 43\n- Agent ergonomics, 76 against 70\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 82 against 70\n\nAlso in its favour:\n- Runs on your own machine\n- Free to start without a card\n\nWatch for: Every docs page shows the token as `api_token=` in the query string, and the MCP v1 address carries 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 65\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### Schema \u0026 documentation: EODHD +27\n\n- EODHD (70): An OpenAPI 3.1 document in a public repository covers 74 endpoints, last updated 18 February 2026, and the MCP server's 88 tools carry typed inputs and annotations in the source (22 of 25). llms.txt of 32 KB and an llms-full.txt, plus documentation resources inside the MCP server (10). Each API page states its purpose and plan, and tool titles name the dataset, with little on when not to use one (14 of 20). Parameters are documented with formats and the symbol convention is spelled out, but allowed values sit in prose (8 of 15). Examples on every API page and the demo token, with 401, 402, 403, 404, 422 and 429 documented in llms.txt and the limits article (11 of 15). Exchange Details v2 shipped in May 2026 with v1 kept, MCP has v1 and v2, and new APIs are announced on a dated blog, but there is no changelog page (5 of 15). 22 + 10 + 14 + 8 + 11 + 5 = 70.\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### Reliability: Intrinio +18\n\n- EODHD (65): Read with the hosted lines. A public status page exists at uptime.eodhistoricaldata.com, an UptimeRobot page announced on the blog on 27 March 2020 (20), but its figures load by script and our reader got an error, so no incident history could be read (5). Limits are published with numbers, 20 calls a day free, 100,000 a day on paid plans, 1,000 requests a minute, with call weights per endpoint (15). 429 carries Retry-After, X-RateLimit headers report the ceiling, and 402 marks an exhausted allowance; reads only (15). The terms promise commercially reasonable efforts and no SLA, with SLAs sold by sales (0). The core API is generally available, with several newer APIs marked beta (10). 20 + 5 + 15 + 15 + 0 + 10 = 65.\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### Maintenance \u0026 community: EODHD +12\n\n- EODHD (82): Read as a closed service with open-source tooling. The MCP server's last commit is 15 October 2026 and the Claude skills repository was updated 22 October (30). Dated changes in the last 90 days include MCP commits on 8, 9 and 17 September and 9, 10 and 15 October, and the real-time feed update of 26 August 2026 (20). Pull requests on the MCP repository are merged by the vendor, support is 24/7 by email and chat per the site, and forum.eodhd.com did not resolve for us (12 of 15). Official Python and Node.js libraries; the Python package's last PyPI release is 1.0.32 of 18 December 2024, though its repository was updated in October 2026 (12 of 15). The MCP server pins fastmcp, ships tests and a security toolchain in CI (8 of 10). 30 + 20 + 12 + 12 + 8 = 82.\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### Payments \u0026 pricing: EODHD +10\n\n- EODHD (30): No x402, MPP or L402 (0). Plan prices are public without login, personal and commercial, sold by the month with daily call allowances and per-endpoint call weights rather than per call (10). A free plan at 20 calls a day with no card (20). The token 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### Agent ergonomics: EODHD +6\n\n- EODHD (76): The REST API is the surface graded. `from`, `to`, `period`, `fmt`, `filter` on fundamentals and `limit` on news size responses, and the hosted MCP server lists 72 or 88 tools (15 of 25). `limit` and `offset` on news and the screener, date ranges on series, bulk per exchange (15 of 20). Error codes an agent can branch on, 402 and 403 with meanings, and the MCP server answers 403 with what the plan covers (15 of 20). Every REST call is a read; 85 of 88 MCP tools carry readOnlyHint true and the three Praams report tools are marked otherwise (16 of 20). Few required parameters and official Python and Node.js libraries, with R, C# and PHP clients (15). 15 + 15 + 15 + 16 + 15 = 76.\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## Score by category\n\n| Category | Weight | EODHD | Intrinio | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 83 | Intrinio +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 43 | EODHD +27 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 70 | EODHD +6 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 35 | EODHD +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 20 | EODHD +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 82 | 70 | EODHD +12 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 52 | 51 | EODHD +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **54.2 · C** | |\n\n## Facts side by side\n\n| Fact | EODHD | Intrinio |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Unicorn Data Services | Intrinio, Inc. |\n| Hosted endpoint | `https://eodhd.com/api` | `https://api-v2.intrinio.com` |\n| Transports | HTTP, Streamable HTTP, SSE (legacy), stdio, websocket | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Tools exposed | 88 | none |\n| Read-only variant documented | no | yes |\n| llms.txt | yes | no |\n| Last release | 2026-10-15 | 2026-05-27 |\n| Terms last updated | no date given | no date given |\n| Privacy policy last updated | no date given | no date given |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | not found in the text | yes |\n| Arbitration or class-action waiver | not found in the text | yes |\n| Popularity | 24 stars | 76 stars |\n\n## Verdicts\n\n**EODHD.** Limits, call weights, rate-limit headers, 429 with Retry-After and 402 on an exhausted allowance are documented, with an OpenAPI document and an open-source MCP server of 88 read-only tools. The token is documented in the query string, the MCP v1 address embeds it, the status page could not be read, and the terms carry no date, SLA or governing law.\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### EODHD\n\n1. Send the token as `Authorization: Bearer`, which llms.txt allows, rather than `api_token=` in the URL, and prefer the v2 OAuth MCP address over v1\n2. Budget calls, not requests; fundamentals cost 10, intraday and news 5, bulk 100 or more, and a 404 for a bad ticker is still charged, so resolve tickers with the search endpoint first\n3. Read `X-RateLimit-Remaining` and honour Retry-After on 429; a 402 means the daily allowance is gone until midnight GMT and no retry will help\n4. Use `{TICKER}.{EXCHANGE}` symbols in upper case, such as AAPL.US or EURUSD.FOREX, and `BTC-USD.CC` for crypto\n5. Expect 20 calls a day and one year of history on the free plan; a 403 means the plan lacks the endpoint, not a bad key\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, EODHD or Intrinio?\n\nEODHD scores 59 (C) on agent readiness against Intrinio's 54.2 (C), and leads in 6 of 7 scored categories. Intrinio leads on reliability.\n\n### Do EODHD and Intrinio need an API key?\n\nEODHD takes an API key or an OAuth sign-in. Intrinio needs an API key.\n\n### Can an agent call EODHD and Intrinio without installing anything?\n\nYes. EODHD has a hosted endpoint at https://eodhd.com/api and Intrinio at https://api-v2.intrinio.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/eodhd-vs-intrinio.json, and with the fewest tokens: https://www.anchorterminal.com/compare/eodhd-vs-intrinio.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"eodhd\", \"b\": \"intrinio\"}`. From a terminal: `anchor compare eodhd intrinio`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/eodhd.json and https://www.anchorterminal.com/api/v1/tools/intrinio.json\n\n## Other comparisons with EODHD or Intrinio\n\n- [Alpha Vantage vs EODHD](https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.md)\n- [Alpha Vantage vs Intrinio](https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio.md)\n- [Databento vs EODHD](https://www.anchorterminal.com/compare/databento-vs-eodhd.md)\n- [Databento vs Intrinio](https://www.anchorterminal.com/compare/databento-vs-intrinio.md)\n- [Finnhub vs Intrinio](https://www.anchorterminal.com/compare/finnhub-vs-intrinio.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 Intrinio](https://www.anchorterminal.com/compare/financial-datasets-vs-intrinio.md)\n- [Financial Modeling Prep vs Intrinio](https://www.anchorterminal.com/compare/financial-modeling-prep-vs-intrinio.md)\n- [EODHD vs Financial Datasets](https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.md)\n- [EODHD vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eodhd-vs-financial-modeling-prep.md)\n- [EODHD vs Finnhub](https://www.anchorterminal.com/compare/eodhd-vs-finnhub.md)\n- [EODHD vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/eodhd-vs-massive.md)\n- [EODHD vs Tiingo](https://www.anchorterminal.com/compare/eodhd-vs-tiingo.md)\n- [EODHD vs Twelve Data](https://www.anchorterminal.com/compare/eodhd-vs-twelve-data.md)\n- [Benzinga vs EODHD](https://www.anchorterminal.com/compare/benzinga-vs-eodhd.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": "EODHD vs Intrinio",
        "url": ""
      }
    ],
    "description": "EODHD scores 59 (C) to Intrinio's 54.2 (C) for market history. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "EODHD C 59",
      "Intrinio C 54.2",
      "scores"
    ],
    "h1": "EODHD vs Intrinio",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/eodhd-vs-intrinio",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EODHD vs Intrinio for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-04",
    "url": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio"
  },
  "tokens": {
    "markdown": 4000,
    "slim": 2380
  },
  "version": 1
}
