{
  "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": "TrueLayer scores 62.1 (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": "truelayer",
      "name": "TrueLayer",
      "vendor": "TrueLayer",
      "vendorUrl": "https://truelayer.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "UK and EU open banking, regulated by the FCA and the Central Bank of Ireland.",
      "url": "https://www.anchorterminal.com/tools/truelayer",
      "markdownUrl": "https://www.anchorterminal.com/tools/truelayer.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/truelayer.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/truelayer.json",
      "repo": "https://github.com/TrueLayer/truelayer-signing",
      "license": "Apache-2.0 or MIT (signing libraries)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.truelayer.com",
      "packages": [
        {
          "registry": "npm",
          "name": "truelayer-signing"
        }
      ],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 from the Console's client id and secret. Data API v3 takes a client_credentials token with scope `data` from https://auth.truelayer.com/connect/token (auth.truelayer-sandbox.com in sandbox); the end user then authorises on a TrueLayer-hosted page. Data API v1 uses the authorisation code flow with refresh tokens. Payments API v3 also needs every request signed with an EC secp521r1 private key (Tl-Signature header) whose public half is uploaded to the Console.",
      "pricing": "paid",
      "pricingNotes": "No price list on the site (truelayer.com/pricing returns 404, checked 2026-09-30) and none in the docs or llms.txt (https://docs.truelayer.com/llms.txt). Sign-up in the Console is self-serve and the sandbox is free (https://docs.truelayer.com/docs/quickstart-make-a-payment). Live data and payments are priced by contract.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 23,
        "npmWeekly": 16811,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.truelayer.com",
      "llmsTxt": "https://docs.truelayer.com/llms.txt",
      "openapi": "https://docs.truelayer.com/openapi/",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "openapi",
        "oauth",
        "webhooks",
        "uk",
        "eu",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2026-06-25",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.1,
        "grade": "B",
        "agentReady": false,
        "rank": 347,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 38,
          "payments": 10,
          "reliability": 71,
          "schema": 89,
          "security": 66,
          "transparency": 62
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "FCA and Central Bank of Ireland authorised, holding the AISP and PISP licences itself. No public pricing anywhere on the site or in the docs.",
        "bestFor": "UK data and payments from one licensed vendor, with EEA coverage through the Irish entity on Data v1.",
        "strengths": [
          "FCA and Central Bank of Ireland authorised, holding the AISP and PISP licences itself",
          "Data API errors list 23 codes, each marked retryable or not",
          "Markdown twin of every docs page, llms.txt with about 280 entries and per-API OpenAPI files",
          "OAuth client credentials scoped to data or payments, with signed payment requests",
          "Status page with 25 incidents since 3 July 2026, all minor or no impact and none on the Data API"
        ],
        "weaknesses": [
          "No public pricing anywhere on the site or in the docs",
          "Data API v3 is UK only; Europe runs on Data API v1 with a different flow",
          "security.txt expired on 6 May 2026 and hadn't been renewed by 1 October",
          "No changelog entry since 23 April 2026 and no SDK release since 25 June 2026",
          "TrueLayer's own rate limits aren't published, only the banks' 4-a-day cap"
        ],
        "agentNotes": [
          "Use auth.truelayer-sandbox.com and api.truelayer-sandbox.com with a separate sandbox client; live credentials don't work there",
          "Send the user's IP when they're present, or a bank allows 4 calls a day per account",
          "Check the retry column of the Data API error table before retrying; codes marked No need the user or a config fix",
          "Set data_access_type to one_time for a single read and skip the 90-day reauthorisation",
          "Append .md to any docs URL to get the page as Markdown"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "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.1
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 38,
          "payments": 10,
          "reliability": 71,
          "schema": 89,
          "security": 66,
          "transparency": 37
        },
        "provenanceScore": 87
      },
      "connect": {
        "http": "curl -X POST https://auth.truelayer-sandbox.com/connect/token \\\n  -d \"grant_type=client_credentials\u0026client_id=$TRUELAYER_CLIENT_ID\u0026client_secret=$TRUELAYER_CLIENT_SECRET\u0026scope=data\""
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/truelayer"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "TrueLayer Limited",
        "domain": "truelayer.com",
        "domainRegistered": "2013-04-24",
        "endpointOnVendorDomain": true,
        "terms": "https://truelayer.com/legal/enduser_tos/",
        "privacy": "https://truelayer.com/legal/enduser_tos/#consumer-privacy-notice",
        "statusPage": "https://status.truelayer.com",
        "changelog": "https://docs.truelayer.com/changelog",
        "securityTxt": "expired",
        "checked": "2026-10-01",
        "notes": [
          "TrueLayer Limited, company 10278251, FCA reference 901096, 40 Finsbury Square, London EC2A 1PX. TrueLayer (Ireland) Limited, company 671615, Central Bank of Ireland C433487, covers the EEA.",
          "The public legal page carries end-user terms updated 12 May 2026; the developer contract is agreed in the Console and isn't published.",
          "security.txt expired 2026-05-06 and was still expired on 2026-10-01; it points to a disclosure programme and a bug bounty on Intigriti.",
          "The docs changelog is monthly, newest entry 23 April 2026.",
          "rdap.org returned 403; the registration date is from Verisign's RDAP server."
        ],
        "score": 87
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/truelayer.json",
      "live": {
        "slug": "truelayer",
        "probe": {
          "target": "https://api.truelayer.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:24.017719739Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 27,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 42,
          "p95ms24h": 91,
          "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.truelayer.com",
          "indicator": "maintenance",
          "summary": "Under Maintenance",
          "checkedAt": "2026-10-08T21:06:28.665458258Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "TrueLayer/truelayer-signing",
            "version": "java-v0.3.0",
            "released": "2026-06-25",
            "seenAt": "2026-10-08T16:32:41.736309327Z"
          },
          {
            "registry": "npm",
            "name": "truelayer-signing",
            "version": "0.2.3",
            "seenAt": "2026-10-08T16:32:40.898711795Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 12044,
        "securityTxt": {
          "url": "https://truelayer.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-05-06T22:59:00.000Z",
          "checkedAt": "2026-10-08T15:39:02.459490683Z"
        },
        "llmsTxt": {
          "url": "https://docs.truelayer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:57.390585006Z"
        },
        "domain": {
          "domain": "truelayer.com",
          "registered": "2013-04-24",
          "source": "https://rdap.verisign.com/com/v1/domain/truelayer.com",
          "checkedAt": "2026-10-04T13:04:41.916298803Z"
        },
        "pages": [
          {
            "url": "https://docs.truelayer.com/changelog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-08T18:19:38.899006017Z",
            "changedAt": "2026-10-07T18:05:37.433141624Z",
            "fingerprint": "4d5662dfecb4"
          },
          {
            "url": "https://truelayer.com/legal/enduser_tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-08T18:25:21.127188442Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "29790d7333ca"
          }
        ],
        "updatedAt": "2026-10-08T21:12:24.017719739Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Flinks Technology Inc. (National Bank of Canada)",
        "b": "TrueLayer",
        "name": "Vendor"
      },
      {
        "a": "no (local only)",
        "b": "https://api.truelayer.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "OAuth",
        "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": "Apache-2.0 or MIT (signing libraries)",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-01",
        "b": "2026-06-25",
        "name": "Last release"
      },
      {
        "a": "2023-08-03",
        "b": "2026-05-12",
        "name": "Terms last updated"
      },
      {
        "a": "2022-09-22",
        "b": "2026-05-12",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "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": "not found in the text",
        "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": "23 stars, 17k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "TrueLayer scores 62.1 (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 TrueLayer?"
      },
      {
        "answer": "Flinks needs an API key. TrueLayer uses an OAuth sign-in.",
        "question": "Do Flinks and TrueLayer need an API key?"
      },
      {
        "answer": "No hosted endpoint is listed for Flinks. TrueLayer has a hosted endpoint at https://api.truelayer.com.",
        "question": "Can an agent call Flinks and TrueLayer without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 25 against 10"
        ],
        "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, 71 against 53",
          "Schema \u0026 documentation, 89 against 83",
          "Agent ergonomics, 73 against 54",
          "Security \u0026 auth, 66 against 50",
          "Maintenance \u0026 community, 38 against 31"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "UK data and payments from one licensed vendor, with EEA coverage through the Irish entity on Data v1.",
        "slug": "truelayer",
        "watchFor": "No public pricing anywhere on the site or in the docs"
      }
    ],
    "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-truelayer.json",
        "title": "Akoya vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-truelayer"
      },
      {
        "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-truelayer.json",
        "title": "Belvo vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-truelayer"
      },
      {
        "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-truelayer.json",
        "title": "Enable Banking vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-truelayer"
      },
      {
        "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-plaid.json",
        "title": "Flinks vs Plaid",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-plaid"
      },
      {
        "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-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-truelayer.json",
        "title": "GoCardless Bank Account Data vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-truelayer.json",
        "title": "MX Platform API vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/mx-vs-truelayer"
      },
      {
        "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/salt-edge-vs-truelayer.json",
        "title": "Salt Edge Account Information vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/salt-edge-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/teller-vs-truelayer.json",
        "title": "Teller vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/teller-vs-truelayer"
      },
      {
        "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/truelayer-vs-yapily.json",
        "title": "TrueLayer vs Yapily",
        "url": "https://www.anchorterminal.com/compare/truelayer-vs-yapily"
      }
    ],
    "scores": [
      {
        "by": 18,
        "edge": "truelayer",
        "flinks": 53,
        "key": "reliability",
        "name": "Reliability",
        "truelayer": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 6,
        "edge": "truelayer",
        "flinks": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "truelayer": 89,
        "weight": 13
      },
      {
        "by": 19,
        "edge": "truelayer",
        "flinks": 54,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "truelayer": 73,
        "weight": 13
      },
      {
        "by": 16,
        "edge": "truelayer",
        "flinks": 50,
        "key": "security",
        "name": "Security \u0026 auth",
        "truelayer": 66,
        "weight": 14
      },
      {
        "by": 15,
        "edge": "flinks",
        "flinks": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "truelayer": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 7,
        "edge": "truelayer",
        "flinks": 31,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "truelayer": 38,
        "weight": 7
      },
      {
        "by": 2,
        "edge": "truelayer",
        "flinks": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "truelayer": 62,
        "weight": 7
      }
    ],
    "summary": "TrueLayer scores 62.1 (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.",
      "truelayer": "FCA and Central Bank of Ireland authorised, holding the AISP and PISP licences itself. No public pricing anywhere on the site or in the docs."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/flinks-vs-truelayer",
    "json": "https://www.anchorterminal.com/compare/flinks-vs-truelayer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/flinks-vs-truelayer.md",
    "slim": "https://www.anchorterminal.com/compare/flinks-vs-truelayer.min.md"
  },
  "markdown": "TrueLayer scores 62.1 (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- TrueLayer: grade B, 62.1/100, rank #347 of 722. Markdown https://www.anchorterminal.com/tools/truelayer.md · JSON https://www.anchorterminal.com/api/v1/tools/truelayer.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 10\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### TrueLayer (B)\n\nGood for: UK data and payments from one licensed vendor, with EEA coverage through the Irish entity on Data v1.\n\nAhead on:\n- Reliability, 71 against 53\n- Schema \u0026 documentation, 89 against 83\n- Agent ergonomics, 73 against 54\n- Security \u0026 auth, 66 against 50\n- Maintenance \u0026 community, 38 against 31\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No public pricing anywhere on the site or in the docs\n\n\n## Score by category\n\n| Category | Weight | Flinks | TrueLayer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 53 | 71 | TrueLayer +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 83 | 89 | TrueLayer +6 |\n| Agent ergonomics | 13% (16.2 this run) | 54 | 73 | TrueLayer +19 |\n| Security \u0026 auth | 14% (17.5 this run) | 50 | 66 | TrueLayer +16 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 25 | 10 | Flinks +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 31 | 38 | TrueLayer +7 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 60 | 62 | TrueLayer +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **52.7 · D** | **62.1 · B** | |\n\n## Facts side by side\n\n| Fact | Flinks | TrueLayer |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Flinks Technology Inc. (National Bank of Canada) | TrueLayer |\n| Hosted endpoint | no (local only) | `https://api.truelayer.com` |\n| Transports | HTTP | HTTP |\n| Auth | API key | OAuth |\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 | Apache-2.0 or MIT (signing libraries) |\n| Read-only variant documented | yes | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-01 | 2026-06-25 |\n| Terms last updated | 2023-08-03 | 2026-05-12 |\n| Privacy policy last updated | 2022-09-22 | 2026-05-12 |\n| Customer content may train models | not found in the text | yes |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\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 | 23 stars, 17k npm/wk |\n| Agent reviews | none | 3/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**TrueLayer.** FCA and Central Bank of Ireland authorised, holding the AISP and PISP licences itself. No public pricing anywhere on the site or in the docs.\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### TrueLayer\n\n1. Use auth.truelayer-sandbox.com and api.truelayer-sandbox.com with a separate sandbox client; live credentials don't work there\n2. Send the user's IP when they're present, or a bank allows 4 calls a day per account\n3. Check the retry column of the Data API error table before retrying; codes marked No need the user or a config fix\n4. Set data_access_type to one_time for a single read and skip the 90-day reauthorisation\n5. Append .md to any docs URL to get the page as Markdown\n\n## Questions\n\n### Which is better for AI agents, Flinks or TrueLayer?\n\nTrueLayer scores 62.1 (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 TrueLayer need an API key?\n\nFlinks needs an API key. TrueLayer uses an OAuth sign-in.\n\n### Can an agent call Flinks and TrueLayer without installing anything?\n\nNo hosted endpoint is listed for Flinks. TrueLayer has a hosted endpoint at https://api.truelayer.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/flinks-vs-truelayer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/flinks-vs-truelayer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"flinks\", \"b\": \"truelayer\"}`. From a terminal: `anchor compare flinks truelayer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/flinks.json and https://www.anchorterminal.com/api/v1/tools/truelayer.json\n\n## Other comparisons with Flinks or TrueLayer\n\n- [Akoya vs Flinks](https://www.anchorterminal.com/compare/akoya-vs-flinks.md)\n- [Akoya vs TrueLayer](https://www.anchorterminal.com/compare/akoya-vs-truelayer.md)\n- [Belvo vs Flinks](https://www.anchorterminal.com/compare/belvo-vs-flinks.md)\n- [Belvo vs TrueLayer](https://www.anchorterminal.com/compare/belvo-vs-truelayer.md)\n- [Enable Banking vs Flinks](https://www.anchorterminal.com/compare/enable-banking-vs-flinks.md)\n- [Enable Banking vs TrueLayer](https://www.anchorterminal.com/compare/enable-banking-vs-truelayer.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 Plaid](https://www.anchorterminal.com/compare/flinks-vs-plaid.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 Yapily](https://www.anchorterminal.com/compare/flinks-vs-yapily.md)\n- [GoCardless Bank Account Data vs TrueLayer](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-truelayer.md)\n- [MX Platform API vs TrueLayer](https://www.anchorterminal.com/compare/mx-vs-truelayer.md)\n- [Plaid vs TrueLayer](https://www.anchorterminal.com/compare/plaid-vs-truelayer.md)\n- [Salt Edge Account Information vs TrueLayer](https://www.anchorterminal.com/compare/salt-edge-vs-truelayer.md)\n- [Teller vs TrueLayer](https://www.anchorterminal.com/compare/teller-vs-truelayer.md)\n- [Tink vs TrueLayer](https://www.anchorterminal.com/compare/tink-vs-truelayer.md)\n- [TrueLayer vs Yapily](https://www.anchorterminal.com/compare/truelayer-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 TrueLayer",
        "url": ""
      }
    ],
    "description": "TrueLayer scores 62.1 (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",
      "TrueLayer B 62.1",
      "scores"
    ],
    "h1": "Flinks vs TrueLayer",
    "image": "https://www.anchorterminal.com/assets/og/compare-flinks-vs-truelayer.png",
    "path": "/compare/flinks-vs-truelayer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Flinks vs TrueLayer for AI agents, D 52.7 vs B 62.1 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/flinks-vs-truelayer"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 630
  },
  "version": 1
}
