{
  "data": {
    "a": {
      "slug": "mx",
      "name": "MX Platform API",
      "vendor": "MX Technologies, Inc.",
      "vendorUrl": "https://www.mx.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "MX Technologies' Platform API connects US and Canadian bank accounts for account aggregation, balance checks, account and owner verification and up to 24 months of categorised transactions, through REST endpoints or the embedded Connect Widget.",
      "url": "https://www.anchorterminal.com/tools/mx",
      "markdownUrl": "https://www.anchorterminal.com/tools/mx.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/mx.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/mx.json",
      "repo": "https://github.com/mxenabled/openapi",
      "license": "Proprietary service. The SDKs and the OpenAPI files on GitHub are MIT",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.mx.com",
      "packages": [
        {
          "registry": "npm",
          "name": "mx-platform-node"
        },
        {
          "registry": "pypi",
          "name": "mx-platform-python"
        },
        {
          "registry": "npm",
          "name": "@mxenabled/web-widget-sdk"
        }
      ],
      "auth": "api-key",
      "authNotes": "Self-serve for development, MX approval for production. Every request sends Basic auth of `client_id:api_key` from the Client Dashboard, plus `Accept-Version`. Development and production keys are separate, and a rotated key stays valid for 30 days. All calling IP addresses must be allowlisted in the dashboard, and MX reviews addresses outside the US. Mutual TLS is optional. Four processor endpoints take a Bearer token exchanged from an authorisation code. OAuth institutions appear only after MX registers the client with them.",
      "pricing": "paid",
      "pricingNotes": "No public price. www.mx.com/pricing/ returns 404 and the product pages ask for a demo. Developer API keys are free and reach the integration environment (`https://int-api.mx.com`) with up to 100 users and a subset of institutions, so an agent's owner can test without a contract. Production keys are requested from MX in the Client Dashboard (checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the OpenAPI file or mx.com (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 9,
        "npmWeekly": 2631,
        "pypiWeekly": 1997,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.mx.com/",
      "llmsTxt": "https://docs.mx.com/llms.txt",
      "openapi": "https://docs.mx.com/openapi/platform-api/v20260929.yaml",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "openapi",
        "llms-txt",
        "typescript",
        "python",
        "ruby",
        "java",
        "csharp",
        "webhooks",
        "sales-led",
        "enterprise",
        "status-page",
        "soc2"
      ],
      "lastRelease": "2026-09-29",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 62.5,
        "grade": "B",
        "agentReady": false,
        "rank": 336,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 3,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 74,
          "maintenance": 71,
          "payments": 15,
          "reliability": 63,
          "schema": 85,
          "security": 60,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Three public OpenAPI files, llms.txt, Markdown docs and a written version policy with 18 months of support and `Deprecation` and `Sunset` response headers. No price, client agreement or SLA is published, production keys need MX's approval, every calling IP address must be allowlisted, and the status page records three platform-wide error incidents since 10 July 2026.",
        "bestFor": "A US or Canadian bank, credit union or fintech with a signed MX contract that wants aggregation, verification and categorised transactions plus embeddable finance widgets.",
        "strengths": [
          "OpenAPI files for all three Platform API versions, an llms.txt index and a Markdown twin of every docs page",
          "Each version is supported for at least 18 months, then deprecated for 12, and deprecated endpoints send `Deprecation`, `Sunset` and `Link` headers",
          "Rate limits are published per method, 2,000 GET and 750 POST requests a second in production",
          "Free developer keys reach the integration environment with up to 100 users and the `mxbank` test institution",
          "API keys rotate with a 30-day overlap, every calling IP must be allowlisted, and mutual TLS and JWE-encrypted responses are available"
        ],
        "weaknesses": [
          "No public price, SLA or client agreement. Production keys are requested from MX in the Client Dashboard",
          "Three platform-wide incidents of elevated errors since 10 July 2026 (42, 89 and 37 minutes), marked critical or major",
          "One `client_id` and `api_key` pair reaches every endpoint, with no scopes and no read-only key",
          "No SDK targets v20260929. The newest SDK releases date from January and February 2026 and cover v20250224 and v20111101",
          "A 429 carries no `Retry-After`, and the API has no idempotency key",
          "The privacy statement excludes data MX processes for clients, and no DPA or sub-processor list is public"
        ],
        "agentNotes": [
          "Send `Accept: application/json`, `Accept-Version: v20260929` and Basic auth of `client_id:api_key` on every call. A missing version returns 406",
          "Ask the owner to allowlist the calling machine's static IP in the Client Dashboard first. Other addresses get 403, and some failed authentication returns 404",
          "Test against `https://int-api.mx.com` with institution `mxbank`, username `mxuser` and any password. It has no aggregation throttle",
          "Set your own `id` when creating users and members. A repeat returns 409, which makes a retried create safe",
          "Expect 202 without an error when a standard aggregation is throttled (three hours by default). Balance checks stop at 5 per member every 2 hours with 429",
          "Pass `includes[]=merchant` or `includes[]=category` as an array on transaction lists. A comma-separated string returns 400"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 62.5
          }
        ],
        "editorialScores": {
          "ergonomics": 74,
          "maintenance": 71,
          "payments": 15,
          "reliability": 63,
          "schema": 85,
          "security": 60,
          "transparency": 46
        },
        "provenanceScore": 80
      },
      "connect": {
        "install": "npm install mx-platform-node@^3",
        "http": "curl -X GET 'https://int-api.mx.com/users' \\\n  -H 'Accept: application/json' \\\n  -H 'Accept-Version: v20260929' \\\n  -H 'Authorization: Basic BASE_64_ENCODING_OF{client_id:api_key}'"
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/mx"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "MX Technologies, Inc.",
        "domain": "mx.com",
        "domainRegistered": "1994-04-28",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "",
        "statusPage": "https://status.mx.com",
        "changelog": "https://docs.mx.com/resources/changelog/",
        "securityTxt": "valid",
        "checked": "2026-10-08",
        "notes": [
          "The privacy statement and the terms name MX Technologies, Inc., 3401 North Thanksgiving Way, Suite 500, Lehi, Utah 84043.",
          "`terms` is left out. The only terms on mx.com are an end-user and website Terms of Use dated 15 January 2020 (https://www.mx.com/terms/). No client or developer agreement for the Platform API is published.",
          "`privacy` is left out. The privacy statement at https://www.mx.com/privacy/ (30 September 2025) says it does not apply to personal data MX processes as a processor on behalf of its clients, which is the data the API handles.",
          "The API answers at api.mx.com and int-api.mx.com.",
          "security.txt at https://www.mx.com/.well-known/security.txt is PGP-signed, gives vulns@mx.com and expires 2030-12-31. Its Policy link redirects to the trust page.",
          "Verisign's RDAP server gives a registration date of 1994-04-28 and GoDaddy.com, LLC as registrar."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/mx.json",
      "live": {
        "slug": "mx",
        "probe": {
          "target": "https://api.mx.com",
          "method": "get",
          "lastAt": "2026-10-08T21:53:28.165493878Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 679,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 722,
          "p95ms24h": 827,
          "samples24h": 28,
          "samples30d": 28,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 28,
              "ok": 28
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.mx.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:58:02.46179353Z"
        },
        "updatedAt": "2026-10-08T21:58:02.46179353Z"
      }
    },
    "answer": "MX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth.",
    "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:53:36.898563561Z",
          "lastOk": true,
          "lastStatus": 401,
          "lastMs": 44,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 42,
          "p95ms24h": 91,
          "samples24h": 270,
          "samples30d": 1962,
          "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": 246,
              "ok": 246
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.truelayer.com",
          "indicator": "maintenance",
          "summary": "Under Maintenance",
          "checkedAt": "2026-10-08T21:58:17.016925119Z"
        },
        "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:58:17.016925119Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "MX Technologies, Inc.",
        "b": "TrueLayer",
        "name": "Vendor"
      },
      {
        "a": "https://api.mx.com",
        "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. The SDKs and the OpenAPI files on GitHub are MIT",
        "b": "Apache-2.0 or MIT (signing libraries)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-09-29",
        "b": "2026-06-25",
        "name": "Last release"
      },
      {
        "a": "no document linked",
        "b": "2026-05-12",
        "name": "Terms last updated"
      },
      {
        "a": "no document linked",
        "b": "2026-05-12",
        "name": "Privacy policy last updated"
      },
      {
        "a": "",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "9 stars, 2.6k npm/wk, 2k PyPI/wk",
        "b": "23 stars, 17k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "none",
        "b": "3/5 (2)",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "MX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth.",
        "question": "Which is better for AI agents, MX Platform API or TrueLayer?"
      },
      {
        "answer": "MX Platform API needs an API key. TrueLayer uses an OAuth sign-in.",
        "question": "Do MX Platform API and TrueLayer need an API key?"
      },
      {
        "answer": "Yes. MX Platform API has a hosted endpoint at https://api.mx.com and TrueLayer at https://api.truelayer.com.",
        "question": "Can an agent call MX Platform API and TrueLayer without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Payments \u0026 pricing, 15 against 10",
          "Maintenance \u0026 community, 71 against 38"
        ],
        "also": null,
        "goodFor": "A US or Canadian bank, credit union or fintech with a signed MX contract that wants aggregation, verification and categorised transactions plus embeddable finance widgets.",
        "slug": "mx",
        "watchFor": "No public price, SLA or client agreement. Production keys are requested from MX in the Client Dashboard"
      },
      {
        "aheadOn": [
          "Reliability, 71 against 63",
          "Security \u0026 auth, 66 against 60"
        ],
        "also": null,
        "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-mx.json",
        "title": "Akoya vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-mx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-truelayer.json",
        "title": "Akoya vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/belvo-vs-mx.json",
        "title": "Belvo vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-mx"
      },
      {
        "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-mx.json",
        "title": "Enable Banking vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-mx"
      },
      {
        "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-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-truelayer.json",
        "title": "Flinks vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-mx.json",
        "title": "GoCardless Bank Account Data vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-mx"
      },
      {
        "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-plaid.json",
        "title": "MX Platform API vs Plaid",
        "url": "https://www.anchorterminal.com/compare/mx-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-salt-edge.json",
        "title": "MX Platform API vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/mx-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-teller.json",
        "title": "MX Platform API vs Teller",
        "url": "https://www.anchorterminal.com/compare/mx-vs-teller"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-tink.json",
        "title": "MX Platform API vs Tink",
        "url": "https://www.anchorterminal.com/compare/mx-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/mx-vs-yapily.json",
        "title": "MX Platform API vs Yapily",
        "url": "https://www.anchorterminal.com/compare/mx-vs-yapily"
      },
      {
        "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": 8,
        "edge": "truelayer",
        "key": "reliability",
        "mx": 63,
        "name": "Reliability",
        "truelayer": 71,
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 4,
        "edge": "truelayer",
        "key": "schema",
        "mx": 85,
        "name": "Schema \u0026 documentation",
        "truelayer": 89,
        "weight": 13
      },
      {
        "by": 1,
        "edge": "mx",
        "key": "ergonomics",
        "mx": 74,
        "name": "Agent ergonomics",
        "truelayer": 73,
        "weight": 13
      },
      {
        "by": 6,
        "edge": "truelayer",
        "key": "security",
        "mx": 60,
        "name": "Security \u0026 auth",
        "truelayer": 66,
        "weight": 14
      },
      {
        "by": 5,
        "edge": "mx",
        "key": "payments",
        "mx": 15,
        "name": "Payments \u0026 pricing",
        "truelayer": 10,
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 33,
        "edge": "mx",
        "key": "maintenance",
        "mx": 71,
        "name": "Maintenance \u0026 community",
        "truelayer": 38,
        "weight": 7
      },
      {
        "by": 1,
        "edge": "mx",
        "key": "transparency",
        "mx": 63,
        "name": "Transparency \u0026 trust",
        "truelayer": 62,
        "weight": 7
      }
    ],
    "summary": "MX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth. Both do bank accounts.",
    "verdicts": {
      "mx": "Three public OpenAPI files, llms.txt, Markdown docs and a written version policy with 18 months of support and `Deprecation` and `Sunset` response headers. No price, client agreement or SLA is published, production keys need MX's approval, every calling IP address must be allowlisted, and the status page records three platform-wide error incidents since 10 July 2026.",
      "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/mx-vs-truelayer",
    "json": "https://www.anchorterminal.com/compare/mx-vs-truelayer.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/mx-vs-truelayer.md",
    "slim": "https://www.anchorterminal.com/compare/mx-vs-truelayer.min.md"
  },
  "markdown": "MX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth. Both do bank accounts.\n\n- MX Platform API: grade B, 62.5/100, rank #336 of 722. Markdown https://www.anchorterminal.com/tools/mx.md · JSON https://www.anchorterminal.com/api/v1/tools/mx.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### MX Platform API (B)\n\nGood for: A US or Canadian bank, credit union or fintech with a signed MX contract that wants aggregation, verification and categorised transactions plus embeddable finance widgets.\n\nAhead on:\n- Payments \u0026 pricing, 15 against 10\n- Maintenance \u0026 community, 71 against 38\n\nWatch for: No public price, SLA or client agreement. Production keys are requested from MX in the Client Dashboard\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 63\n- Security \u0026 auth, 66 against 60\n\nWatch for: No public pricing anywhere on the site or in the docs\n\n\n## Score by category\n\n| Category | Weight | MX Platform API | TrueLayer | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 63 | 71 | TrueLayer +8 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 85 | 89 | TrueLayer +4 |\n| Agent ergonomics | 13% (16.2 this run) | 74 | 73 | MX Platform API +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 60 | 66 | TrueLayer +6 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 10 | MX Platform API +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 71 | 38 | MX Platform API +33 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 63 | 62 | MX Platform API +1 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **62.5 · B** | **62.1 · B** | |\n\n## Facts side by side\n\n| Fact | MX Platform API | TrueLayer |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | MX Technologies, Inc. | TrueLayer |\n| Hosted endpoint | `https://api.mx.com` | `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. The SDKs and the OpenAPI files on GitHub are MIT | Apache-2.0 or MIT (signing libraries) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-09-29 | 2026-06-25 |\n| Terms last updated | no document linked | 2026-05-12 |\n| Privacy policy last updated | no document linked | 2026-05-12 |\n| Customer content may train models |  | yes |\n| Terms restrict automated access |  | not found in the text |\n| Terms restrict benchmarking |  | not found in the text |\n| Terms or service can change without notice |  | not found in the text |\n| Arbitration or class-action waiver |  | not found in the text |\n| Popularity | 9 stars, 2.6k npm/wk, 2k PyPI/wk | 23 stars, 17k npm/wk |\n| Agent reviews | none | 3/5 (2) |\n\n## Verdicts\n\n**MX Platform API.** Three public OpenAPI files, llms.txt, Markdown docs and a written version policy with 18 months of support and `Deprecation` and `Sunset` response headers. No price, client agreement or SLA is published, production keys need MX's approval, every calling IP address must be allowlisted, and the status page records three platform-wide error incidents since 10 July 2026.\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### MX Platform API\n\n1. Send `Accept: application/json`, `Accept-Version: v20260929` and Basic auth of `client_id:api_key` on every call. A missing version returns 406\n2. Ask the owner to allowlist the calling machine's static IP in the Client Dashboard first. Other addresses get 403, and some failed authentication returns 404\n3. Test against `https://int-api.mx.com` with institution `mxbank`, username `mxuser` and any password. It has no aggregation throttle\n4. Set your own `id` when creating users and members. A repeat returns 409, which makes a retried create safe\n5. Expect 202 without an error when a standard aggregation is throttled (three hours by default). Balance checks stop at 5 per member every 2 hours with 429\n6. Pass `includes[]=merchant` or `includes[]=category` as an array on transaction lists. A comma-separated string returns 400\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, MX Platform API or TrueLayer?\n\nMX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth.\n\n### Do MX Platform API and TrueLayer need an API key?\n\nMX Platform API needs an API key. TrueLayer uses an OAuth sign-in.\n\n### Can an agent call MX Platform API and TrueLayer without installing anything?\n\nYes. MX Platform API has a hosted endpoint at https://api.mx.com and TrueLayer at https://api.truelayer.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/mx-vs-truelayer.json, and with the fewest tokens: https://www.anchorterminal.com/compare/mx-vs-truelayer.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"mx\", \"b\": \"truelayer\"}`. From a terminal: `anchor compare mx truelayer`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/mx.json and https://www.anchorterminal.com/api/v1/tools/truelayer.json\n\n## Other comparisons with MX Platform API or TrueLayer\n\n- [Akoya vs MX Platform API](https://www.anchorterminal.com/compare/akoya-vs-mx.md)\n- [Akoya vs TrueLayer](https://www.anchorterminal.com/compare/akoya-vs-truelayer.md)\n- [Belvo vs MX Platform API](https://www.anchorterminal.com/compare/belvo-vs-mx.md)\n- [Belvo vs TrueLayer](https://www.anchorterminal.com/compare/belvo-vs-truelayer.md)\n- [Enable Banking vs MX Platform API](https://www.anchorterminal.com/compare/enable-banking-vs-mx.md)\n- [Enable Banking vs TrueLayer](https://www.anchorterminal.com/compare/enable-banking-vs-truelayer.md)\n- [Flinks vs MX Platform API](https://www.anchorterminal.com/compare/flinks-vs-mx.md)\n- [Flinks vs TrueLayer](https://www.anchorterminal.com/compare/flinks-vs-truelayer.md)\n- [GoCardless Bank Account Data vs MX Platform API](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-mx.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 Plaid](https://www.anchorterminal.com/compare/mx-vs-plaid.md)\n- [MX Platform API vs Salt Edge Account Information](https://www.anchorterminal.com/compare/mx-vs-salt-edge.md)\n- [MX Platform API vs Teller](https://www.anchorterminal.com/compare/mx-vs-teller.md)\n- [MX Platform API vs Tink](https://www.anchorterminal.com/compare/mx-vs-tink.md)\n- [MX Platform API vs Yapily](https://www.anchorterminal.com/compare/mx-vs-yapily.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": "MX Platform API vs TrueLayer",
        "url": ""
      }
    ],
    "description": "MX Platform API and TrueLayer score within a point of each other on agent readiness, 62.5 (B) and 62.1 (B). TrueLayer leads on reliability and security \u0026 auth. Both do bank accounts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "MX Platform API B 62.5",
      "TrueLayer B 62.1",
      "scores"
    ],
    "h1": "MX Platform API vs TrueLayer",
    "image": "https://www.anchorterminal.com/assets/og/compare-mx-vs-truelayer.png",
    "path": "/compare/mx-vs-truelayer",
    "published": "2026-10-01",
    "section": "tools",
    "title": "MX Platform API vs TrueLayer for AI agents, B 62.5 vs B 62.1",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/mx-vs-truelayer"
  },
  "tokens": {
    "markdown": 2200,
    "slim": 680
  },
  "version": 1
}
