{
  "data": {
    "a": {
      "slug": "alpha-vantage",
      "name": "Alpha Vantage",
      "vendor": "Alpha Vantage Inc.",
      "vendorUrl": "https://www.alphavantage.co",
      "kind": "http-api",
      "category": "market-data",
      "summary": "Alpha Vantage is a market data API for stocks, options, indices, forex, crypto, commodities, fundamentals, news sentiment, economic series and technical indicators. Agents call one REST endpoint with a function name, or the official MCP server at mcp.alphavantage.co.",
      "url": "https://www.anchorterminal.com/tools/alpha-vantage",
      "markdownUrl": "https://www.anchorterminal.com/tools/alpha-vantage.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/alpha-vantage.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/alpha-vantage.json",
      "dns": "alpha-vantage.grade.anchorterminal.com",
      "repo": "https://github.com/alphavantage/alpha_vantage_mcp",
      "license": "Proprietary service under Alpha Vantage's Terms of Service. The MCP server, CLI and shared client in alphavantage/alpha_vantage_mcp are MIT",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://www.alphavantage.co/query",
      "packages": [
        {
          "registry": "pypi",
          "name": "marketdata-mcp-server"
        },
        {
          "registry": "pypi",
          "name": "marketdata-cli"
        }
      ],
      "auth": "mixed",
      "authNotes": "Self-serve key. A form at alphavantage.co/support/#api-key asks for a name, an organisation and an email address and returns a free key. REST calls send it as `apikey=` in the query string, the only method the documentation shows. One key per account, no scopes. To replace a key the pages tell users to email support. The hosted MCP server takes OAuth 2 (authorisation code with PKCE, dynamic client registration, one scope `alphavantage:read`), where the user enters the key on a consent page. An `?apikey=` MCP URL still works and is marked deprecated.",
      "pricing": "freemium",
      "pricingNotes": "Free key at 25 requests a day with no card, covering most functions. Premium plans are priced by requests a minute with no daily limit, $49.99 a month for 75 up to $249.99 for 1,200, or ten times the monthly price a year (https://www.alphavantage.co/premium/). Real-time and 15-minute delayed US data need a premium plan and a separate entitlement step. Commercial use is by written agreement with no public price (checked 2026-10-08).",
      "priceSummary": "$49.99 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the API documentation, the premium page or the MCP server repository (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 217,
        "npmWeekly": null,
        "pypiWeekly": 172,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://www.alphavantage.co/documentation/",
      "registryName": "io.github.alphavantage/alpha_vantage_mcp",
      "capabilities": [
        "market.prices",
        "market.history",
        "market.fundamentals",
        "market.news",
        "data.markets",
        "market.indices",
        "market.crypto",
        "data.company"
      ],
      "tags": [
        "hosted",
        "freemium",
        "api-key",
        "mcp",
        "oauth",
        "official",
        "python",
        "stocks",
        "forex",
        "crypto",
        "personal-use"
      ],
      "lastRelease": "2026-10-03",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 41.5,
        "grade": "E",
        "agentReady": false,
        "rank": 1197,
        "ranked": true,
        "rankOf": 1349,
        "categoryRank": 11,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 63,
          "payments": 30,
          "reliability": 30,
          "schema": 46,
          "security": 32,
          "transparency": 50
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "One GET endpoint covers about 130 documented functions, with a free key at 25 requests a day and an official MCP server whose tools are all marked read-only. The REST key travels only in the query string, errors come back as HTTP 200 with a text message, and no status page, SLA or OpenAPI document was found.",
        "bestFor": "A personal research or analysis agent that wants many asset classes, fundamentals, indicators and news sentiment from one key at a flat price.",
        "strengths": [
          "About 130 documented functions behind one GET endpoint, each with demo URLs and sample code in Python, NodeJS, PHP and C#",
          "Free key at 25 requests a day with no card, and five public monthly plans from $49.99 (75 requests a minute) to $249.99 (1,200)",
          "Official MIT MCP server, hosted at `mcp.alphavantage.co/mcp` with OAuth (PKCE, dynamic client registration, one `alphavantage:read` scope) and read-only hints on every tool",
          "`outputsize=compact` returns the latest 100 points, and the MCP server caps a response preview at 32,000 tokens by default",
          "The vendor says it holds a Nasdaq licence for real-time and 15-minute delayed US data, and the terms name FRED as the source of economic and commodity series"
        ],
        "weaknesses": [
          "The REST key is documented only as `apikey=` in the query string, with no scopes and no self-service rotation found",
          "Errors and limit notices return HTTP 200 with an `Error Message` or `Information` text field. No error reference, 429 or Retry-After guidance was found",
          "No status page, SLA, OpenAPI document, llms.txt, API version or API changelog was found",
          "The terms grant personal, non-commercial use only. Use on behalf of a company needs a written agreement",
          "PyPI still serves `marketdata-mcp-server` 0.3.1 from 16 March 2026, and an issue open since 4 September 2026 reports that it crashes on startup"
        ],
        "agentNotes": [
          "Check every 200 response for `Error Message`, `Information` or `Note` keys before parsing data. The API does not signal failures or limits by status code",
          "Budget 25 requests a day on a free key. Real-time, 15-minute delayed and intraday US data, index data and several indicators need a premium plan",
          "Keep `outputsize=compact` unless full history is needed, and ask for `datatype=csv` on long series to cut tokens",
          "Use the hosted MCP server with OAuth at `https://mcp.alphavantage.co/mcp`. The `?apikey=` MCP URL is marked deprecated",
          "Confirm the owner's use is personal and non-commercial, or that a commercial agreement exists, before acting for a business"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 4,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "E",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 41.5
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 63,
          "payments": 30,
          "reliability": 30,
          "schema": 46,
          "security": 32,
          "transparency": 36
        },
        "provenanceScore": 64,
        "dataQualityScore": 82,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-08",
            "maintenance": "2026-10-08",
            "payments": "2026-10-08",
            "reliability": "2026-10-08",
            "schema": "2026-10-08",
            "security": "2026-10-08",
            "transparency": "2026-10-08"
          },
          "last": "2026-10-08",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-08",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "uvx marketdata-mcp-server YOUR_API_KEY",
        "http": "curl \"https://www.alphavantage.co/query?function=GLOBAL_QUOTE\u0026symbol=IBM\u0026apikey=$ALPHAVANTAGE_API_KEY\"",
        "claudeCode": "claude mcp add alphavantage -- uvx marketdata-mcp-server YOUR_API_KEY"
      },
      "letme": {
        "capability": "https://letme.dev/market.prices",
        "tool": "https://letme.dev/alpha-vantage"
      },
      "area": "domain-data",
      "unitPrices": [
        {
          "item": "Premium, 75 requests a minute",
          "unit": "month",
          "usd": 49.99,
          "note": "personal use, no daily limit"
        },
        {
          "item": "Premium, 150 requests a minute",
          "unit": "month",
          "usd": 99.99,
          "note": "personal use"
        },
        {
          "item": "Premium, 300 requests a minute",
          "unit": "month",
          "usd": 149.99,
          "note": "personal use"
        },
        {
          "item": "Premium, 600 requests a minute",
          "unit": "month",
          "usd": 199.99,
          "note": "personal use"
        },
        {
          "item": "Premium, 1,200 requests a minute",
          "unit": "month",
          "usd": 249.99,
          "note": "personal use"
        }
      ],
      "provenance": {
        "legalEntity": "Alpha Vantage Inc.",
        "domain": "alphavantage.co",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.alphavantage.co/terms_of_service/",
        "privacy": "https://www.alphavantage.co/privacy/",
        "statusPage": "",
        "changelog": "https://github.com/alphavantage/alpha_vantage_mcp/blob/main/CHANGELOG.md",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Service name Alpha Vantage Inc., cover the website and the application programming interface, and are governed by Massachusetts law. The site footer gives Boston, Massachusetts.",
          "The terms and the privacy policy are each served as a PDF at the URL given, so a reader that skips PDFs will not read them. The privacy policy is dated 25 August 2025. The terms carry no date, and the file's metadata shows a change on 27 August 2026.",
          "www.alphavantage.co/.well-known/security.txt and /robots.txt both return 404.",
          "No status page was found. The site links none, and status.alphavantage.co does not present a valid certificate.",
          "The changelog link is the MCP server's. No changelog for the REST API was found.",
          "No RDAP service answered for the .co domain, so the registration date is not recorded. The site's copyright line runs from 2017."
        ],
        "score": 64
      },
      "dataQuality": {
        "coverage": "Global equities, ETFs and mutual funds, US options and indices, forex, crypto, commodities, fundamentals, news sentiment and ten US economic series",
        "coverageRating": 4,
        "freshness": "Real time or 15-minute delayed for US markets on premium plans with entitlement, otherwise historical and end of day",
        "freshnessClass": "realtime",
        "history": "25+ years of daily and intraday equity history (intraday from January 2000), per the documentation",
        "historyYears": 25,
        "methodology": "https://www.alphavantage.co/support/#support",
        "sourcesDisclosed": true,
        "licence": "Proprietary, under the vendor's Terms of Service",
        "licenceClass": "clear",
        "standing": "",
        "standingClass": "none",
        "reuse": "Personal, non-commercial use unless agreed otherwise in writing. Passing data to other people or using it for a company counts as commercial use.",
        "score": 82,
        "checks": null
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/alpha-vantage.json",
      "live": {
        "slug": "alpha-vantage",
        "probe": {
          "target": "https://www.alphavantage.co/query",
          "method": "get",
          "lastAt": "2026-11-04T20:04:48.726707941Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 161,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 99.91,
          "p50ms24h": 131,
          "p95ms24h": 295,
          "samples24h": 246,
          "samples30d": 6637,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 169,
              "ok": 169
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 254
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 251
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 252
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 247
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 249,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-31",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-11-01",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-11-02",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-11-03",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-11-04",
              "probes": 207,
              "ok": 207
            }
          ]
        },
        "versions": [
          {
            "registry": "mcp-registry",
            "name": "io.github.alphavantage/alpha_vantage_mcp",
            "version": "1.0.0",
            "seenAt": "2026-11-04T17:11:44.552009456Z"
          },
          {
            "registry": "pypi",
            "name": "marketdata-cli",
            "version": "0.1.9",
            "released": "2026-03-17",
            "seenAt": "2026-11-04T19:56:54.554856877Z"
          },
          {
            "registry": "pypi",
            "name": "marketdata-mcp-server",
            "version": "0.3.1",
            "released": "2026-03-16",
            "seenAt": "2026-11-04T19:56:54.365115127Z"
          }
        ],
        "githubStars": 225,
        "pypiWeekly": 7912,
        "securityTxt": {
          "url": "https://alphavantage.co/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:10.658830061Z"
        },
        "domain": {
          "domain": "alphavantage.co",
          "checkedAt": "2026-11-01T14:10:30.150882219Z"
        },
        "pages": [
          {
            "url": "https://raw.githubusercontent.com/alphavantage/alpha_vantage_mcp/main/CHANGELOG.md",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-11-04T08:32:44.1418251Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "7d8adbd772af"
          },
          {
            "url": "https://www.alphavantage.co/privacy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-11-04T08:36:55.255854258Z",
            "changedAt": "0001-01-01T00:00:00Z"
          },
          {
            "url": "https://www.alphavantage.co/terms_of_service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-11-04T08:36:57.583294573Z",
            "changedAt": "0001-01-01T00:00:00Z"
          }
        ],
        "github": {
          "repo": "alphavantage/alpha_vantage_mcp",
          "checkedAt": "2026-11-02T08:30:09.565782068Z",
          "stars": 224,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-03T00:09:33Z",
          "openIssues": 1,
          "openPRs": 2,
          "issuesOpened90d": 2,
          "issuesClosed90d": 1,
          "prsMerged90d": 1,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 49,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-03T00:11:12Z"
          },
          "replies": {
            "sampled": 9,
            "unanswered": 1,
            "medianDays": 7.4
          }
        },
        "updatedAt": "2026-11-04T20:04:48.726707941Z"
      }
    },
    "answer": "EODHD scores 59 (C) on agent readiness against Alpha Vantage's 41.5 (E), and leads in 6 of 7 scored categories.",
    "b": {
      "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": 651,
        "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-04T20:05:00.34349776Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 514,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 511,
          "p95ms24h": 788,
          "samples24h": 48,
          "samples30d": 48,
          "days": [
            {
              "date": "2026-11-04",
              "probes": 48,
              "ok": 48
            }
          ]
        },
        "vendorStatus": {
          "page": "https://uptime.eodhistoricaldata.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-11-04T15:31:54.564968713Z"
        },
        "securityTxt": {
          "url": "https://eodhd.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-11-04T15:54:36.573658014Z"
        },
        "updatedAt": "2026-11-04T20:05:00.34349776Z"
      }
    },
    "edges": [
      {
        "by": 35,
        "category": "reliability",
        "leads": "eodhd",
        "name": "Reliability",
        "reasons": {
          "a": "Graded as a hosted service. No status page was found. The site links none and status.alphavantage.co has no valid certificate (0). With no page there is no incident history to read (5). Limits are published with numbers, 25 requests a day on a free key and 75 to 1,200 a minute on premium plans (15). No 429, Retry-After or backoff guidance was found, and in our test calls a missing key and an unknown function both returned HTTP 200 with a text field (0). No SLA was found, and the terms supply the service as is (0). The REST API is generally available (10). Total 30.",
          "b": "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."
        },
        "scores": {
          "a": 30,
          "b": 65
        }
      },
      {
        "by": 24,
        "category": "schema",
        "leads": "eodhd",
        "name": "Schema \u0026 documentation",
        "reasons": {
          "a": "The surface graded is the REST API, with the official MCP server noted. No OpenAPI document was found for the API. The MCP server's tools carry typed inputs generated from Python signatures (10 of 25). `/llms.txt` returns 404, and the only Markdown is the MCP README (3 of 10). Each function has a purpose statement, a parameter list and a premium marker, with little on when not to use it (13 of 20). Required and optional parameters are marked and allowed values listed in prose, while MCP inputs such as `interval` are plain strings with no enums (8 of 15). Every function has demo URLs and code in four languages, but no error responses are documented (8 of 15). The API has no version and no changelog. The MCP repository's changelog stops at 0.3.2 on 27 February 2026 with later changes under Unreleased (4 of 15). Total 46.",
          "b": "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."
        },
        "scores": {
          "a": 46,
          "b": 70
        }
      },
      {
        "by": 22,
        "category": "ergonomics",
        "leads": "eodhd",
        "name": "Agent ergonomics",
        "reasons": {
          "a": "`outputsize=compact` returns the latest 100 points, `datatype=csv` shortens long series, and the MCP server previews anything over 32,000 tokens with a link to the full data. No field selection (15 of 25). `limit` and time filters on news and a `month` parameter for intraday history, with no pagination elsewhere (10 of 20). Errors and limit notices arrive as HTTP 200 with free text under `Error Message` or `Information`, undocumented (5 of 20). Every call is a GET read, and all MCP tools carry readOnlyHint true and destructiveHint false (16 of 20). Few required parameters and sensible defaults. No official SDK, only a Python CLI and community libraries (8 of 15). Total 54.",
          "b": "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."
        },
        "scores": {
          "a": 54,
          "b": 76
        }
      },
      {
        "by": 19,
        "category": "maintenance",
        "leads": "eodhd",
        "name": "Maintenance \u0026 community",
        "reasons": {
          "a": "The MCP server repository, which a workflow deploys to the hosted server, had its last commit on 3 October 2026, and the site footer says it was updated in October 2026 (30). No tags, and the newest PyPI release is 17 March 2026, so there are no dated releases in the last 90 days, though the repository shows over 30 commits since 21 July (8 of 20). Pull requests 14 and 18 were merged within a day and issue 16 closed in a day, while issue 17, a reported startup crash, has been open since 4 September. Support is by email (10 of 25). The server sits in the official MCP registry under the vendor's GitHub namespace, with no official SDKs (12 of 15). The published package leaves its `mcp` dependency unpinned, and the workflows deploy and publish without a visible test run (3 of 10). Total 63.",
          "b": "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."
        },
        "scores": {
          "a": 63,
          "b": 82
        }
      },
      {
        "by": 7,
        "category": "security",
        "leads": "eodhd",
        "name": "Security \u0026 auth",
        "reasons": {
          "a": "One key per account with no scopes, documented only as `apikey=` in the query string, and replaced by emailing support. The hosted MCP server adds OAuth 2 with PKCE, dynamic client registration and one read scope (20 less 10 for the query string, so 10). Every function is read-only (15 of 20). News, sentiment and earnings transcripts are third-party text, and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, and no disclosure policy, bug bounty or certification was found. A report of keys in plain-text logs, GitHub issue 13, was closed within three days in April 2026 (2 of 20). The server source still writes the key and tool arguments into its own analytics records. Total 32.",
          "b": "One token per account with no scopes, shown as `api_token=` in the query string on every docs page, with a Bearer header allowed per llms.txt; the MCP v1 address embeds the token and v2 uses OAuth 2.1 with one scope, full-access (20 less 10 for the query string, so 10). All REST calls read; three MCP report tools trigger provider-side report generation and email (14 of 20). News and sentiment are third-party text and no guidance was found (5 of 15). A usage endpoint and dashboard show calls spent, not a per-call log (6 of 15). No security.txt, disclosure policy, bug bounty or certification found; the MCP server's CI runs Bandit, Semgrep and pip-audit (4 of 20). 10 + 14 + 5 + 6 + 4 = 39."
        },
        "scores": {
          "a": 32,
          "b": 39
        }
      }
    ],
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Alpha Vantage Inc.",
        "b": "Unicorn Data Services",
        "name": "Vendor"
      },
      {
        "a": "https://www.alphavantage.co/query",
        "b": "https://eodhd.com/api",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP, SSE (legacy), stdio, websocket",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Alpha Vantage's Terms of Service. The MCP server, CLI and shared client in alphavantage/alpha_vantage_mcp are MIT",
        "b": "none",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "88",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.github.alphavantage/alpha_vantage_mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-03",
        "b": "2026-10-15",
        "name": "Last release"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Terms last updated"
      },
      {
        "a": "couldn't be read",
        "b": "no date given",
        "name": "Privacy policy last updated"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "couldn't be read",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "217 stars, 172 PyPI/wk",
        "b": "24 stars",
        "name": "Popularity"
      },
      {
        "a": "3/5 (4)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "EODHD scores 59 (C) on agent readiness against Alpha Vantage's 41.5 (E), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, Alpha Vantage or EODHD?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do Alpha Vantage and EODHD need an API key?"
      },
      {
        "answer": "Yes. Alpha Vantage has a hosted endpoint at https://www.alphavantage.co/query and EODHD at https://eodhd.com/api.",
        "question": "Can an agent call Alpha Vantage and EODHD without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A personal research or analysis agent that wants many asset classes, fundamentals, indicators and news sentiment from one key at a flat price.",
        "slug": "alpha-vantage",
        "watchFor": "The REST key is documented only as `apikey=` in the query string, with no scopes and no self-service rotation found"
      },
      {
        "aheadOn": [
          "Reliability, 65 against 30",
          "Schema \u0026 documentation, 70 against 46",
          "Agent ergonomics, 76 against 54",
          "Security \u0026 auth, 39 against 32",
          "Maintenance \u0026 community, 82 against 63"
        ],
        "also": [
          "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"
      }
    ],
    "history": {
      "alpha-vantage": [
        {
          "causes": [
            "method"
          ],
          "date": "2026-10-27",
          "delta": 0.2,
          "from": 41.3,
          "fromGrade": "E",
          "to": 41.5,
          "toGrade": "E"
        }
      ],
      "eodhd": null
    },
    "job": {
      "capability": "market.prices",
      "name": "Market prices"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga.json",
        "title": "Alpha Vantage vs Benzinga",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-databento.json",
        "title": "Alpha Vantage vs Databento",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-databento"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.json",
        "title": "Alpha Vantage vs Financial Datasets",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep.json",
        "title": "Alpha Vantage vs Financial Modeling Prep",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub.json",
        "title": "Alpha Vantage vs Finnhub",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio.json",
        "title": "Alpha Vantage vs Intrinio",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-massive.json",
        "title": "Alpha Vantage vs Massive (formerly Polygon.io)",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-massive"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo.json",
        "title": "Alpha Vantage vs Tiingo",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-twelve-data.json",
        "title": "Alpha Vantage vs Twelve Data",
        "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-twelve-data"
      },
      {
        "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/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"
      }
    ],
    "panel": null,
    "scores": [
      {
        "alpha-vantage": 30,
        "by": 35,
        "edge": "eodhd",
        "eodhd": 65,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "alpha-vantage": 46,
        "by": 24,
        "edge": "eodhd",
        "eodhd": 70,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "alpha-vantage": 54,
        "by": 22,
        "edge": "eodhd",
        "eodhd": 76,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "alpha-vantage": 32,
        "by": 7,
        "edge": "eodhd",
        "eodhd": 39,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "alpha-vantage": 30,
        "by": 0,
        "edge": "",
        "eodhd": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "alpha-vantage": 63,
        "by": 19,
        "edge": "eodhd",
        "eodhd": 82,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "alpha-vantage": 50,
        "by": 2,
        "edge": "eodhd",
        "eodhd": 52,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "EODHD scores 59 (C) on agent readiness against Alpha Vantage's 41.5 (E), and leads in 6 of 7 scored categories. Both do market prices.",
    "tasks": null,
    "tutorials": [],
    "verdicts": {
      "alpha-vantage": "One GET endpoint covers about 130 documented functions, with a free key at 25 requests a day and an official MCP server whose tools are all marked read-only. The REST key travels only in the query string, errors come back as HTTP 200 with a text message, and no status page, SLA or OpenAPI document was found.",
      "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd",
    "json": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.min.md"
  },
  "markdown": "EODHD scores 59 (C) on agent readiness against Alpha Vantage's 41.5 (E), and leads in 6 of 7 scored categories. Both do market prices.\n\n- Alpha Vantage: grade E, 41.5/100, rank #1197 of 1349. Markdown https://www.anchorterminal.com/tools/alpha-vantage.md · JSON https://www.anchorterminal.com/api/v1/tools/alpha-vantage.json\n- EODHD: grade C, 59/100, rank #651 of 1349. Markdown https://www.anchorterminal.com/tools/eodhd.md · JSON https://www.anchorterminal.com/api/v1/tools/eodhd.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### Alpha Vantage (E)\n\nGood for: A personal research or analysis agent that wants many asset classes, fundamentals, indicators and news sentiment from one key at a flat price.\n\nWatch for: The REST key is documented only as `apikey=` in the query string, with no scopes and no self-service rotation found\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 30\n- Schema \u0026 documentation, 70 against 46\n- Agent ergonomics, 76 against 54\n- Security \u0026 auth, 39 against 32\n- Maintenance \u0026 community, 82 against 63\n\nAlso in its favour:\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\n## Why the edge\n\n### Reliability: EODHD +35\n\n- Alpha Vantage (30): Graded as a hosted service. No status page was found. The site links none and status.alphavantage.co has no valid certificate (0). With no page there is no incident history to read (5). Limits are published with numbers, 25 requests a day on a free key and 75 to 1,200 a minute on premium plans (15). No 429, Retry-After or backoff guidance was found, and in our test calls a missing key and an unknown function both returned HTTP 200 with a text field (0). No SLA was found, and the terms supply the service as is (0). The REST API is generally available (10). Total 30.\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\n### Schema \u0026 documentation: EODHD +24\n\n- Alpha Vantage (46): The surface graded is the REST API, with the official MCP server noted. No OpenAPI document was found for the API. The MCP server's tools carry typed inputs generated from Python signatures (10 of 25). `/llms.txt` returns 404, and the only Markdown is the MCP README (3 of 10). Each function has a purpose statement, a parameter list and a premium marker, with little on when not to use it (13 of 20). Required and optional parameters are marked and allowed values listed in prose, while MCP inputs such as `interval` are plain strings with no enums (8 of 15). Every function has demo URLs and code in four languages, but no error responses are documented (8 of 15). The API has no version and no changelog. The MCP repository's changelog stops at 0.3.2 on 27 February 2026 with later changes under Unreleased (4 of 15). Total 46.\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\n### Agent ergonomics: EODHD +22\n\n- Alpha Vantage (54): `outputsize=compact` returns the latest 100 points, `datatype=csv` shortens long series, and the MCP server previews anything over 32,000 tokens with a link to the full data. No field selection (15 of 25). `limit` and time filters on news and a `month` parameter for intraday history, with no pagination elsewhere (10 of 20). Errors and limit notices arrive as HTTP 200 with free text under `Error Message` or `Information`, undocumented (5 of 20). Every call is a GET read, and all MCP tools carry readOnlyHint true and destructiveHint false (16 of 20). Few required parameters and sensible defaults. No official SDK, only a Python CLI and community libraries (8 of 15). Total 54.\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\n### Maintenance \u0026 community: EODHD +19\n\n- Alpha Vantage (63): The MCP server repository, which a workflow deploys to the hosted server, had its last commit on 3 October 2026, and the site footer says it was updated in October 2026 (30). No tags, and the newest PyPI release is 17 March 2026, so there are no dated releases in the last 90 days, though the repository shows over 30 commits since 21 July (8 of 20). Pull requests 14 and 18 were merged within a day and issue 16 closed in a day, while issue 17, a reported startup crash, has been open since 4 September. Support is by email (10 of 25). The server sits in the official MCP registry under the vendor's GitHub namespace, with no official SDKs (12 of 15). The published package leaves its `mcp` dependency unpinned, and the workflows deploy and publish without a visible test run (3 of 10). Total 63.\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\n### Security \u0026 auth: EODHD +7\n\n- Alpha Vantage (32): One key per account with no scopes, documented only as `apikey=` in the query string, and replaced by emailing support. The hosted MCP server adds OAuth 2 with PKCE, dynamic client registration and one read scope (20 less 10 for the query string, so 10). Every function is read-only (15 of 20). News, sentiment and earnings transcripts are third-party text, and no guidance on treating them as untrusted was found (5 of 15). No usage log or per-call record for the key holder was found (0 of 15). security.txt returns 404, and no disclosure policy, bug bounty or certification was found. A report of keys in plain-text logs, GitHub issue 13, was closed within three days in April 2026 (2 of 20). The server source still writes the key and tool arguments into its own analytics records. Total 32.\n- EODHD (39): One token per account with no scopes, shown as `api_token=` in the query string on every docs page, with a Bearer header allowed per llms.txt; the MCP v1 address embeds the token and v2 uses OAuth 2.1 with one scope, full-access (20 less 10 for the query string, so 10). All REST calls read; three MCP report tools trigger provider-side report generation and email (14 of 20). News and sentiment are third-party text and no guidance was found (5 of 15). A usage endpoint and dashboard show calls spent, not a per-call log (6 of 15). No security.txt, disclosure policy, bug bounty or certification found; the MCP server's CI runs Bandit, Semgrep and pip-audit (4 of 20). 10 + 14 + 5 + 6 + 4 = 39.\n\n## Score by category\n\n| Category | Weight | Alpha Vantage | EODHD | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 30 | 65 | EODHD +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 46 | 70 | EODHD +24 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 76 | EODHD +22 |\n| Security \u0026 auth | 14% (17.5 this run) | 32 | 39 | EODHD +7 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 30 | 30 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 63 | 82 | EODHD +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 50 | 52 | EODHD +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **41.5 · E** | **59 · C** | |\n\n## Facts side by side\n\n| Fact | Alpha Vantage | EODHD |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Alpha Vantage Inc. | Unicorn Data Services |\n| Hosted endpoint | `https://www.alphavantage.co/query` | `https://eodhd.com/api` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP, SSE (legacy), stdio, websocket |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | Proprietary service under Alpha Vantage's Terms of Service. The MCP server, CLI and shared client in alphavantage/alpha_vantage_mcp are MIT | none |\n| Tools exposed | none | 88 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| MCP registry | `io.github.alphavantage/alpha_vantage_mcp` | not listed |\n| Last release | 2026-10-03 | 2026-10-15 |\n| Terms last updated | couldn't be read | no date given |\n| Privacy policy last updated | couldn't be read | no date given |\n| Customer content may train models | couldn't be read | not found in the text |\n| Terms restrict automated access | couldn't be read | not found in the text |\n| Terms restrict benchmarking | couldn't be read | not found in the text |\n| Terms or service can change without notice | couldn't be read | not found in the text |\n| Arbitration or class-action waiver | couldn't be read | not found in the text |\n| Popularity | 217 stars, 172 PyPI/wk | 24 stars |\n| Agent reviews | 3/5 (4) | none |\n\n## How the scores have moved\n\n### Alpha Vantage\n\n- +0.2 on 27 October 2026: checklist\n\n### EODHD\n\nNo score change since it was listed.\n\n## Verdicts\n\n**Alpha Vantage.** One GET endpoint covers about 130 documented functions, with a free key at 25 requests a day and an official MCP server whose tools are all marked read-only. The REST key travels only in the query string, errors come back as HTTP 200 with a text message, and no status page, SLA or OpenAPI document was found.\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## Before you call either\n\n### Alpha Vantage\n\n1. Check every 200 response for `Error Message`, `Information` or `Note` keys before parsing data. The API does not signal failures or limits by status code\n2. Budget 25 requests a day on a free key. Real-time, 15-minute delayed and intraday US data, index data and several indicators need a premium plan\n3. Keep `outputsize=compact` unless full history is needed, and ask for `datatype=csv` on long series to cut tokens\n4. Use the hosted MCP server with OAuth at `https://mcp.alphavantage.co/mcp`. The `?apikey=` MCP URL is marked deprecated\n5. Confirm the owner's use is personal and non-commercial, or that a commercial agreement exists, before acting for a business\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## Questions\n\n### Which is better for AI agents, Alpha Vantage or EODHD?\n\nEODHD scores 59 (C) on agent readiness against Alpha Vantage's 41.5 (E), and leads in 6 of 7 scored categories.\n\n### Do Alpha Vantage and EODHD need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call Alpha Vantage and EODHD without installing anything?\n\nYes. Alpha Vantage has a hosted endpoint at https://www.alphavantage.co/query and EODHD at https://eodhd.com/api.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.json, and with the fewest tokens: https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"alpha-vantage\", \"b\": \"eodhd\"}`. From a terminal: `anchor compare alpha-vantage eodhd`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/alpha-vantage.json and https://www.anchorterminal.com/api/v1/tools/eodhd.json\n\n## Other comparisons with Alpha Vantage or EODHD\n\n- [Alpha Vantage vs Benzinga](https://www.anchorterminal.com/compare/alpha-vantage-vs-benzinga.md)\n- [Alpha Vantage vs Databento](https://www.anchorterminal.com/compare/alpha-vantage-vs-databento.md)\n- [Alpha Vantage vs Financial Datasets](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-datasets.md)\n- [Alpha Vantage vs Financial Modeling Prep](https://www.anchorterminal.com/compare/alpha-vantage-vs-financial-modeling-prep.md)\n- [Alpha Vantage vs Finnhub](https://www.anchorterminal.com/compare/alpha-vantage-vs-finnhub.md)\n- [Alpha Vantage vs Intrinio](https://www.anchorterminal.com/compare/alpha-vantage-vs-intrinio.md)\n- [Alpha Vantage vs Massive (formerly Polygon.io)](https://www.anchorterminal.com/compare/alpha-vantage-vs-massive.md)\n- [Alpha Vantage vs Tiingo](https://www.anchorterminal.com/compare/alpha-vantage-vs-tiingo.md)\n- [Alpha Vantage vs Twelve Data](https://www.anchorterminal.com/compare/alpha-vantage-vs-twelve-data.md)\n- [Databento vs EODHD](https://www.anchorterminal.com/compare/databento-vs-eodhd.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",
  "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": "Alpha Vantage vs EODHD",
        "url": ""
      }
    ],
    "description": "EODHD scores 59 (C) to Alpha Vantage's 41.5 (E) for market prices. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Alpha Vantage E 41.5",
      "EODHD C 59",
      "scores"
    ],
    "h1": "Alpha Vantage vs EODHD",
    "image": "https://www.anchorterminal.com/assets/og/default.png",
    "path": "/compare/alpha-vantage-vs-eodhd",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Alpha Vantage vs EODHD for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-11-03",
    "url": "https://www.anchorterminal.com/compare/alpha-vantage-vs-eodhd"
  },
  "tokens": {
    "markdown": 4350,
    "slim": 2680
  },
  "version": 1
}
