{
  "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": 719,
        "ranked": true,
        "rankOf": 1486,
        "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-07T18:20:23.271942902Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 534,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 477,
          "p95ms24h": 568,
          "samples24h": 239,
          "samples30d": 700,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 87,
              "ok": 87
            },
            {
              "date": "2026-11-05",
              "probes": 185,
              "ok": 185
            },
            {
              "date": "2026-11-06",
              "probes": 241,
              "ok": 241
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://uptime.eodhistoricaldata.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:44.241642529Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "eodhd",
            "version": "1.1.0",
            "seenAt": "2026-11-06T23:24:28.676567538Z"
          },
          {
            "registry": "pypi",
            "name": "eodhd",
            "version": "1.0.32",
            "released": "2024-12-18",
            "seenAt": "2026-11-06T23:24:28.434618206Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 8591,
        "pypiWeekly": 5283,
        "securityTxt": {
          "url": "https://eodhd.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T16:00:09.886299398Z"
        },
        "llmsTxt": {
          "url": "https://eodhd.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:25.762194699Z"
        },
        "pages": [
          {
            "url": "https://eodhd.com/blog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:23.209686796Z",
            "changedAt": "2026-11-06T13:31:33.847670621Z",
            "fingerprint": "8cf7fdc92be6"
          },
          {
            "url": "https://eodhd.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:30.038050275Z",
            "changedAt": "2026-11-07T14:09:30.038050275Z",
            "fingerprint": "9a2ee191c67e"
          },
          {
            "url": "https://eodhd.com/financial-apis/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:25.737293939Z",
            "changedAt": "2026-11-07T14:09:25.737293939Z",
            "fingerprint": "d713ca57d51e"
          },
          {
            "url": "https://eodhd.com/financial-apis/terms-conditions",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-07T14:09:28.819516747Z",
            "changedAt": "2026-11-07T14:09:28.819516747Z",
            "fingerprint": "337ddce21847"
          }
        ],
        "mcpTools": {
          "url": "https://mcp.eodhd.com/v2/mcp",
          "checkedAt": "2026-11-07T01:44:09.521639531Z",
          "status": "auth",
          "note": "asks for credentials before listing its tools",
          "changedAt": "2026-11-07T01:44:09.521639531Z"
        },
        "updatedAt": "2026-11-07T18:20:23.271942902Z"
      }
    },
    "answer": "EODHD scores 59 (C) on agent readiness against Eulerpool Financial Data API's 46.2 (D), and leads in 5 of 7 scored categories. Eulerpool Financial Data API leads on payments \u0026 pricing.",
    "b": {
      "slug": "eulerpool",
      "name": "Eulerpool Financial Data API",
      "vendor": "Eulerpool Research Systems Pte. Ltd.",
      "vendorUrl": "https://eulerpool.com",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Eulerpool's Financial Data API returns equity fundamentals, prices, estimates, ownership, ETFs, crypto, FX, macro indicators, insider trades and private-company register data as JSON, through REST, SDKs and a remote MCP server.",
      "url": "https://www.anchorterminal.com/tools/eulerpool",
      "markdownUrl": "https://www.anchorterminal.com/tools/eulerpool.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/eulerpool.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/eulerpool.json",
      "dns": "eulerpool.grade.anchorterminal.com",
      "license": "Proprietary, under Eulerpool Research Systems Pte. Ltd.'s terms of service",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.eulerpool.com/mcp",
      "packages": [
        {
          "registry": "pypi",
          "name": "eulerpool"
        },
        {
          "registry": "npm",
          "name": "eulerpool"
        }
      ],
      "auth": "api-key",
      "authNotes": "API key from a browser registration, sent as `Authorization: Bearer` or appended as `?token=` to any request. The MCP server takes the same key. No scopes found.",
      "pricing": "freemium",
      "pricingNotes": "Free: 100,000 requests a month, hard cap, no card, non-commercial with attribution. Builder $990 a year for 1M a month, then $1.50 per 1,000. Startup $4,990 a year for 10M, then $0.80 per 1,000. Scale $19,900 a year, unlimited. Enterprise custom, including AI and LLM licensing. Read through our fetch tool, as the page challenges plain requests (https://eulerpool.com/financial-data-api/pricing, checked 2026-11-06).",
      "priceSummary": "$1.50 / 1k req",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, llms-full.txt, the pricing or MCP pages (checked 2026-11-06). Payments by card, wire, ACH or PO.",
        "endpoints": []
      },
      "toolCount": 157,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-11-06"
      },
      "docsUrl": "https://eulerpool.com/developers",
      "llmsTxt": "https://eulerpool.com/llms.txt",
      "openapi": "https://api.eulerpool.com/api/1/documentation/yaml",
      "capabilities": [
        "market.fundamentals",
        "market.prices",
        "market.history",
        "market.news",
        "market.crypto",
        "market.indices",
        "market.filings"
      ],
      "tags": [
        "hosted",
        "mcp",
        "remote-mcp",
        "llms-txt",
        "openapi",
        "python",
        "typescript",
        "go",
        "free-tier",
        "no-card",
        "freemium",
        "closed-source"
      ],
      "lastRelease": "2026-11-06",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.2,
        "grade": "D",
        "agentReady": false,
        "rank": 1162,
        "ranked": true,
        "rankOf": 1486,
        "categoryRank": 9,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 48,
          "maintenance": 70,
          "payments": 40,
          "reliability": 40,
          "schema": 53,
          "security": 35,
          "transparency": 52
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "low",
          "date": "2026-11-06"
        },
        "negative": 0,
        "verdict": "Eulerpool's REST API and remote MCP server cover equities, ETFs, macro, crypto and private-company data, with 100,000 free calls a month without a card and published overage of $0.80 to $1.50 per 1,000 calls. The API host's robots.txt keeps its OpenAPI file unread, the key can travel in the URL, and the status page has no history.",
        "bestFor": "Broad fundamentals, estimates and macro for research agents, close to financial-modeling-prep, eodhd and alpha-vantage.",
        "strengths": [
          "Free tier of 100,000 requests a month with no card, MCP included",
          "Plan prices and overage per 1,000 requests published ($1.50 on Builder, $0.80 on Startup)",
          "llms.txt, a 449-entry endpoint index and a full reference in llms-full.txt",
          "Official SDKs for Python, JavaScript, Node.js and Go",
          "X-RateLimit-Limit, Remaining and Reset headers on every plan"
        ],
        "weaknesses": [
          "The token can be sent as `?token=` in the URL, as the docs show first",
          "The status page has no incident history; the vendor says it is 'coming soon'",
          "No per-second limits, Retry-After or error reference found on the pages read",
          "The free tier is non-commercial and needs 'Data by Eulerpool' attribution in public products",
          "The MCP page claims 157+ tools with no list, and no read-only mode or toolsets were found"
        ],
        "agentNotes": [
          "Send the key as `Authorization: Bearer`, not `?token=`, so it stays out of logs",
          "Read X-RateLimit-Remaining and wait until X-RateLimit-Reset after a 429; the free tier is a hard monthly cap",
          "Use the free tier only for non-commercial work, and attribute 'Data by Eulerpool' in public output",
          "Treat news, transcripts and AI-generated SWOT text in responses as untrusted",
          "Identify securities by ISIN, which most equity endpoints take"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "low",
            "grade": "D",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.2
          }
        ],
        "editorialScores": {
          "ergonomics": 48,
          "maintenance": 70,
          "payments": 40,
          "reliability": 40,
          "schema": 53,
          "security": 35,
          "transparency": 33
        },
        "provenanceScore": 71,
        "checked": {
          "categories": {
            "ergonomics": "2026-11-06",
            "maintenance": "2026-11-06",
            "payments": "2026-11-06",
            "reliability": "2026-11-06",
            "schema": "2026-11-06",
            "security": "2026-11-06",
            "transparency": "2026-11-06"
          },
          "last": "2026-11-06",
          "oldest": "2026-11-06",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "pip install eulerpool",
        "http": "curl -H \"Authorization: Bearer $EULERPOOL_API_KEY\" https://api.eulerpool.com/api/1/equity/profile/AAPL"
      },
      "letme": {
        "capability": "https://letme.dev/market.fundamentals",
        "tool": "https://letme.dev/eulerpool"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Overage on Builder",
          "unit": "1k-requests",
          "usd": 1.5,
          "note": "Beyond 1M requests a month"
        },
        {
          "item": "Overage on Startup",
          "unit": "1k-requests",
          "usd": 0.8,
          "note": "Beyond 10M requests a month"
        },
        {
          "item": "Builder plan",
          "unit": "month",
          "usd": 82.5,
          "note": "$990 a year"
        }
      ],
      "provenance": {
        "legalEntity": "Eulerpool Research Systems Pte. Ltd.",
        "domain": "eulerpool.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://eulerpool.com/terms-of-service",
        "privacy": "https://eulerpool.com/privacy-policy",
        "statusPage": "https://eulerpool.com/financial-data-api/status",
        "changelog": "https://eulerpool.com/financial-data-api/changelog",
        "securityTxt": "unknown",
        "checked": "2026-11-06",
        "notes": [
          "Terms of service and privacy policy both last updated 6 November 2026, naming Eulerpool Research Systems Pte. Ltd. of Singapore, under Singapore law. The terms bar automated access 'without authorization'.",
          "eulerpool.com/robots.txt allows documentation and llms files for all crawlers and disallows /api/, /account and similar; its comments and llms.txt threaten prosecution for HTML scraping. api.eulerpool.com/robots.txt disallows everything, so the OpenAPI document and MCP endpoint were not read.",
          "Plain requests to the pricing, MCP and home pages met a Cloudflare challenge; they were read through our fetch tool.",
          "The status page shows current checks only, with no history.",
          "llms.txt describes the founder Michael C. Jakob; the company was founded in 2020 per the same file."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/eulerpool.json",
      "live": {
        "slug": "eulerpool",
        "probe": {
          "target": "https://api.eulerpool.com/mcp",
          "method": "get",
          "lastAt": "2026-11-07T18:20:23.638841722Z",
          "lastOk": true,
          "lastStatus": 405,
          "lastMs": 106,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 83,
          "p95ms24h": 208,
          "samples24h": 200,
          "samples30d": 200,
          "days": [
            {
              "date": "2026-11-06",
              "probes": 13,
              "ok": 13
            },
            {
              "date": "2026-11-07",
              "probes": 187,
              "ok": 187
            }
          ]
        },
        "vendorStatus": {
          "page": "https://eulerpool.com/financial-data-api/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-07T04:47:44.586478056Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "eulerpool",
            "version": "1.0.0",
            "seenAt": "2026-11-06T23:24:40.656245148Z"
          },
          {
            "registry": "pypi",
            "name": "eulerpool",
            "version": "1.1.0",
            "released": "2026-09-13",
            "seenAt": "2026-11-06T23:24:40.450997474Z"
          }
        ],
        "npmWeekly": 46,
        "pypiWeekly": 263,
        "securityTxt": {
          "url": "https://eulerpool.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-07T15:59:46.048554058Z"
        },
        "llmsTxt": {
          "url": "https://eulerpool.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-11-07T15:32:25.97341108Z"
        },
        "pages": [
          {
            "url": "https://eulerpool.com/financial-data-api/changelog",
            "kind": "changelog",
            "status": 403,
            "checkedAt": "2026-11-07T14:09:24.401848183Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://eulerpool.com/financial-data-api/pricing",
            "kind": "pricing",
            "status": 403,
            "checkedAt": "2026-11-07T14:09:26.439978681Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://eulerpool.com/privacy-policy",
            "kind": "privacy",
            "status": 403,
            "checkedAt": "2026-11-07T14:09:28.730898422Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://eulerpool.com/terms-of-service",
            "kind": "terms",
            "status": 403,
            "checkedAt": "2026-11-07T14:09:30.44909722Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "updatedAt": "2026-11-07T18:20:23.638841722Z"
      }
    },
    "edges": [
      {
        "by": 28,
        "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": "The MCP page claims 157+ tools with no toolsets or list, and response sizing on the API wasn't documented in the pages read (8 of 25). Filtering and pagination not documented in the pages read (8 of 20). Error codes not documented in the pages read (5 of 20). The data endpoints are reads (12 of 20). Official SDKs in Python, JavaScript, Node.js and Go (15). 8+8+5+12+15 = 48."
        },
        "scores": {
          "a": 76,
          "b": 48
        }
      },
      {
        "by": 25,
        "category": "reliability",
        "leads": "eodhd",
        "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": "Hosted lines. The status page lists three components with checks that were still loading, no history and a note that incident reporting is 'coming soon' (5 of 20). No incident history (5). Monthly quotas per plan are published, with no per-second figures (10 of 15). 429 at the free cap with X-RateLimit headers and a reset timestamp, no Retry-After or backoff guidance (10 of 15). No SLA found (0). Generally available (10). 5+5+10+10+0+10 = 40."
        },
        "scores": {
          "a": 65,
          "b": 40
        }
      },
      {
        "by": 17,
        "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": "An OpenAPI 3.0 document is linked at api.eulerpool.com/api/1/documentation/yaml, but that host's robots.txt disallows every path, so it was not read; partial credit for a linked contract we couldn't check (10 of 25). llms.txt, a 449-entry endpoint index and a 13,904-line llms-full.txt (10). Endpoint descriptions say what each returns, with the same marketing sentence repeated in every section and little on when not to use one (10 of 20). Parameter typing not visible in the llms files read (7 of 15). Response examples throughout; the errors page was not read (8 of 15). /api/1 paths and a dated changelog that mixes API changes with tutorial posts (8 of 15). 10+10+10+7+8+8 = 53."
        },
        "scores": {
          "a": 70,
          "b": 53
        }
      },
      {
        "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": "Closed service. The changelog's newest entry is dated 6 November 2026 (30), with daily entries through October, though many are tutorials rather than API changes (20). Contact by email; no public tracker or community found (5 of 15). Official SDKs in four languages, published 13 September 2026 (12 of 15). Package health not checked (3 of 10). 30+20+5+12+3 = 70."
        },
        "scores": {
          "a": 82,
          "b": 70
        }
      },
      {
        "by": 10,
        "category": "payments",
        "leads": "eulerpool",
        "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 and overage per 1,000 requests are public (20). 100,000 free requests a month with no card, non-commercial (20). A person registers in a browser (0). 0+20+20+0 = 40."
        },
        "scores": {
          "a": 30,
          "b": 40
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Unicorn Data Services",
        "b": "Eulerpool Research Systems Pte. Ltd.",
        "name": "Vendor"
      },
      {
        "a": "https://eodhd.com/api",
        "b": "https://api.eulerpool.com/mcp",
        "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": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Proprietary, under Eulerpool Research Systems Pte. Ltd.'s terms of service",
        "name": "Licence"
      },
      {
        "a": "88",
        "b": "157",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-10-15",
        "b": "2026-11-06",
        "name": "Last release"
      },
      {
        "a": "no date given",
        "b": "2026-11-06",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2026-11-06",
        "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": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "24 stars",
        "b": "none",
        "name": "Popularity"
      }
    ],
    "faq": [
      {
        "answer": "EODHD scores 59 (C) on agent readiness against Eulerpool Financial Data API's 46.2 (D), and leads in 5 of 7 scored categories. Eulerpool Financial Data API leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, EODHD or Eulerpool Financial Data API?"
      },
      {
        "answer": "EODHD takes an API key or an OAuth sign-in. Eulerpool Financial Data API needs an API key.",
        "question": "Do EODHD and Eulerpool Financial Data API need an API key?"
      },
      {
        "answer": "Yes. EODHD has a hosted endpoint at https://eodhd.com/api and Eulerpool Financial Data API at https://api.eulerpool.com/mcp.",
        "question": "Can an agent call EODHD and Eulerpool Financial Data API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 65 against 40",
          "Schema \u0026 documentation, 70 against 53",
          "Agent ergonomics, 76 against 48",
          "Maintenance \u0026 community, 82 against 70"
        ],
        "also": [
          "Runs on your own machine"
        ],
        "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": [
          "Payments \u0026 pricing, 40 against 30"
        ],
        "also": null,
        "goodFor": "Broad fundamentals, estimates and macro for research agents, close to financial-modeling-prep, eodhd and alpha-vantage.",
        "slug": "eulerpool",
        "watchFor": "The token can be sent as `?token=` in the URL, as the docs show first"
      }
    ],
    "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-eulerpool.json",
        "title": "Alpha Vantage vs Eulerpool Financial Data API",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eulerpool"
      },
      {
        "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-eulerpool.json",
        "title": "Databento vs Eulerpool Financial Data API",
        "url": "https://www.anchorterminal.com/compare/databento-vs-eulerpool"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-massive.json",
        "title": "Eulerpool Financial Data API vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-financial-datasets.json",
        "title": "Eulerpool Financial Data API vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-financial-modeling-prep.json",
        "title": "Eulerpool Financial Data API vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-finnhub.json",
        "title": "Eulerpool Financial Data API vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-intrinio.json",
        "title": "Eulerpool Financial Data API vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-tiingo.json",
        "title": "Eulerpool Financial Data API vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eulerpool-vs-twelve-data.json",
        "title": "Eulerpool Financial Data API vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/eulerpool-vs-twelve-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets.json",
        "title": "EODHD vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/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-intrinio.json",
        "title": "EODHD vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/eodhd-vs-intrinio"
      },
      {
        "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-eulerpool.json",
        "title": "Benzinga vs Eulerpool Financial Data API",
        "url": "https://www.anchorterminal.com/compare/benzinga-vs-eulerpool"
      }
    ],
    "panel": null,
    "scores": [
      {
        "by": 25,
        "edge": "eodhd",
        "eodhd": 65,
        "eulerpool": 40,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 17,
        "edge": "eodhd",
        "eodhd": 70,
        "eulerpool": 53,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 28,
        "edge": "eodhd",
        "eodhd": 76,
        "eulerpool": 48,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "eodhd",
        "eodhd": 39,
        "eulerpool": 35,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "eulerpool",
        "eodhd": 30,
        "eulerpool": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 12,
        "edge": "eodhd",
        "eodhd": 82,
        "eulerpool": 70,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 0,
        "edge": "",
        "eodhd": 52,
        "eulerpool": 52,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "EODHD scores 59 (C) on agent readiness against Eulerpool Financial Data API's 46.2 (D), and leads in 5 of 7 scored categories. Eulerpool Financial Data API leads on payments \u0026 pricing. 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.",
      "eulerpool": "Eulerpool's REST API and remote MCP server cover equities, ETFs, macro, crypto and private-company data, with 100,000 free calls a month without a card and published overage of $0.80 to $1.50 per 1,000 calls. The API host's robots.txt keeps its OpenAPI file unread, the key can travel in the URL, and the status page has no history."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/eodhd-vs-eulerpool",
    "json": "https://www.anchorterminal.com/compare/eodhd-vs-eulerpool.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/eodhd-vs-eulerpool.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/eodhd-vs-eulerpool.min.md"
  },
  "markdown": "EODHD scores 59 (C) on agent readiness against Eulerpool Financial Data API's 46.2 (D), and leads in 5 of 7 scored categories. Eulerpool Financial Data API leads on payments \u0026 pricing. Both do market history.\n\n- EODHD: grade C, 59/100, rank #719 of 1486. Markdown https://www.anchorterminal.com/tools/eodhd.md · JSON https://www.anchorterminal.com/api/v1/tools/eodhd.json\n- Eulerpool Financial Data API: grade D, 46.2/100, rank #1162 of 1486. Markdown https://www.anchorterminal.com/tools/eulerpool.md · JSON https://www.anchorterminal.com/api/v1/tools/eulerpool.json\n- Best financial market data APIs for AI agents: https://www.anchorterminal.com/best/market-data/index.md\n- All 66 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- Reliability, 65 against 40\n- Schema \u0026 documentation, 70 against 53\n- Agent ergonomics, 76 against 48\n- Maintenance \u0026 community, 82 against 70\n\nAlso in its favour:\n- Runs on your own machine\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### Eulerpool Financial Data API (D)\n\nGood for: Broad fundamentals, estimates and macro for research agents, close to financial-modeling-prep, eodhd and alpha-vantage.\n\nAhead on:\n- Payments \u0026 pricing, 40 against 30\n\nWatch for: The token can be sent as `?token=` in the URL, as the docs show first\n\n\n## Why the edge\n\n### Agent ergonomics: EODHD +28\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- Eulerpool Financial Data API (48): The MCP page claims 157+ tools with no toolsets or list, and response sizing on the API wasn't documented in the pages read (8 of 25). Filtering and pagination not documented in the pages read (8 of 20). Error codes not documented in the pages read (5 of 20). The data endpoints are reads (12 of 20). Official SDKs in Python, JavaScript, Node.js and Go (15). 8+8+5+12+15 = 48.\n\n### Reliability: EODHD +25\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- Eulerpool Financial Data API (40): Hosted lines. The status page lists three components with checks that were still loading, no history and a note that incident reporting is 'coming soon' (5 of 20). No incident history (5). Monthly quotas per plan are published, with no per-second figures (10 of 15). 429 at the free cap with X-RateLimit headers and a reset timestamp, no Retry-After or backoff guidance (10 of 15). No SLA found (0). Generally available (10). 5+5+10+10+0+10 = 40.\n\n### Schema \u0026 documentation: EODHD +17\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- Eulerpool Financial Data API (53): An OpenAPI 3.0 document is linked at api.eulerpool.com/api/1/documentation/yaml, but that host's robots.txt disallows every path, so it was not read; partial credit for a linked contract we couldn't check (10 of 25). llms.txt, a 449-entry endpoint index and a 13,904-line llms-full.txt (10). Endpoint descriptions say what each returns, with the same marketing sentence repeated in every section and little on when not to use one (10 of 20). Parameter typing not visible in the llms files read (7 of 15). Response examples throughout; the errors page was not read (8 of 15). /api/1 paths and a dated changelog that mixes API changes with tutorial posts (8 of 15). 10+10+10+7+8+8 = 53.\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- Eulerpool Financial Data API (70): Closed service. The changelog's newest entry is dated 6 November 2026 (30), with daily entries through October, though many are tutorials rather than API changes (20). Contact by email; no public tracker or community found (5 of 15). Official SDKs in four languages, published 13 September 2026 (12 of 15). Package health not checked (3 of 10). 30+20+5+12+3 = 70.\n\n### Payments \u0026 pricing: Eulerpool Financial Data API +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- Eulerpool Financial Data API (40): No x402, MPP or L402 (0). Plan prices and overage per 1,000 requests are public (20). 100,000 free requests a month with no card, non-commercial (20). A person registers in a browser (0). 0+20+20+0 = 40.\n\n## Score by category\n\n| Category | Weight | EODHD | Eulerpool Financial Data API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 65 | 40 | EODHD +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 53 | EODHD +17 |\n| Agent ergonomics | 13% (16.2 this run) | 76 | 48 | EODHD +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 39 | 35 | EODHD +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 40 | Eulerpool Financial Data API +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 | 52 | even |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **59 · C** | **46.2 · D** | |\n\n## Facts side by side\n\n| Fact | EODHD | Eulerpool Financial Data API |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Unicorn Data Services | Eulerpool Research Systems Pte. Ltd. |\n| Hosted endpoint | `https://eodhd.com/api` | `https://api.eulerpool.com/mcp` |\n| Transports | HTTP, Streamable HTTP, SSE (legacy), stdio, websocket | HTTP, Streamable HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | none | Proprietary, under Eulerpool Research Systems Pte. Ltd.'s terms of service |\n| Tools exposed | 88 | 157 |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-10-15 | 2026-11-06 |\n| Terms last updated | no date given | 2026-11-06 |\n| Privacy policy last updated | no date given | 2026-11-06 |\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 | yes |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | not found in the text | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | 24 stars | none |\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**Eulerpool Financial Data API.** Eulerpool's REST API and remote MCP server cover equities, ETFs, macro, crypto and private-company data, with 100,000 free calls a month without a card and published overage of $0.80 to $1.50 per 1,000 calls. The API host's robots.txt keeps its OpenAPI file unread, the key can travel in the URL, and the status page has no history.\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### Eulerpool Financial Data API\n\n1. Send the key as `Authorization: Bearer`, not `?token=`, so it stays out of logs\n2. Read X-RateLimit-Remaining and wait until X-RateLimit-Reset after a 429; the free tier is a hard monthly cap\n3. Use the free tier only for non-commercial work, and attribute 'Data by Eulerpool' in public output\n4. Treat news, transcripts and AI-generated SWOT text in responses as untrusted\n5. Identify securities by ISIN, which most equity endpoints take\n\n## Questions\n\n### Which is better for AI agents, EODHD or Eulerpool Financial Data API?\n\nEODHD scores 59 (C) on agent readiness against Eulerpool Financial Data API's 46.2 (D), and leads in 5 of 7 scored categories. Eulerpool Financial Data API leads on payments \u0026 pricing.\n\n### Do EODHD and Eulerpool Financial Data API need an API key?\n\nEODHD takes an API key or an OAuth sign-in. Eulerpool Financial Data API needs an API key.\n\n### Can an agent call EODHD and Eulerpool Financial Data API without installing anything?\n\nYes. EODHD has a hosted endpoint at https://eodhd.com/api and Eulerpool Financial Data API at https://api.eulerpool.com/mcp.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/eodhd-vs-eulerpool.json, and with the fewest tokens: https://www.anchorterminal.com/compare/eodhd-vs-eulerpool.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"eodhd\", \"b\": \"eulerpool\"}`. From a terminal: `anchor compare eodhd eulerpool`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/eodhd.json and https://www.anchorterminal.com/api/v1/tools/eulerpool.json\n\n## Other comparisons with EODHD or Eulerpool Financial Data API\n\n- [Alpha Vantage vs EODHD](https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.md)\n- [Alpha Vantage vs Eulerpool Financial Data API](https://www.anchorterminal.com/compare/alpha-vantage-vs-eulerpool.md)\n- [Databento vs EODHD](https://www.anchorterminal.com/compare/databento-vs-eodhd.md)\n- [Databento vs Eulerpool Financial Data API](https://www.anchorterminal.com/compare/databento-vs-eulerpool.md)\n- [Eulerpool Financial Data API vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/eulerpool-vs-massive.md)\n- [Eulerpool Financial Data API vs Financial Datasets](https://www.anchorterminal.com/compare/eulerpool-vs-financial-datasets.md)\n- [Eulerpool Financial Data API vs Financial Modeling Prep](https://www.anchorterminal.com/compare/eulerpool-vs-financial-modeling-prep.md)\n- [Eulerpool Financial Data API vs Finnhub](https://www.anchorterminal.com/compare/eulerpool-vs-finnhub.md)\n- [Eulerpool Financial Data API vs Intrinio](https://www.anchorterminal.com/compare/eulerpool-vs-intrinio.md)\n- [Eulerpool Financial Data API vs Tiingo](https://www.anchorterminal.com/compare/eulerpool-vs-tiingo.md)\n- [Eulerpool Financial Data API vs Twelve Data](https://www.anchorterminal.com/compare/eulerpool-vs-twelve-data.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 Intrinio](https://www.anchorterminal.com/compare/eodhd-vs-intrinio.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 Eulerpool Financial Data API](https://www.anchorterminal.com/compare/benzinga-vs-eulerpool.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-07",
    "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 Eulerpool Financial Data API",
        "url": ""
      }
    ],
    "description": "EODHD scores 59 (C) to Eulerpool Financial Data's 46.2 (D) for market history. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "EODHD C 59",
      "Eulerpool Financial Data API D 46.2",
      "scores"
    ],
    "h1": "EODHD vs Eulerpool Financial Data API",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/eodhd-vs-eulerpool",
    "published": "2026-10-01",
    "section": "tools",
    "title": "EODHD vs Eulerpool Financial Data for AI agents (2026)",
    "toc": null,
    "updated": "2026-11-07",
    "url": "https://www.anchorterminal.com/compare/eodhd-vs-eulerpool"
  },
  "tokens": {
    "markdown": 3900,
    "slim": 2130
  },
  "version": 1
}
