{
  "data": {
    "a": {
      "slug": "akoya",
      "name": "Akoya",
      "vendor": "Akoya LLC",
      "vendorUrl": "https://akoya.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Akoya runs a US data access network through which consumers permit apps to read their bank and brokerage accounts. Data recipients call FDX-based REST APIs for accounts, balances, transactions, customer details, statements and consent, after an OAuth consent flow.",
      "url": "https://www.anchorterminal.com/tools/akoya",
      "markdownUrl": "https://www.anchorterminal.com/tools/akoya.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/akoya.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/akoya.json",
      "license": "Proprietary service under the Akoya Terms of Use and a signed data access agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://products.ddp.akoya.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 authorisation code grant with OpenID Connect. A person requests a Data Recipient Hub account (MFA is mandatory), registers an app and receives a client ID and secret. The consumer signs in at their own institution, picks the accounts to share, and the app exchanges the code at `/token` for an ID token and a refresh token. The ID token is the bearer token for data calls. The only scopes are `openid profile offline_access`, and what an app can read is set by its product subscriptions and the consumer's account selection. The service APIs take a 24-hour service token from separate credentials. Sandbox access is self-service. Production needs a questionnaire, a security review and a signed agreement.",
      "pricing": "paid",
      "pricingNotes": "No price is published. The pricing page names Standard (fewer than 10,000 monthly connections, self-service onboarding) and Enterprise (10,000 or more, custom pricing) without figures, and its FAQ says a set-up or implementation fee may apply. The sandbox is free and self-service with test data, so an agent's owner can start without a contract. Live data needs production approval (https://akoya.com/pricing, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI specifications or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.akoya.com",
      "openapi": "https://docs.akoya.com/guides/akoya-apis-3-0-0-spec",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "oauth",
        "openapi",
        "fdx",
        "us-only",
        "sandbox",
        "webhooks",
        "sales-led",
        "closed-source",
        "soc2"
      ],
      "lastRelease": "2026-08-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.3,
        "grade": "D",
        "agentReady": false,
        "rank": 623,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 33,
          "payments": 10,
          "reliability": 28,
          "schema": 70,
          "security": 64,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.",
        "bestFor": "A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.",
        "strengths": [
          "Data APIs are read-only GET endpoints, and each token covers one consumer, one app and the accounts that consumer selected",
          "OpenAPI 3.1 specifications are published for the Token, Service Token, data, Apps Management, Notifications and Consent APIs",
          "Free self-service sandbox with a test institution (`mikomo`), scripted test users and a public Postman workspace",
          "Written version policy. Breaking changes only in major versions, with a six-month sunset after deprecation",
          "Webhooks report consent revocation, consent updates and planned or unplanned outages, with three delivery attempts"
        ],
        "weaknesses": [
          "No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply",
          "Production access needs an onboarding questionnaire, a security review (SOC 2 report or questionnaire) and an agreement signed by Docusign",
          "No public status page, SLA or numeric rate limit for the data APIs was found. Availability figures sit inside the Data Recipient Hub",
          "The Terms of Use forbid using any automated system to access the network and allow changes and termination without prior notice",
          "No SDK, `llms.txt` or Markdown docs. The OpenAPI files are code blocks to copy from docs pages, not downloadable files"
        ],
        "agentNotes": [
          "Send `x-akoya-interaction-type` (USER or BATCH) and `x-akoya-last-access` on every v3 data call, plus `x-akoya-intent-type` if the app subscribes to Payments",
          "Use the `id_token` as the bearer token. The `/token` response has no `access_token` field, so generic OAuth libraries need adjusting",
          "Treat ID tokens as valid for 15 minutes, refresh on error 602, and store the new refresh token returned by every refresh",
          "Page transactions by following `links.next.href` unchanged. Set `limit`, `startTime` and `endTime` on the first call only",
          "On 429 with code 1207 slow the request rate. On 5xx retry up to three times with exponential backoff"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.3
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 33,
          "payments": 10,
          "reliability": 28,
          "schema": 70,
          "security": 64,
          "transparency": 44
        },
        "provenanceScore": 72
      },
      "connect": {
        "http": "curl --request GET --url 'https://sandbox-products.ddp.akoya.com/accounts-info/v3/mikomo' --header 'x-akoya-interaction-type: USER' --header 'x-akoya-last-access: 2025-11-24T00:00:00Z' --header 'accept: application/json' --header 'authorization: Bearer {{id_token}}'"
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/akoya"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Akoya LLC",
        "domain": "akoya.com",
        "domainRegistered": "1998-06-24",
        "endpointOnVendorDomain": true,
        "terms": "https://akoya.com/terms-of-use",
        "privacy": "https://akoya.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.akoya.com/akoya/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use (last updated 20 December 2024) name Akoya LLC and govern use of the Akoya Data Access Network and akoya.com. Production use also runs under a data access agreement signed through Docusign, which is not published.",
          "The privacy policy (last updated 9 June 2025) covers the website and Akoya's products and services, and gives the address 6 Liberty Square #2381, Boston, MA 02109.",
          "The OpenAPI files name https://recipient.ddp.akoya.com/terms-of-use as their licence. That address returned a 755-byte script shell to our reader.",
          "akoya.com/.well-known/security.txt and docs.akoya.com/.well-known/security.txt both returned 404.",
          "No public status page was found. status.akoya.com did not connect, and the docs place network availability and outages inside the Data Recipient Hub, behind a login.",
          "RDAP (Verisign) gives a registration date of 1998-06-24 for akoya.com."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/akoya.json",
      "live": {
        "slug": "akoya",
        "probe": {
          "target": "https://products.ddp.akoya.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:03.241288067Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 322,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 333,
          "p95ms24h": 384,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:03.241288067Z"
      }
    },
    "answer": "Plaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category.",
    "b": {
      "slug": "plaid",
      "name": "Plaid",
      "vendor": "Plaid",
      "vendorUrl": "https://plaid.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Bank data aggregation platform covering the US, Canada, the UK and parts of Europe.",
      "url": "https://www.anchorterminal.com/tools/plaid",
      "markdownUrl": "https://www.anchorterminal.com/tools/plaid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plaid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plaid.json",
      "repo": "https://github.com/plaid/mcp",
      "license": "MIT (SDKs and MCP server)",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://production.plaid.com",
      "packages": [
        {
          "registry": "npm",
          "name": "plaid"
        },
        {
          "registry": "pypi",
          "name": "plaid-python"
        },
        {
          "registry": "pypi",
          "name": "mcp-server-plaid"
        }
      ],
      "auth": "mixed",
      "authNotes": "Every call is a POST with `client_id` and `secret` in the JSON body (or as PLAID-CLIENT-ID and PLAID-SECRET headers). Sandbox and Production have separate secrets. End-user data needs an `access_token` from the Link flow (link token, public token, exchange). The Dashboard MCP uses OAuth client_credentials with scope `mcp:dashboard` and 15-minute tokens. The sandbox MCP takes the sandbox client id and secret as flags or environment variables.",
      "pricing": "paid",
      "pricingNotes": "Sandbox is always free. Three plans, Pay as you go (month to month, card on file), Growth (12-month commitment) and Custom, with no price list on the site; you see prices when you apply for Production access (https://plaid.com/pricing/). Billing model varies by product. One-time per Item for Auth, Identity, Income and Layer, a monthly subscription per Item for Transactions, Liabilities, Investments and Recurring Transactions, and a flat fee per call for Balance, Signal and the refresh endpoints. A subscription Item keeps billing until you call /item/remove or the user revokes it (https://plaid.com/docs/account/billing/index.html.md). Teams created after 15 April 2026 in the US and Canada get a Trial plan with 10 free Production Items, replacing the older Limited Production of 200 calls per product (https://plaid.com/docs/changelog/).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 586,
        "npmWeekly": 1292229,
        "pypiWeekly": 656730,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://plaid.com/docs/",
      "llmsTxt": "https://plaid.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/plaid/plaid-openapi/master/2020-09-14.yml",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "card-required",
        "enterprise",
        "open-source"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 69.8,
        "grade": "B",
        "agentReady": false,
        "rank": 147,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 93,
          "security": 67,
          "transparency": 79
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page. No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed.",
        "bestFor": "US and Canadian account, transaction, identity and income data, with Transfer for payments.",
        "strengths": [
          "Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page",
          "Rate limits per endpoint, per Item and per client, published as JSON",
          "Error bodies carry error_code, documentation_url and suggested_action",
          "Dashboard Logs keep every request, response, webhook and Link event for 14 days",
          "security.txt valid to 31 December 2026 and a HackerOne programme"
        ],
        "weaknesses": [
          "No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed",
          "Four plaid-node major versions between 23 July and 1 September 2026, each with breaking changes",
          "No Retry-After on 429 and no list of which error codes are safe to retry",
          "Six incidents marked major on the status page since 10 July 2026, five of them single banks",
          "One team secret reaches every product, Transfer included; there's no read-only key"
        ],
        "agentNotes": [
          "Point calls at https://sandbox.plaid.com until you hold a Production secret; request shapes are the same",
          "Create a sandbox Item with /sandbox/public_token/create and ins_109508, then /item/public_token/exchange, no Link UI needed",
          "Use /transactions/sync with its cursor and back off on 429 RATE_LIMIT_EXCEEDED yourself, since no Retry-After comes back",
          "Call /item/remove when the user is done, or subscription products keep billing",
          "Send an idempotency_key on `/transfer/authorization/create` so a retried request can't authorise twice"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 69.8
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 93,
          "security": 67,
          "transparency": 61
        },
        "provenanceScore": 97
      },
      "connect": {
        "http": "curl -X POST https://sandbox.plaid.com/sandbox/public_token/create -H \"Content-Type: application/json\" \\\n  -d '{\"client_id\":\"'\"$PLAID_CLIENT_ID\"'\",\"secret\":\"'\"$PLAID_SECRET\"'\",\"institution_id\":\"ins_109508\",\"initial_products\":[\"transactions\"]}'",
        "claudeCode": "claude mcp add plaid -e PLAID_CLIENT_ID=$PLAID_CLIENT_ID -e PLAID_SECRET=$PLAID_SECRET -- uvx mcp-server-plaid",
        "config": {
          "mcpServers": {
            "plaid": {
              "args": [
                "mcp-server-plaid"
              ],
              "command": "uvx",
              "env": {
                "PLAID_CLIENT_ID": "${PLAID_CLIENT_ID}",
                "PLAID_SECRET": "${PLAID_SECRET}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/plaid"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Plaid Inc.",
        "domain": "plaid.com",
        "domainRegistered": "1995-08-16",
        "domainNote": "plaid.com was registered in 1995, long before Plaid was founded, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://plaid.com/legal/#developer-policy",
        "privacy": "https://plaid.com/legal/#privacy-statement",
        "statusPage": "https://status.plaid.com",
        "changelog": "https://plaid.com/docs/changelog/",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Plaid Inc. (San Francisco) contracts US customers; Plaid Financial Ltd. (London) and Plaid, B.V. (Amsterdam) cover the UK and the EEA.",
          "security.txt lists HackerOne and security@plaid.com and expires 2026-12-31.",
          "rdap.org returned 403 for the domain; the registration date comes from Verisign's RDAP server."
        ],
        "score": 97
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/plaid.json",
      "live": {
        "slug": "plaid",
        "probe": {
          "target": "https://production.plaid.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:18.665062409Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 337,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 344,
          "p95ms24h": 402,
          "samples24h": 271,
          "samples30d": 1955,
          "days": [
            {
              "date": "2026-10-01",
              "probes": 109,
              "ok": 109
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 239,
              "ok": 239
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.plaid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:22.376482337Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "plaid",
            "version": "48.0.0",
            "seenAt": "2026-10-08T16:25:30.345209662Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-plaid",
            "version": "0.1.1",
            "released": "2026-08-10",
            "seenAt": "2026-10-08T16:25:31.323577766Z"
          },
          {
            "registry": "pypi",
            "name": "plaid-python",
            "version": "45.0.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-08T16:25:31.132908141Z"
          }
        ],
        "githubStars": 30,
        "npmWeekly": 1469361,
        "pypiWeekly": 688974,
        "securityTxt": {
          "url": "https://plaid.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-10-08T15:39:02.201293131Z"
        },
        "llmsTxt": {
          "url": "https://plaid.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:45.906696009Z"
        },
        "domain": {
          "domain": "plaid.com",
          "registered": "1995-08-16",
          "source": "https://rdap.verisign.com/com/v1/domain/plaid.com",
          "checkedAt": "2026-10-04T13:09:13.710656054Z"
        },
        "pages": [
          {
            "url": "https://plaid.com/docs/changelog/",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:02.586422213Z",
            "changedAt": "2026-10-08T18:23:02.586422213Z",
            "fingerprint": "3e9653eec20a"
          },
          {
            "url": "https://plaid.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:07.48587411Z",
            "changedAt": "2026-10-06T16:11:29.459778327Z",
            "fingerprint": "15a9f4a4d8fd"
          },
          {
            "url": "https://plaid.com/legal/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:23:05.247201174Z",
            "changedAt": "2026-10-06T16:11:26.544421142Z",
            "fingerprint": "ecb1a91718b4"
          }
        ],
        "updatedAt": "2026-10-08T21:12:18.665062409Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Akoya LLC",
        "b": "Plaid",
        "name": "Vendor"
      },
      {
        "a": "https://products.ddp.akoya.com",
        "b": "https://production.plaid.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Akoya Terms of Use and a signed data access agreement",
        "b": "MIT (SDKs and MCP server)",
        "name": "Licence"
      },
      {
        "a": "none",
        "b": "4",
        "name": "Tools exposed"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-05",
        "b": "2026-09-24",
        "name": "Last release"
      },
      {
        "a": "2024-12-20",
        "b": "2025-12-01",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2025-12-01",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "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": "none",
        "b": "586 stars, 1.3M npm/wk, 657k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3.5/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Plaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category.",
        "question": "Which is better for AI agents, Akoya or Plaid?"
      },
      {
        "answer": "Akoya uses an OAuth sign-in. Plaid takes an API key or an OAuth sign-in.",
        "question": "Do Akoya and Plaid need an API key?"
      },
      {
        "answer": "Yes. Akoya has a hosted endpoint at https://products.ddp.akoya.com and Plaid at https://production.plaid.com.",
        "question": "Can an agent call Akoya and Plaid without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Akoya. Plaid is open source (MIT (SDKs and MCP server)).",
        "question": "Are Akoya and Plaid open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.",
        "slug": "akoya",
        "watchFor": "No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply"
      },
      {
        "aheadOn": [
          "Reliability, 68 against 28",
          "Schema \u0026 documentation, 93 against 70",
          "Agent ergonomics, 82 against 67",
          "Payments \u0026 pricing, 15 against 10",
          "Maintenance \u0026 community, 83 against 33",
          "Transparency \u0026 trust, 79 against 58"
        ],
        "also": [
          "Runs on your own machine",
          "Open source"
        ],
        "goodFor": "US and Canadian account, transaction, identity and income data, with Transfer for payments.",
        "slug": "plaid",
        "watchFor": "No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed"
      }
    ],
    "job": {
      "capability": "bank.accounts",
      "name": "Bank accounts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-belvo.json",
        "title": "Akoya vs Belvo",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-belvo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-enable-banking.json",
        "title": "Akoya vs Enable Banking",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-enable-banking"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-flinks.json",
        "title": "Akoya vs Flinks",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-flinks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data.json",
        "title": "Akoya vs GoCardless Bank Account Data",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-mx.json",
        "title": "Akoya vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-mx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-salt-edge.json",
        "title": "Akoya vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-teller.json",
        "title": "Akoya vs Teller",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-teller"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-tink.json",
        "title": "Akoya vs Tink",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-truelayer.json",
        "title": "Akoya vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-yapily.json",
        "title": "Akoya vs Yapily",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-yapily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/belvo-vs-plaid.json",
        "title": "Belvo vs Plaid",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid.json",
        "title": "Enable Banking vs Plaid",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-plaid.json",
        "title": "Flinks vs Plaid",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid.json",
        "title": "GoCardless Bank Account Data vs Plaid",
        "url": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-plaid.json",
        "title": "MX Platform API vs Plaid",
        "url": "https://www.anchorterminal.com/compare/mx-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge.json",
        "title": "Plaid vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-vs-teller.json",
        "title": "Plaid vs Teller",
        "url": "https://www.anchorterminal.com/compare/plaid-vs-teller"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-vs-tink.json",
        "title": "Plaid vs Tink",
        "url": "https://www.anchorterminal.com/compare/plaid-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-vs-truelayer.json",
        "title": "Plaid vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/plaid-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/plaid-vs-yapily.json",
        "title": "Plaid vs Yapily",
        "url": "https://www.anchorterminal.com/compare/plaid-vs-yapily"
      }
    ],
    "scores": [
      {
        "akoya": 28,
        "by": 40,
        "edge": "plaid",
        "key": "reliability",
        "name": "Reliability",
        "plaid": 68,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "akoya": 70,
        "by": 23,
        "edge": "plaid",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plaid": 93,
        "weight": 13
      },
      {
        "akoya": 67,
        "by": 15,
        "edge": "plaid",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plaid": 82,
        "weight": 13
      },
      {
        "akoya": 64,
        "by": 3,
        "edge": "plaid",
        "key": "security",
        "name": "Security \u0026 auth",
        "plaid": 67,
        "weight": 14
      },
      {
        "akoya": 10,
        "by": 5,
        "edge": "plaid",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plaid": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "akoya": 33,
        "by": 50,
        "edge": "plaid",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plaid": 83,
        "weight": 7
      },
      {
        "akoya": 58,
        "by": 21,
        "edge": "plaid",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plaid": 79,
        "weight": 7
      }
    ],
    "summary": "Plaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category. Both do bank accounts.",
    "verdicts": {
      "akoya": "Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.",
      "plaid": "Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page. No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/akoya-vs-plaid",
    "json": "https://www.anchorterminal.com/compare/akoya-vs-plaid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/akoya-vs-plaid.md",
    "slim": "https://www.anchorterminal.com/compare/akoya-vs-plaid.min.md"
  },
  "markdown": "Plaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category. Both do bank accounts.\n\n- Akoya: grade D, 48.3/100, rank #623 of 722. Markdown https://www.anchorterminal.com/tools/akoya.md · JSON https://www.anchorterminal.com/api/v1/tools/akoya.json\n- Plaid: grade B, 69.8/100, rank #147 of 722. Markdown https://www.anchorterminal.com/tools/plaid.md · JSON https://www.anchorterminal.com/api/v1/tools/plaid.json\n\n## Which one, for what\n\n### Akoya (D)\n\nGood for: A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.\n\nWatch for: No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply\n\n### Plaid (B)\n\nGood for: US and Canadian account, transaction, identity and income data, with Transfer for payments.\n\nAhead on:\n- Reliability, 68 against 28\n- Schema \u0026 documentation, 93 against 70\n- Agent ergonomics, 82 against 67\n- Payments \u0026 pricing, 15 against 10\n- Maintenance \u0026 community, 83 against 33\n- Transparency \u0026 trust, 79 against 58\n\nAlso in its favour:\n- Runs on your own machine\n- Open source\n\nWatch for: No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed\n\n\n## Score by category\n\n| Category | Weight | Akoya | Plaid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 28 | 68 | Plaid +40 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 93 | Plaid +23 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 82 | Plaid +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 67 | Plaid +3 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 15 | Plaid +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 33 | 83 | Plaid +50 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 79 | Plaid +21 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.3 · D** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | Akoya | Plaid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Akoya LLC | Plaid |\n| Hosted endpoint | `https://products.ddp.akoya.com` | `https://production.plaid.com` |\n| Transports | HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | OAuth | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Akoya Terms of Use and a signed data access agreement | MIT (SDKs and MCP server) |\n| Tools exposed | none | 4 |\n| Read-only variant documented | yes | no |\n| llms.txt | no | yes |\n| Last release | 2026-08-05 | 2026-09-24 |\n| Terms last updated | 2024-12-20 | 2025-12-01 |\n| Privacy policy last updated | no date given | 2025-12-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n| Popularity | none | 586 stars, 1.3M npm/wk, 657k PyPI/wk |\n| Agent reviews | none | 3.5/5 (2) |\n\n## Verdicts\n\n**Akoya.** Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.\n\n**Plaid.** Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page. No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed.\n\n## Before you call either\n\n### Akoya\n\n1. Send `x-akoya-interaction-type` (USER or BATCH) and `x-akoya-last-access` on every v3 data call, plus `x-akoya-intent-type` if the app subscribes to Payments\n2. Use the `id_token` as the bearer token. The `/token` response has no `access_token` field, so generic OAuth libraries need adjusting\n3. Treat ID tokens as valid for 15 minutes, refresh on error 602, and store the new refresh token returned by every refresh\n4. Page transactions by following `links.next.href` unchanged. Set `limit`, `startTime` and `endTime` on the first call only\n5. On 429 with code 1207 slow the request rate. On 5xx retry up to three times with exponential backoff\n\n### Plaid\n\n1. Point calls at https://sandbox.plaid.com until you hold a Production secret; request shapes are the same\n2. Create a sandbox Item with /sandbox/public_token/create and ins_109508, then /item/public_token/exchange, no Link UI needed\n3. Use /transactions/sync with its cursor and back off on 429 RATE_LIMIT_EXCEEDED yourself, since no Retry-After comes back\n4. Call /item/remove when the user is done, or subscription products keep billing\n5. Send an idempotency_key on `/transfer/authorization/create` so a retried request can't authorise twice\n\n## Questions\n\n### Which is better for AI agents, Akoya or Plaid?\n\nPlaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category.\n\n### Do Akoya and Plaid need an API key?\n\nAkoya uses an OAuth sign-in. Plaid takes an API key or an OAuth sign-in.\n\n### Can an agent call Akoya and Plaid without installing anything?\n\nYes. Akoya has a hosted endpoint at https://products.ddp.akoya.com and Plaid at https://production.plaid.com.\n\n### Are Akoya and Plaid open source?\n\nNo open-source release is listed for Akoya. Plaid is open source (MIT (SDKs and MCP server)).\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/akoya-vs-plaid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/akoya-vs-plaid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"akoya\", \"b\": \"plaid\"}`. From a terminal: `anchor compare akoya plaid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/akoya.json and https://www.anchorterminal.com/api/v1/tools/plaid.json\n\n## Other comparisons with Akoya or Plaid\n\n- [Akoya vs Belvo](https://www.anchorterminal.com/compare/akoya-vs-belvo.md)\n- [Akoya vs Enable Banking](https://www.anchorterminal.com/compare/akoya-vs-enable-banking.md)\n- [Akoya vs Flinks](https://www.anchorterminal.com/compare/akoya-vs-flinks.md)\n- [Akoya vs GoCardless Bank Account Data](https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data.md)\n- [Akoya vs MX Platform API](https://www.anchorterminal.com/compare/akoya-vs-mx.md)\n- [Akoya vs Salt Edge Account Information](https://www.anchorterminal.com/compare/akoya-vs-salt-edge.md)\n- [Akoya vs Teller](https://www.anchorterminal.com/compare/akoya-vs-teller.md)\n- [Akoya vs Tink](https://www.anchorterminal.com/compare/akoya-vs-tink.md)\n- [Akoya vs TrueLayer](https://www.anchorterminal.com/compare/akoya-vs-truelayer.md)\n- [Akoya vs Yapily](https://www.anchorterminal.com/compare/akoya-vs-yapily.md)\n- [Belvo vs Plaid](https://www.anchorterminal.com/compare/belvo-vs-plaid.md)\n- [Enable Banking vs Plaid](https://www.anchorterminal.com/compare/enable-banking-vs-plaid.md)\n- [Flinks vs Plaid](https://www.anchorterminal.com/compare/flinks-vs-plaid.md)\n- [GoCardless Bank Account Data vs Plaid](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid.md)\n- [MX Platform API vs Plaid](https://www.anchorterminal.com/compare/mx-vs-plaid.md)\n- [Plaid vs Salt Edge Account Information](https://www.anchorterminal.com/compare/plaid-vs-salt-edge.md)\n- [Plaid vs Teller](https://www.anchorterminal.com/compare/plaid-vs-teller.md)\n- [Plaid vs Tink](https://www.anchorterminal.com/compare/plaid-vs-tink.md)\n- [Plaid vs TrueLayer](https://www.anchorterminal.com/compare/plaid-vs-truelayer.md)\n- [Plaid vs Yapily](https://www.anchorterminal.com/compare/plaid-vs-yapily.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-08",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "Akoya vs Plaid",
        "url": ""
      }
    ],
    "description": "Plaid scores 69.8 (B) on agent readiness against Akoya's 48.3 (D), and leads in every scored category. Both do bank accounts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Akoya D 48.3",
      "Plaid B 69.8",
      "scores"
    ],
    "h1": "Akoya vs Plaid",
    "image": "https://www.anchorterminal.com/assets/og/compare-akoya-vs-plaid.png",
    "path": "/compare/akoya-vs-plaid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Akoya vs Plaid for AI agents, D 48.3 vs B 69.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/akoya-vs-plaid"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
