{
  "data": {
    "a": {
      "slug": "flinks",
      "name": "Flinks",
      "vendor": "Flinks Technology Inc. (National Bank of Canada)",
      "vendorUrl": "https://www.flinks.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Flinks is a Canadian bank-data aggregator owned by National Bank of Canada. Its REST API and Flinks Connect widget read accounts, balances, transactions and holder details from Canadian and US institutions with the holder's consent, and start Canadian bank payments.",
      "url": "https://www.anchorterminal.com/tools/flinks",
      "markdownUrl": "https://www.anchorterminal.com/tools/flinks.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/flinks.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flinks.json",
      "license": "Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "Two static keys issued by Flinks at onboarding. The secret key goes in the `flinks-auth-key` header of `/GenerateAuthorizeToken` and returns a single-use authorise token that expires after 15 minutes. Data endpoints take the `requestId` from `/Authorize` plus an `x-api-key` header. Neither key expires, and no scopes were found. Webhooks are signed with HMAC-SHA256 in a `flinks-authenticity-key` header. Flinks Outbound, the open banking product, uses an OAuth 2.0 authorisation code flow with a `client_id` and `client_secret` and Bearer tokens. Sandbox keys for the shared Toolbox instance are published in the docs. Production keys come from a Flinks representative after a contract.",
      "pricing": "paid",
      "pricingNotes": "Plans with a monthly minimum and a one-year term (https://www.flinks.com/pricing, checked 2026-10-08). Connect is $500 a month for 200 unique connections, $1,250 for 1,100, and custom from 20,000. Enrich is $250 a month for 100 API calls and $1,100 for 1,250. Upload is $500 a month for 20 documents and $1,500 for 100. Flinks Pay is quoted by sales. The page does not state the currency or the overage rates, and says there is no pay-as-you-go plan and no self-serve trial. The Toolbox sandbox is free, with keys published in the docs and no card.",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the ten OpenAPI files 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.flinks.com",
      "llmsTxt": "https://docs.flinks.com/llms.txt",
      "openapi": "https://docs.flinks.com/openapi.yaml",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "canada",
        "us",
        "enterprise",
        "sales-led",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.7,
        "grade": "D",
        "agentReady": false,
        "rank": 559,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 25,
          "reliability": 53,
          "schema": 83,
          "security": 50,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days.",
        "bestFor": "A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.",
        "strengths": [
          "Ten OpenAPI 3.0 files are public at docs.flinks.com, 85 operations in all, with the main Connect and Enrich file holding 34",
          "Shared sandbox keys for the Toolbox instance are published in the docs, so test calls need no account",
          "llms.txt lists 216 pages with Markdown twins, and the docs add a skill file and a read-only documentation MCP server",
          "Plan prices are public. Connect starts at $500 a month for 200 unique connections, with no integration or platform fee",
          "Each instance is hosted in the country it serves, Canada or the US, and `/DeleteCard` deletes all data held for a connection"
        ],
        "weaknesses": [
          "Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial",
          "The secret key, `x-api-key` and HMAC secret do not expire, and no scopes or rotation steps were found for the Connect API",
          "No rate-limit numbers are published, and `TOO_MANY_REQUESTS` is documented under HTTP 401 with no Retry-After",
          "status.flinks.com lists 77 incidents in the 90 days to 8 October 2026, 16 of them on Flinks' own components",
          "`/GetAccountsDetail` returns the whole 90 or 365 days of transactions in one payload with no pagination, and no official SDK was found"
        ],
        "agentNotes": [
          "Call `/GenerateAuthorizeToken` with the secret key in `flinks-auth-key`, then pass the returned token to the Connect iframe or to `/Authorize`. The token is single-use and expires after 15 minutes.",
          "Send the account holder through Flinks Connect in a browser. The API alone cannot complete a first bank login, and sandbox iframes need `demo=true`.",
          "Store the `loginId`. Call `/Authorize` with it and `MostRecentCached: true` for a new `requestId` each session, because `/GetAccountsDetail` consumes the `requestId`.",
          "On a 202 from `/GetAccountsDetail`, poll `/GetAccountsDetailAsync` every 10 seconds for at most 30 minutes, or ask support to enable webhooks.",
          "Route each end user to the instance for their country. A `loginId` from the Canadian instance is not valid on the US one."
        ],
        "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": 52.7
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 25,
          "reliability": 53,
          "schema": 83,
          "security": 50,
          "transparency": 48
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl --request POST \\\n  --url https://toolbox-api.private.fin.ag/v3/{customerId}/BankingServices/GenerateAuthorizeToken \\\n  --header 'Content-Type: application/json' \\\n  --header 'flinks-auth-key: YOUR_SECRET_KEY'",
        "claudeCode": "claude mcp add flinks --transport http https://docs.flinks.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/flinks"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Flinks Technology Inc.",
        "domain": "flinks.com",
        "domainRegistered": "1997-06-03",
        "endpointOnVendorDomain": false,
        "terms": "https://www.flinks.com/terms-and-conditions",
        "privacy": "https://www.flinks.com/privacy-policy",
        "statusPage": "https://status.flinks.com",
        "changelog": "https://docs.flinks.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms link is the Master Terms and Conditions, last updated 3 August 2023, which govern use of the Flinks technology under an order form and name Flinks Technology Inc. Service schedules for connectivity, enrichment and upload are separate pages on flinks.com.",
          "The privacy link holds the General Privacy Statement (22 September 2022) and the Services Privacy Statement (19 April 2024) on one page. The Services statement covers bank data read through the product and names National Bank of Canada as Flinks' parent company.",
          "API calls go to https://{instance}-api.private.fin.ag and the widget to https://{instance}-iframe.private.fin.ag. Flinks Outbound answers at ob.flinksapp.com. Neither is under flinks.com, so the endpoint is recorded as off the vendor's domain. We did not confirm the registrant of fin.ag.",
          "flinks.com/.well-known/security.txt, www.flinks.com/.well-known/security.txt and docs.flinks.com/.well-known/security.txt return 404. The security page gives security@flinks.com for vulnerability reports.",
          "status.flinks.com runs on incident.io. changelog.flinks.com redirects to docs.flinks.com/changelog.",
          "Verisign RDAP gives 1997-06-03 as the registration date of flinks.com and GoDaddy.com, LLC as registrar. No street address for the company was found on the pages read."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/flinks.json",
      "live": {
        "slug": "flinks",
        "vendorStatus": {
          "page": "https://status.flinks.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:05.492387918Z"
        },
        "updatedAt": "2026-10-08T21:06:05.492387918Z"
      }
    },
    "answer": "Plaid scores 69.8 (B) on agent readiness against Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing.",
    "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": "Flinks Technology Inc. (National Bank of Canada)",
        "b": "Plaid",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://production.plaid.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP, stdio, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found",
        "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": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-01",
        "b": "2026-09-24",
        "name": "Last release"
      },
      {
        "a": "2023-08-03",
        "b": "2025-12-01",
        "name": "Terms last updated"
      },
      {
        "a": "2022-09-22",
        "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": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "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 Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing.",
        "question": "Which is better for AI agents, Flinks or Plaid?"
      },
      {
        "answer": "Flinks needs an API key. Plaid takes an API key or an OAuth sign-in.",
        "question": "Do Flinks and Plaid need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Flinks. Plaid has a hosted endpoint at https://production.plaid.com.",
        "question": "Can an agent call Flinks and Plaid without installing anything?"
      },
      {
        "answer": "No open-source release is listed for Flinks. Plaid is open source (MIT (SDKs and MCP server)).",
        "question": "Are Flinks and Plaid open source?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 25 against 15"
        ],
        "also": null,
        "goodFor": "A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.",
        "slug": "flinks",
        "watchFor": "Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial"
      },
      {
        "aheadOn": [
          "Reliability, 68 against 53",
          "Schema \u0026 documentation, 93 against 83",
          "Agent ergonomics, 82 against 54",
          "Security \u0026 auth, 67 against 50",
          "Maintenance \u0026 community, 83 against 31",
          "Transparency \u0026 trust, 79 against 60"
        ],
        "also": [
          "A hosted endpoint, with nothing to install",
          "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-flinks.json",
        "title": "Akoya vs Flinks",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-flinks"
      },
      {
        "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/belvo-vs-flinks.json",
        "title": "Belvo vs Flinks",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-flinks"
      },
      {
        "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-flinks.json",
        "title": "Enable Banking vs Flinks",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-flinks"
      },
      {
        "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-gocardless-bank-account-data.json",
        "title": "Flinks vs GoCardless Bank Account Data",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-gocardless-bank-account-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-mx.json",
        "title": "Flinks vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-mx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-salt-edge.json",
        "title": "Flinks vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-teller.json",
        "title": "Flinks vs Teller",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-teller"
      },
      {
        "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/flinks-vs-truelayer.json",
        "title": "Flinks vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-yapily.json",
        "title": "Flinks vs Yapily",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-yapily"
      },
      {
        "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": [
      {
        "by": 15,
        "edge": "plaid",
        "flinks": 53,
        "key": "reliability",
        "name": "Reliability",
        "plaid": 68,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "plaid",
        "flinks": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "plaid": 93,
        "weight": 13
      },
      {
        "by": 28,
        "edge": "plaid",
        "flinks": 54,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "plaid": 82,
        "weight": 13
      },
      {
        "by": 17,
        "edge": "plaid",
        "flinks": 50,
        "key": "security",
        "name": "Security \u0026 auth",
        "plaid": 67,
        "weight": 14
      },
      {
        "by": 10,
        "edge": "flinks",
        "flinks": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "plaid": 15,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 52,
        "edge": "plaid",
        "flinks": 31,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "plaid": 83,
        "weight": 7
      },
      {
        "by": 19,
        "edge": "plaid",
        "flinks": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "plaid": 79,
        "weight": 7
      }
    ],
    "summary": "Plaid scores 69.8 (B) on agent readiness against Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing. Both do bank accounts.",
    "verdicts": {
      "flinks": "Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days.",
      "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/flinks-vs-plaid",
    "json": "https://www.anchorterminal.com/compare/flinks-vs-plaid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/flinks-vs-plaid.md",
    "slim": "https://www.anchorterminal.com/compare/flinks-vs-plaid.min.md"
  },
  "markdown": "Plaid scores 69.8 (B) on agent readiness against Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing. Both do bank accounts.\n\n- Flinks: grade D, 52.7/100, rank #559 of 722. Markdown https://www.anchorterminal.com/tools/flinks.md · JSON https://www.anchorterminal.com/api/v1/tools/flinks.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### Flinks (D)\n\nGood for: A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.\n\nAhead on:\n- Payments \u0026 pricing, 25 against 15\n\nWatch for: Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial\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 53\n- Schema \u0026 documentation, 93 against 83\n- Agent ergonomics, 82 against 54\n- Security \u0026 auth, 67 against 50\n- Maintenance \u0026 community, 83 against 31\n- Transparency \u0026 trust, 79 against 60\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\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 | Flinks | Plaid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 68 | Plaid +15 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 93 | Plaid +10 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 82 | Plaid +28 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 67 | Plaid +17 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 15 | Flinks +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 31 | 83 | Plaid +52 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 79 | Plaid +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.7 · D** | **69.8 · B** | |\n\n## Facts side by side\n\n| Fact | Flinks | Plaid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Flinks Technology Inc. (National Bank of Canada) | Plaid |\n| Hosted endpoint | no (local only) | `https://production.plaid.com` |\n| Transports | HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | API key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found | MIT (SDKs and MCP server) |\n| Tools exposed | none | 4 |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-01 | 2026-09-24 |\n| Terms last updated | 2023-08-03 | 2025-12-01 |\n| Privacy policy last updated | 2022-09-22 | 2025-12-01 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | 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**Flinks.** Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days.\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### Flinks\n\n1. Call `/GenerateAuthorizeToken` with the secret key in `flinks-auth-key`, then pass the returned token to the Connect iframe or to `/Authorize`. The token is single-use and expires after 15 minutes.\n2. Send the account holder through Flinks Connect in a browser. The API alone cannot complete a first bank login, and sandbox iframes need `demo=true`.\n3. Store the `loginId`. Call `/Authorize` with it and `MostRecentCached: true` for a new `requestId` each session, because `/GetAccountsDetail` consumes the `requestId`.\n4. On a 202 from `/GetAccountsDetail`, poll `/GetAccountsDetailAsync` every 10 seconds for at most 30 minutes, or ask support to enable webhooks.\n5. Route each end user to the instance for their country. A `loginId` from the Canadian instance is not valid on the US one.\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, Flinks or Plaid?\n\nPlaid scores 69.8 (B) on agent readiness against Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing.\n\n### Do Flinks and Plaid need an API key?\n\nFlinks needs an API key. Plaid takes an API key or an OAuth sign-in.\n\n### Can an agent call Flinks and Plaid without installing anything?\n\nNo hosted endpoint is listed for Flinks. Plaid has a hosted endpoint at https://production.plaid.com.\n\n### Are Flinks and Plaid open source?\n\nNo open-source release is listed for Flinks. 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/flinks-vs-plaid.json, and with the fewest tokens: https://www.anchorterminal.com/compare/flinks-vs-plaid.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"flinks\", \"b\": \"plaid\"}`. From a terminal: `anchor compare flinks plaid`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/flinks.json and https://www.anchorterminal.com/api/v1/tools/plaid.json\n\n## Other comparisons with Flinks or Plaid\n\n- [Akoya vs Flinks](https://www.anchorterminal.com/compare/akoya-vs-flinks.md)\n- [Akoya vs Plaid](https://www.anchorterminal.com/compare/akoya-vs-plaid.md)\n- [Belvo vs Flinks](https://www.anchorterminal.com/compare/belvo-vs-flinks.md)\n- [Belvo vs Plaid](https://www.anchorterminal.com/compare/belvo-vs-plaid.md)\n- [Enable Banking vs Flinks](https://www.anchorterminal.com/compare/enable-banking-vs-flinks.md)\n- [Enable Banking vs Plaid](https://www.anchorterminal.com/compare/enable-banking-vs-plaid.md)\n- [Flinks vs GoCardless Bank Account Data](https://www.anchorterminal.com/compare/flinks-vs-gocardless-bank-account-data.md)\n- [Flinks vs MX Platform API](https://www.anchorterminal.com/compare/flinks-vs-mx.md)\n- [Flinks vs Salt Edge Account Information](https://www.anchorterminal.com/compare/flinks-vs-salt-edge.md)\n- [Flinks vs Teller](https://www.anchorterminal.com/compare/flinks-vs-teller.md)\n- [Flinks vs Tink](https://www.anchorterminal.com/compare/flinks-vs-tink.md)\n- [Flinks vs TrueLayer](https://www.anchorterminal.com/compare/flinks-vs-truelayer.md)\n- [Flinks vs Yapily](https://www.anchorterminal.com/compare/flinks-vs-yapily.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": "Flinks vs Plaid",
        "url": ""
      }
    ],
    "description": "Plaid scores 69.8 (B) on agent readiness against Flinks's 52.7 (D), and leads in 6 of 7 scored categories. Flinks leads on payments \u0026 pricing. Both do bank accounts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Flinks D 52.7",
      "Plaid B 69.8",
      "scores"
    ],
    "h1": "Flinks vs Plaid",
    "image": "https://www.anchorterminal.com/assets/og/compare-flinks-vs-plaid.png",
    "path": "/compare/flinks-vs-plaid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Flinks vs Plaid for AI agents, D 52.7 vs B 69.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/flinks-vs-plaid"
  },
  "tokens": {
    "markdown": 2300,
    "slim": 680
  },
  "version": 1
}
