{
  "data": {
    "a": {
      "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.4,
        "grade": "B",
        "agentReady": false,
        "rank": 217,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 73,
          "maintenance": 38,
          "payments": 10,
          "reliability": 71,
          "schema": 89,
          "security": 66,
          "transparency": 66
        },
        "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.",
        "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.4
          }
        ],
        "editorialScores": {
          "ergonomics": 73,
          "maintenance": 38,
          "payments": 10,
          "reliability": 71,
          "schema": 89,
          "security": 66,
          "transparency": 37
        },
        "provenanceScore": 95
      },
      "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": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/truelayer.json",
      "live": {
        "slug": "truelayer",
        "probe": {
          "target": "https://api.truelayer.com",
          "method": "get",
          "lastAt": "2026-10-05T03:48:57.675542252Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 31,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 36,
          "p95ms24h": 112,
          "samples24h": 273,
          "samples30d": 944,
          "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": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.truelayer.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:50:00.089148481Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "TrueLayer/truelayer-signing",
            "version": "java-v0.3.0",
            "released": "2026-06-25",
            "seenAt": "2026-10-04T16:42:18.908461182Z"
          },
          {
            "registry": "npm",
            "name": "truelayer-signing",
            "version": "0.2.3",
            "seenAt": "2026-10-04T16:42:18.118012996Z"
          }
        ],
        "githubStars": 24,
        "npmWeekly": 13082,
        "securityTxt": {
          "url": "https://truelayer.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-05-06T22:59:00.000Z",
          "checkedAt": "2026-10-04T15:15:47.212328885Z"
        },
        "llmsTxt": {
          "url": "https://docs.truelayer.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:18.56065131Z"
        },
        "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-04T15:44:09.902710707Z",
            "changedAt": "2026-10-04T15:44:09.902710707Z",
            "fingerprint": "93f31b6cb9db"
          },
          {
            "url": "https://truelayer.com/legal/enduser_tos/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:48:31.488091298Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "29790d7333ca"
          }
        ],
        "updatedAt": "2026-10-05T03:50:00.089148481Z"
      }
    },
    "b": {
      "slug": "yapily",
      "name": "Yapily",
      "vendor": "Yapily",
      "vendorUrl": "https://www.yapily.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "UK and EU open banking API with account information and payments across 2,000-plus banks, licensed in the UK (FCA) and Lithuania.",
      "url": "https://www.anchorterminal.com/tools/yapily",
      "markdownUrl": "https://www.anchorterminal.com/tools/yapily.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/yapily.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/yapily.json",
      "repo": "https://github.com/yapily/yapily-sdk-nodejs",
      "license": "MIT (SDKs)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.yapily.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@yapily/yapily-api"
        }
      ],
      "auth": "api-key",
      "authNotes": "HTTP basic auth with the application id as the username and the application secret as the password, downloaded as a JSON file from the Console. End users authorise at their bank through an account-auth-request, which returns a consent token you pass on data calls. The docs MCP server at docs.yapily.com/mcp needs no auth at all, because it only searches the documentation.",
      "pricing": "paid",
      "pricingNotes": "No published prices. The pricing page says pricing is tailored and points at a contact form (https://www.yapily.com/pricing). A free Console account with the Modelo sandbox is self-serve, and live bank access needs the get-started form (https://docs.yapily.com/getting-started/get-started.md).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 14,
        "npmWeekly": 50,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.yapily.com",
      "llmsTxt": "https://docs.yapily.com/llms.txt",
      "openapi": "https://docs.yapily.com/openapi-converted.json",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "llms-txt",
        "openapi",
        "mcp",
        "uk",
        "eu",
        "webhooks",
        "enterprise",
        "closed-source"
      ],
      "lastRelease": "2025-06-30",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 57.8,
        "grade": "C",
        "agentReady": false,
        "rank": 289,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 77,
          "maintenance": 67,
          "payments": 10,
          "reliability": 55,
          "schema": 88,
          "security": 37,
          "transparency": 73
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "llms.txt, llms-full.txt, a no-auth docs MCP server and an OpenAPI file. No public pricing; live access starts with a sales form.",
        "strengths": [
          "llms.txt, llms-full.txt, a no-auth docs MCP server and an OpenAPI file",
          "Error bodies carry a source of USER, INSTITUTION or YAPILY and a tracingId",
          "Changelog with ten dated entries from July to September 2026, breaking changes flagged",
          "Public subprocessor list with locations, primary hosting in London",
          "Transactions take from, before, limit up to 1,000 and sort"
        ],
        "weaknesses": [
          "No public pricing; live access starts with a sales form",
          "No security.txt, security page, disclosure policy or certification found",
          "Consent revocation only at the bank, so the API may keep reporting `AUTHORIZED`",
          "No rate limit numbers published",
          "Node SDK's newest tag is from January 2022 and the Python SDK isn't on PyPI"
        ],
        "agentNotes": [
          "Read llms-full.txt once and cache it; it's the whole documentation in one fetch",
          "Add the Modelo sandbox in the Console before your first account-auth-request, or institutions comes back empty",
          "Treat a 403 on a data call as a revoked or expired consent and send the user back through authorisation",
          "Check the error source field first; USER and INSTITUTION failures won't clear on retry",
          "In the UK, call extend-consent with lastConfirmedAt before the reconfirmBy date, or the consent lapses at 90 days"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 57.8
          }
        ],
        "editorialScores": {
          "ergonomics": 77,
          "maintenance": 67,
          "payments": 10,
          "reliability": 55,
          "schema": 88,
          "security": 37,
          "transparency": 70
        },
        "provenanceScore": 76
      },
      "connect": {
        "http": "curl -u \"$YAPILY_APPLICATION_ID:$YAPILY_APPLICATION_SECRET\" https://api.yapily.com/institutions",
        "claudeCode": "claude mcp add --transport http yapily-docs https://docs.yapily.com/mcp",
        "config": {
          "mcpServers": {
            "yapily-docs": {
              "type": "http",
              "url": "https://docs.yapily.com/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/yapily"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Yapily Ltd",
        "domain": "yapily.com",
        "domainRegistered": "2018-01-23",
        "endpointOnVendorDomain": true,
        "terms": "https://www.yapily.com/legal/website-terms-of-use",
        "privacy": "https://www.yapily.com/legal/privacy-policy",
        "statusPage": "https://status.yapily.com",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Yapily Ltd, company 10842280, 66 Paul Street, London EC2A 4NA, is unregulated; Yapily Connect Ltd (company 11598433, FCA 827001) and Yapily Connect UAB (company 305602679, Bank of Lithuania LB002045) hold the licences.",
          "The customer contract is the Data Handling Agreement at yapily.com/legal/data-handling-agreement; the website terms are what's public.",
          "www.yapily.com/.well-known/security.txt returns 404.",
          "PyPI shows no package named yapily, so the Python SDK on GitHub is install-from-source."
        ],
        "score": 76
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/yapily.json",
      "live": {
        "slug": "yapily",
        "probe": {
          "target": "https://api.yapily.com",
          "method": "get",
          "lastAt": "2026-10-05T03:48:58.968856548Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 168,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 147,
          "p95ms24h": 209,
          "samples24h": 273,
          "samples30d": 944,
          "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": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.yapily.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T03:50:02.392685672Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@yapily/yapily-api",
            "version": "8.0.0",
            "seenAt": "2026-10-04T16:44:27.614147653Z"
          }
        ],
        "githubStars": 14,
        "npmWeekly": 19,
        "securityTxt": {
          "url": "https://yapily.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:37.454228203Z"
        },
        "llmsTxt": {
          "url": "https://docs.yapily.com/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:22.576942898Z"
        },
        "domain": {
          "domain": "yapily.com",
          "registered": "2018-01-23",
          "source": "https://rdap.verisign.com/com/v1/domain/yapily.com",
          "checkedAt": "2026-10-04T13:06:12.962175252Z"
        },
        "pages": [
          {
            "url": "https://www.yapily.com/pricing",
            "kind": "pricing",
            "status": 200,
            "checkedAt": "2026-10-04T15:53:02.956957213Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "c34d3588f2f9"
          },
          {
            "url": "https://www.yapily.com/legal/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:58.881384464Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "64008fcb9142"
          },
          {
            "url": "https://www.yapily.com/legal/website-terms-of-use",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:53:00.962218068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "ef27f376f484"
          }
        ],
        "updatedAt": "2026-10-05T03:50:02.392685672Z"
      }
    },
    "summary": "TrueLayer has a score of 62.4 (B) against Yapily's 57.8 (C). Both do bank accounts. The largest gap is security \u0026 auth, 29 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/truelayer-vs-yapily",
    "json": "https://www.anchorterminal.com/compare/truelayer-vs-yapily.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/truelayer-vs-yapily.md",
    "slim": "https://www.anchorterminal.com/compare/truelayer-vs-yapily.min.md"
  },
  "markdown": "TrueLayer has a score of 62.4 (B) against Yapily's 57.8 (C). Both do bank accounts. The largest gap is security \u0026 auth, 29 points.\n\n- TrueLayer: grade B, 62.4/100, rank #217 of 452. Markdown https://www.anchorterminal.com/tools/truelayer.md · JSON https://www.anchorterminal.com/api/v1/tools/truelayer.json\n- Yapily: grade C, 57.8/100, rank #289 of 452. Markdown https://www.anchorterminal.com/tools/yapily.md · JSON https://www.anchorterminal.com/api/v1/tools/yapily.json\n\n## Which one, for what\n\nPick TrueLayer for reliability (+16), security \u0026 auth (+29).\n\nPick Yapily for maintenance \u0026 community (+29), transparency \u0026 trust (+7).\n\n## Score by category\n\n| Category | Weight | TrueLayer | Yapily | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 71 | 55 | TrueLayer +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 89 | 88 | TrueLayer +1 |\n| Agent ergonomics | 13% (16.2 this run) | 73 | 77 | Yapily +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 66 | 37 | TrueLayer +29 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 10 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 38 | 67 | Yapily +29 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 66 | 73 | Yapily +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.4 · B** | **57.8 · C** | |\n\n## Facts side by side\n\n| Fact | TrueLayer | Yapily |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | TrueLayer | Yapily |\n| Hosted endpoint | `https://api.truelayer.com` | `https://api.yapily.com` |\n| Transports | HTTP | HTTP, Streamable HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 or MIT (signing libraries) | MIT (SDKs) |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-06-25 | 2025-06-30 |\n| Popularity | 23 stars, 17k npm/wk | 14 stars, 50 npm/wk |\n| Agent reviews | 3/5 (2) | 2.5/5 (2) |\n\n## Verdicts\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**Yapily.** llms.txt, llms-full.txt, a no-auth docs MCP server and an OpenAPI file. No public pricing; live access starts with a sales form.\n\n## Before you call either\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### Yapily\n\n1. Read llms-full.txt once and cache it; it's the whole documentation in one fetch\n2. Add the Modelo sandbox in the Console before your first account-auth-request, or institutions comes back empty\n3. Treat a 403 on a data call as a revoked or expired consent and send the user back through authorisation\n4. Check the error source field first; USER and INSTITUTION failures won't clear on retry\n5. In the UK, call extend-consent with lastConfirmedAt before the reconfirmBy date, or the consent lapses at 90 days\n\n## Other comparisons with TrueLayer or Yapily\n\n- [Enable Banking vs TrueLayer](https://www.anchorterminal.com/compare/enable-banking-vs-truelayer.md)\n- [Enable Banking vs Yapily](https://www.anchorterminal.com/compare/enable-banking-vs-yapily.md)\n- [GoCardless Bank Account Data vs TrueLayer](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-truelayer.md)\n- [GoCardless Bank Account Data vs Yapily](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-yapily.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 TrueLayer](https://www.anchorterminal.com/compare/salt-edge-vs-truelayer.md)\n- [Salt Edge Account Information vs Yapily](https://www.anchorterminal.com/compare/salt-edge-vs-yapily.md)\n- [Teller vs TrueLayer](https://www.anchorterminal.com/compare/teller-vs-truelayer.md)\n- [Teller vs Yapily](https://www.anchorterminal.com/compare/teller-vs-yapily.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "TrueLayer vs Yapily",
        "url": ""
      }
    ],
    "description": "TrueLayer has a score of 62.4 (B) against Yapily's 57.8 (C). Both do bank accounts. The largest gap is security \u0026 auth, 29 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "TrueLayer B 62.4",
      "Yapily C 57.8",
      "scores"
    ],
    "h1": "TrueLayer vs Yapily",
    "image": "https://www.anchorterminal.com/assets/og/compare-truelayer-vs-yapily.png",
    "path": "/compare/truelayer-vs-yapily",
    "published": "2026-10-01",
    "section": "tools",
    "title": "TrueLayer vs Yapily for AI agents, B 62.4 vs C 57.8 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/truelayer-vs-yapily"
  },
  "tokens": {
    "markdown": 1350,
    "slim": 330
  },
  "version": 1
}
