{
  "data": {
    "a": {
      "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-08T19:52:59.060033465Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 334,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 344,
          "p95ms24h": 416,
          "samples24h": 272,
          "samples30d": 1941,
          "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": 225,
              "ok": 225
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.plaid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:50:58.704023935Z"
        },
        "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-08T19:52:59.060033465Z"
      }
    },
    "answer": "Plaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust.",
    "b": {
      "slug": "tink",
      "name": "Tink",
      "vendor": "Tink AB (Visa)",
      "vendorUrl": "https://tink.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Tink is a European open banking platform owned by Visa. Its REST API and hosted Tink Link flow read accounts, balances and transactions with the account holder's consent, and start bank payments.",
      "url": "https://www.anchorterminal.com/tools/tink",
      "markdownUrl": "https://www.anchorterminal.com/tools/tink.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/tink.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/tink.json",
      "repo": "https://github.com/tink-ab/tink-link-ios",
      "license": "Proprietary service under Tink's Master Service Agreement. The Tink Link SDKs for iOS and Android on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.tink.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 with a `client_id` and `client_secret` from the Tink Console, sent in the POST body to https://api.tink.com/api/v1/oauth/token. A client token lasts 30 minutes and carries only the scopes requested. Data calls need a user token, valid two hours, obtained through an authorisation grant for a Tink user or from the code Tink Link returns after bank consent. Mutual TLS is accepted as an alternative client authentication method. Console signup is self-serve for the sandbox. Live access is by sales contract, with customer due diligence when Tink's own licence is used.",
      "pricing": "paid",
      "pricingNotes": "No public prices. The pricing page lists Standard as Contact us and Enterprise as Custom pricing, and says listed prices apply only to existing customers (https://tink.com/pricing/, checked 2026-10-08). The FAQ says there is no pay-per-use option and that a free Console account gives test data in a sandbox (https://tink.com/faq/). No card is mentioned for signup. Fees are set in an order form and billed monthly in arrears under the MSA.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the API reference introduction 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.tink.com",
      "llmsTxt": "https://docs.tink.com/llms.txt",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.consent",
        "bank.payments",
        "bank.identity"
      ],
      "tags": [
        "hosted",
        "oauth",
        "llms-txt",
        "webhooks",
        "sandbox",
        "eu",
        "uk",
        "enterprise",
        "sales-led",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.5,
        "grade": "B",
        "agentReady": false,
        "rank": 337,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 4,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 69,
          "payments": 10,
          "reliability": 62,
          "schema": 73,
          "security": 63,
          "transparency": 90
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "OAuth client credentials with per-endpoint scopes, token-paged data endpoints and a published MSA, DPA, SLA and sub-processor list. No price is public, live access needs a sales contract, and the API reference has no downloadable spec or published rate-limit numbers.",
        "bestFor": "A company with a contract that needs account, balance and transaction data or bank payments across European markets under Tink's own licences.",
        "strengths": [
          "OAuth 2.0 client credentials with named scopes per endpoint, 30-minute client tokens and two-hour user tokens",
          "Master Service Agreement, DPA, four SLA documents and a sub-processor list with processing locations are public PDFs",
          "Data v2 list endpoints page with `pageSize` and `pageToken`, with date, account and status filters on transactions",
          "Changelog with 367 dated entries, three of them in the 90 days to 8 October 2026",
          "Free Console account with a Demo Bank covering test users in 18 countries"
        ],
        "weaknesses": [
          "No public prices. The pricing page lists Standard as Contact us and Enterprise as Custom pricing, and the FAQ says there is no pay-per-use option",
          "The API reference is a JavaScript app with the Swagger definitions inside its bundle. No downloadable spec was found",
          "Rate limits are per app with no published numbers, and a 429 carries no documented Retry-After",
          "A critical incident on 16 July 2026 stopped authentication, consent, account data and payment flows in all European markets for 62 minutes",
          "security.txt has a Policy line pointing to Visa's disclosure page and no Contact or Expires field"
        ],
        "agentNotes": [
          "Request a client token at https://api.tink.com/api/v1/oauth/token, create a user, request an authorisation grant for that user, then exchange the code for a user token.",
          "Renew tokens on a timer. Client tokens last 30 minutes and user tokens two hours, and the client credentials flow returns no refresh token.",
          "Send the account holder through Tink Link in a browser. Bank consent cannot be completed by API calls alone.",
          "Read transactions from /data/v2/transactions with `pageSize` up to 100 and follow `nextPageToken`.",
          "Send an Idempotency-Key header on consent and payment writes. Keys are kept for 24 hours."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.5
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 69,
          "payments": 10,
          "reliability": 62,
          "schema": 73,
          "security": 63,
          "transparency": 79
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl -X POST https://api.tink.com/api/v1/oauth/token \\\n  -d \"client_id=$TINK_CLIENT_ID\" \\\n  -d \"client_secret=$TINK_CLIENT_SECRET\" \\\n  -d \"grant_type=client_credentials\" \\\n  -d \"scope=authorization:grant,user:create\""
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/tink"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Tink AB",
        "domain": "tink.com",
        "domainRegistered": "1993-03-18",
        "endpointOnVendorDomain": true,
        "terms": "https://assets.ctfassets.net/c78bhj3obgck/4rs258WTPok62q9qrmFE1o/b68d1bcc13b5c118503ecffc8647a7d8/Tink_Master_Service_Agreement_2025-12-09.pdf",
        "privacy": "https://cdn.tink.se/legal/privacy-policy/en_UK/privacy-policy-en_UK-2601.pdf",
        "statusPage": "https://status.tink.com",
        "changelog": "https://docs.tink.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The Master Service Agreement (version 2025-12-09) names Tink AB, corporate registration number 556898-2192, Regeringsgatan 38, 111 56 Stockholm, and is governed by Swedish law. The legal FAQ says all customer use is governed by it.",
          "The legal FAQ lists Tink AB as a payment institution under the Swedish Financial Supervisory Authority (SFSA ID 44059), Tink Germany GmbH under BaFin (10152149) and Tink Financial Services Limited under the UK FCA (FRN 988456). Tink is a Visa company.",
          "The privacy link is the Visa Open Banking Privacy Notice for End-Users, effective 8 January 2026, which covers the bank data read through the product. A separate General Privacy Notice (effective 8 April 2025) covers website visitors and business contacts, and customer data is governed by the DPA of 1 October 2025.",
          "tink.com/.well-known/security.txt has a Canonical line and a Policy line pointing to Visa's vulnerability disclosure page, with no Contact or Expires field, both of which RFC 9116 requires. It is recorded as valid because the file is served, as with other listings whose file lacks Expires.",
          "The API answers at api.tink.com and Tink Link at link.tink.com. Legal PDFs are served from assets.ctfassets.net and cdn.tink.se.",
          "The changelog at docs.tink.com/changelog renders in JavaScript. We read its entries from the content feed the page itself requests. Verisign RDAP gives the domain registration date and MarkMonitor as registrar."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/tink.json",
      "live": {
        "slug": "tink",
        "probe": {
          "target": "https://api.tink.com",
          "method": "get",
          "lastAt": "2026-10-08T19:53:04.130514218Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 61,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 54,
          "p95ms24h": 116,
          "samples24h": 27,
          "samples30d": 27,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 27,
              "ok": 27
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.tink.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T19:51:05.556142173Z"
        },
        "pages": [
          {
            "url": "https://docs.tink.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:36.318263547Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://tink.com/pricing/",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:14.991772397Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b875e338cc34"
          }
        ],
        "updatedAt": "2026-10-08T19:53:04.130514218Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Plaid",
        "b": "Tink AB (Visa)",
        "name": "Vendor"
      },
      {
        "a": "https://production.plaid.com",
        "b": "https://api.tink.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, stdio, Streamable HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs and MCP server)",
        "b": "Proprietary service under Tink's Master Service Agreement. The Tink Link SDKs for iOS and Android on GitHub are MIT",
        "name": "Licence"
      },
      {
        "a": "4",
        "b": "none",
        "name": "Tools exposed"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-24",
        "b": "2026-09-15",
        "name": "Last release"
      },
      {
        "a": "2025-12-01",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2025-12-01",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "586 stars, 1.3M npm/wk, 657k PyPI/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Plaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust.",
        "question": "Which is better for AI agents, Plaid or Tink?"
      },
      {
        "answer": "Plaid takes an API key or an OAuth sign-in. Tink uses an OAuth sign-in.",
        "question": "Do Plaid and Tink need an API key?"
      },
      {
        "answer": "Yes. Plaid has a hosted endpoint at https://production.plaid.com and Tink at https://api.tink.com.",
        "question": "Can an agent call Plaid and Tink without installing anything?"
      },
      {
        "answer": "Plaid is open source (MIT (SDKs and MCP server)). No open-source release is listed for Tink.",
        "question": "Are Plaid and Tink open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 68 against 62",
          "Schema \u0026 documentation, 93 against 73",
          "Agent ergonomics, 82 against 74",
          "Payments \u0026 pricing, 15 against 10",
          "Maintenance \u0026 community, 83 against 69"
        ],
        "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"
      },
      {
        "aheadOn": [
          "Transparency \u0026 trust, 90 against 79"
        ],
        "also": null,
        "goodFor": "A company with a contract that needs account, balance and transaction data or bank payments across European markets under Tink's own licences.",
        "slug": "tink",
        "watchFor": "No public prices. The pricing page lists Standard as Contact us and Enterprise as Custom pricing, and the FAQ says there is no pay-per-use option"
      }
    ],
    "job": {
      "capability": "bank.accounts",
      "name": "Bank accounts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-plaid.json",
        "title": "Akoya vs Plaid",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-plaid"
      },
      {
        "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/belvo-vs-plaid.json",
        "title": "Belvo vs Plaid",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/belvo-vs-tink.json",
        "title": "Belvo vs Tink",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-tink"
      },
      {
        "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/enable-banking-vs-tink.json",
        "title": "Enable Banking vs Tink",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-tink"
      },
      {
        "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/flinks-vs-tink.json",
        "title": "Flinks vs Tink",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-tink"
      },
      {
        "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/gocardless-bank-account-data-vs-tink.json",
        "title": "GoCardless Bank Account Data vs Tink",
        "url": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-tink"
      },
      {
        "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/mx-vs-tink.json",
        "title": "MX Platform API vs Tink",
        "url": "https://www.anchorterminal.com/compare/mx-vs-tink"
      },
      {
        "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-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"
      },
      {
        "json": "https://www.anchorterminal.com/compare/salt-edge-vs-tink.json",
        "title": "Salt Edge Account Information vs Tink",
        "url": "https://www.anchorterminal.com/compare/salt-edge-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/teller-vs-tink.json",
        "title": "Teller vs Tink",
        "url": "https://www.anchorterminal.com/compare/teller-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tink-vs-truelayer.json",
        "title": "Tink vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/tink-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/tink-vs-yapily.json",
        "title": "Tink vs Yapily",
        "url": "https://www.anchorterminal.com/compare/tink-vs-yapily"
      }
    ],
    "scores": [
      {
        "by": 6,
        "edge": "plaid",
        "key": "reliability",
        "name": "Reliability",
        "plaid": 68,
        "tink": 62,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 20,
        "edge": "plaid",
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plaid": 93,
        "tink": 73,
        "weight": 13
      },
      {
        "by": 8,
        "edge": "plaid",
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plaid": 82,
        "tink": 74,
        "weight": 13
      },
      {
        "by": 4,
        "edge": "plaid",
        "key": "security",
        "name": "Security \u0026 auth",
        "plaid": 67,
        "tink": 63,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "plaid",
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plaid": 15,
        "tink": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 14,
        "edge": "plaid",
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plaid": 83,
        "tink": 69,
        "weight": 7
      },
      {
        "by": 11,
        "edge": "tink",
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plaid": 79,
        "tink": 90,
        "weight": 7
      }
    ],
    "summary": "Plaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust. Both do bank accounts.",
    "verdicts": {
      "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.",
      "tink": "OAuth client credentials with per-endpoint scopes, token-paged data endpoints and a published MSA, DPA, SLA and sub-processor list. No price is public, live access needs a sales contract, and the API reference has no downloadable spec or published rate-limit numbers."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/plaid-vs-tink",
    "json": "https://www.anchorterminal.com/compare/plaid-vs-tink.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/plaid-vs-tink.md",
    "slim": "https://www.anchorterminal.com/compare/plaid-vs-tink.min.md"
  },
  "markdown": "Plaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust. Both do bank accounts.\n\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- Tink: grade B, 62.5/100, rank #337 of 722. Markdown https://www.anchorterminal.com/tools/tink.md · JSON https://www.anchorterminal.com/api/v1/tools/tink.json\n\n## Which one, for what\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 62\n- Schema \u0026 documentation, 93 against 73\n- Agent ergonomics, 82 against 74\n- Payments \u0026 pricing, 15 against 10\n- Maintenance \u0026 community, 83 against 69\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### Tink (B)\n\nGood for: A company with a contract that needs account, balance and transaction data or bank payments across European markets under Tink's own licences.\n\nAhead on:\n- Transparency \u0026 trust, 90 against 79\n\nWatch for: No public prices. The pricing page lists Standard as Contact us and Enterprise as Custom pricing, and the FAQ says there is no pay-per-use option\n\n\n## Score by category\n\n| Category | Weight | Plaid | Tink | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 62 | Plaid +6 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 93 | 73 | Plaid +20 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 74 | Plaid +8 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 63 | Plaid +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 10 | Plaid +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 69 | Plaid +14 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 79 | 90 | Tink +11 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **69.8 · B** | **62.5 · B** | |\n\n## Facts side by side\n\n| Fact | Plaid | Tink |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Plaid | Tink AB (Visa) |\n| Hosted endpoint | `https://production.plaid.com` | `https://api.tink.com` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP |\n| Auth | OAuth or key | OAuth |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | MIT (SDKs and MCP server) | Proprietary service under Tink's Master Service Agreement. The Tink Link SDKs for iOS and Android on GitHub are MIT |\n| Tools exposed | 4 | none |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-24 | 2026-09-15 |\n| Terms last updated | 2025-12-01 |  |\n| Privacy policy last updated | 2025-12-01 |  |\n| Customer content may train models | not found in the text |  |\n| Terms restrict automated access | not found in the text |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | not found in the text |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 586 stars, 1.3M npm/wk, 657k PyPI/wk | none |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\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**Tink.** OAuth client credentials with per-endpoint scopes, token-paged data endpoints and a published MSA, DPA, SLA and sub-processor list. No price is public, live access needs a sales contract, and the API reference has no downloadable spec or published rate-limit numbers.\n\n## Before you call either\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### Tink\n\n1. Request a client token at https://api.tink.com/api/v1/oauth/token, create a user, request an authorisation grant for that user, then exchange the code for a user token.\n2. Renew tokens on a timer. Client tokens last 30 minutes and user tokens two hours, and the client credentials flow returns no refresh token.\n3. Send the account holder through Tink Link in a browser. Bank consent cannot be completed by API calls alone.\n4. Read transactions from /data/v2/transactions with `pageSize` up to 100 and follow `nextPageToken`.\n5. Send an Idempotency-Key header on consent and payment writes. Keys are kept for 24 hours.\n\n## Questions\n\n### Which is better for AI agents, Plaid or Tink?\n\nPlaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust.\n\n### Do Plaid and Tink need an API key?\n\nPlaid takes an API key or an OAuth sign-in. Tink uses an OAuth sign-in.\n\n### Can an agent call Plaid and Tink without installing anything?\n\nYes. Plaid has a hosted endpoint at https://production.plaid.com and Tink at https://api.tink.com.\n\n### Are Plaid and Tink open source?\n\nPlaid is open source (MIT (SDKs and MCP server)). No open-source release is listed for Tink.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/plaid-vs-tink.json, and with the fewest tokens: https://www.anchorterminal.com/compare/plaid-vs-tink.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"plaid\", \"b\": \"tink\"}`. From a terminal: `anchor compare plaid tink`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/plaid.json and https://www.anchorterminal.com/api/v1/tools/tink.json\n\n## Other comparisons with Plaid or Tink\n\n- [Akoya vs Plaid](https://www.anchorterminal.com/compare/akoya-vs-plaid.md)\n- [Akoya vs Tink](https://www.anchorterminal.com/compare/akoya-vs-tink.md)\n- [Belvo vs Plaid](https://www.anchorterminal.com/compare/belvo-vs-plaid.md)\n- [Belvo vs Tink](https://www.anchorterminal.com/compare/belvo-vs-tink.md)\n- [Enable Banking vs Plaid](https://www.anchorterminal.com/compare/enable-banking-vs-plaid.md)\n- [Enable Banking vs Tink](https://www.anchorterminal.com/compare/enable-banking-vs-tink.md)\n- [Flinks vs Plaid](https://www.anchorterminal.com/compare/flinks-vs-plaid.md)\n- [Flinks vs Tink](https://www.anchorterminal.com/compare/flinks-vs-tink.md)\n- [GoCardless Bank Account Data vs Plaid](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid.md)\n- [GoCardless Bank Account Data vs Tink](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-tink.md)\n- [MX Platform API vs Plaid](https://www.anchorterminal.com/compare/mx-vs-plaid.md)\n- [MX Platform API vs Tink](https://www.anchorterminal.com/compare/mx-vs-tink.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 TrueLayer](https://www.anchorterminal.com/compare/plaid-vs-truelayer.md)\n- [Plaid vs Yapily](https://www.anchorterminal.com/compare/plaid-vs-yapily.md)\n- [Salt Edge Account Information vs Tink](https://www.anchorterminal.com/compare/salt-edge-vs-tink.md)\n- [Teller vs Tink](https://www.anchorterminal.com/compare/teller-vs-tink.md)\n- [Tink vs TrueLayer](https://www.anchorterminal.com/compare/tink-vs-truelayer.md)\n- [Tink vs Yapily](https://www.anchorterminal.com/compare/tink-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": "Plaid vs Tink",
        "url": ""
      }
    ],
    "description": "Plaid scores 69.8 (B) on agent readiness against Tink's 62.5 (B), and leads in 6 of 7 scored categories. Tink leads on transparency \u0026 trust. Both do bank accounts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Plaid B 69.8",
      "Tink B 62.5",
      "scores"
    ],
    "h1": "Plaid vs Tink",
    "image": "https://www.anchorterminal.com/assets/og/compare-plaid-vs-tink.png",
    "path": "/compare/plaid-vs-tink",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Plaid vs Tink for AI agents, B 69.8 vs B 62.5 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/plaid-vs-tink"
  },
  "tokens": {
    "markdown": 2150,
    "slim": 680
  },
  "version": 1
}
