{
  "data": {
    "a": {
      "slug": "enable-banking",
      "name": "Enable Banking",
      "vendor": "Enable Banking",
      "vendorUrl": "https://enablebanking.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Finnish open banking API (FIN-FSA registered AISP) covering 2,700-plus banks in about 30 European countries, with account information and payment initiation under Enable Banking's licence or your own eIDAS certificates.",
      "url": "https://www.anchorterminal.com/tools/enable-banking",
      "markdownUrl": "https://www.anchorterminal.com/tools/enable-banking.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/enable-banking.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/enable-banking.json",
      "repo": "https://github.com/enablebanking/enablebanking-api-samples",
      "license": "Apache-2.0 (code samples)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.enablebanking.com",
      "packages": [],
      "auth": "mixed",
      "authNotes": "Mint an RS256 JWT with the application's private key (kid is the application id, iss enablebanking.com, aud api.enablebanking.com, at most 24 hours) and send it as a Bearer token. The end user authorises at the bank through POST /auth, and the returned code becomes a session with POST /sessions. No client secret: the private key is the credential, so keep it in a secret store.",
      "pricing": "paid",
      "pricingNotes": "Volume-based on the number of accounts accessed and payments made a month, with a minimum monthly invoice that includes a quota of accounts and payments; figures on request from info@enablebanking.com (https://enablebanking.com/docs/faq/). You can create an account and use both the sandbox and production before signing a contract; a production application stays pending until the contract is done or you whitelist your own accounts, which activates it in restricted mode for those accounts only (https://enablebanking.com/docs/api/). Payment initiation in production is only switched on for companies holding a PISP licence.",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://enablebanking.com/docs/api/reference/",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "eu",
        "closed-source",
        "enterprise"
      ],
      "lastRelease": "2026-09-09",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 47.3,
        "grade": "D",
        "agentReady": false,
        "rank": 384,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 4,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 67,
          "payments": 20,
          "reliability": 33,
          "schema": 54,
          "security": 47,
          "transparency": 51
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Restricted mode gives live data for your own whitelisted accounts before any contract. No public prices and a minimum monthly invoice.",
        "strengths": [
          "Restricted mode gives live data for your own whitelisted accounts before any contract",
          "Private-key JWT auth, at most 24 hours, with no shared secret on the wire",
          "continuation_key pagination with date and status filters on transactions",
          "DELETE /sessions closes the bank consent where the bank allows",
          "Monthly changelog posts, the newest on 9 September 2026"
        ],
        "weaknesses": [
          "No public prices and a minimum monthly invoice",
          "No public status page; bank disruptions sit behind the Control Panel login",
          "No OpenAPI file, llms.txt or official SDK, only samples",
          "No public terms, security.txt, disclosure policy or certification found",
          "No idempotency guidance for payments"
        ],
        "agentNotes": [
          "Mint one JWT per run with exp under 24 hours; don't reuse a long-lived token across sessions",
          "Test against the Mock ASPSP first; bank sandboxes fail for reasons that aren't yours",
          "Pass the bank's maximum_consent_validity as valid_until, usually 180 days, or you'll be back at the bank sooner",
          "On 429 ASPSP_RATE_LIMIT_EXCEEDED stop until tomorrow; it's the bank's 4-a-day cap",
          "Follow continuation_key until it's absent to get every transaction"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 47.3
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 67,
          "payments": 20,
          "reliability": 33,
          "schema": 54,
          "security": 47,
          "transparency": 35
        },
        "provenanceScore": 66
      },
      "connect": {
        "http": "curl \"https://api.enablebanking.com/aspsps?country=FI\" -H \"Authorization: Bearer $ENABLE_BANKING_JWT\""
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/enable-banking"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Enable Banking",
        "domain": "enablebanking.com",
        "domainRegistered": "2018-04-23",
        "endpointOnVendorDomain": true,
        "terms": "",
        "privacy": "https://enablebanking.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://enablebanking.com/blog",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "The home page describes the company as a registered Account Information Service Provider regulated by the Finnish Financial Supervisory Authority (FIN-FSA). The privacy policy page renders only with JavaScript, so we couldn't read the registered company name or business ID from it.",
          "No terms of service page was found; the FAQ refers to a contract agreed by email.",
          "The blog carries monthly changelog posts; there's no status page we could find.",
          "rdap.org returned 403; the registration date is from Verisign's RDAP server."
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/enable-banking.json",
      "live": {
        "slug": "enable-banking",
        "probe": {
          "target": "https://api.enablebanking.com",
          "method": "get",
          "lastAt": "2026-10-05T02:29:55.445508947Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 352,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 399,
          "p95ms24h": 741,
          "samples24h": 273,
          "samples30d": 929,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "githubStars": 68,
        "securityTxt": {
          "url": "https://enablebanking.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:55.325774876Z"
        },
        "domain": {
          "domain": "enablebanking.com",
          "registered": "2018-04-23",
          "source": "https://rdap.verisign.com/com/v1/domain/enablebanking.com",
          "checkedAt": "2026-10-04T13:08:31.314512732Z"
        },
        "pages": [
          {
            "url": "https://enablebanking.com/blog",
            "kind": "changelog",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:28.095932355Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "04abb839753e"
          },
          {
            "url": "https://enablebanking.com/privacy-policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:44:30.341971538Z",
            "changedAt": "2026-10-04T15:44:30.341971538Z",
            "fingerprint": "b89c0791c950"
          }
        ],
        "updatedAt": "2026-10-05T02:29:55.445508947Z"
      }
    },
    "b": {
      "slug": "plaid",
      "name": "Plaid",
      "vendor": "Plaid",
      "vendorUrl": "https://plaid.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Bank data aggregation platform covering the US, Canada, the UK and parts of Europe.",
      "url": "https://www.anchorterminal.com/tools/plaid",
      "markdownUrl": "https://www.anchorterminal.com/tools/plaid.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/plaid.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/plaid.json",
      "repo": "https://github.com/plaid/mcp",
      "license": "MIT (SDKs and MCP server)",
      "transports": [
        "http",
        "stdio",
        "streamable-http"
      ],
      "remoteUrl": "https://production.plaid.com",
      "packages": [
        {
          "registry": "npm",
          "name": "plaid"
        },
        {
          "registry": "pypi",
          "name": "plaid-python"
        },
        {
          "registry": "pypi",
          "name": "mcp-server-plaid"
        }
      ],
      "auth": "mixed",
      "authNotes": "Every call is a POST with `client_id` and `secret` in the JSON body (or as PLAID-CLIENT-ID and PLAID-SECRET headers). Sandbox and Production have separate secrets. End-user data needs an `access_token` from the Link flow (link token, public token, exchange). The Dashboard MCP uses OAuth client_credentials with scope `mcp:dashboard` and 15-minute tokens. The sandbox MCP takes the sandbox client id and secret as flags or environment variables.",
      "pricing": "paid",
      "pricingNotes": "Sandbox is always free. Three plans, Pay as you go (month to month, card on file), Growth (12-month commitment) and Custom, with no price list on the site; you see prices when you apply for Production access (https://plaid.com/pricing/). Billing model varies by product. One-time per Item for Auth, Identity, Income and Layer, a monthly subscription per Item for Transactions, Liabilities, Investments and Recurring Transactions, and a flat fee per call for Balance, Signal and the refresh endpoints. A subscription Item keeps billing until you call /item/remove or the user revokes it (https://plaid.com/docs/account/billing/index.html.md). Teams created after 15 April 2026 in the US and Canada get a Trial plan with 10 free Production Items, replacing the older Limited Production of 200 calls per product (https://plaid.com/docs/changelog/).",
      "priceSummary": "Paid",
      "where": "both",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": 4,
      "popularity": {
        "githubStars": 586,
        "npmWeekly": 1292229,
        "pypiWeekly": 656730,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://plaid.com/docs/",
      "llmsTxt": "https://plaid.com/docs/llms.txt",
      "openapi": "https://raw.githubusercontent.com/plaid/plaid-openapi/master/2020-09-14.yml",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "mcp",
        "llms-txt",
        "openapi",
        "typescript",
        "python",
        "webhooks",
        "card-required",
        "enterprise",
        "open-source"
      ],
      "lastRelease": "2026-09-24",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70,
        "grade": "BB",
        "agentReady": true,
        "rank": 103,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 1,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 93,
          "security": 67,
          "transparency": 81
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page. No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed.",
        "strengths": [
          "Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page",
          "Rate limits per endpoint, per Item and per client, published as JSON",
          "Error bodies carry error_code, documentation_url and suggested_action",
          "Dashboard Logs keep every request, response, webhook and Link event for 14 days",
          "security.txt valid to 31 December 2026 and a HackerOne programme"
        ],
        "weaknesses": [
          "No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed",
          "Four plaid-node major versions between 23 July and 1 September 2026, each with breaking changes",
          "No Retry-After on 429 and no list of which error codes are safe to retry",
          "Six incidents marked major on the status page since 10 July 2026, five of them single banks",
          "One team secret reaches every product, Transfer included; there's no read-only key"
        ],
        "agentNotes": [
          "Point calls at https://sandbox.plaid.com until you hold a Production secret; request shapes are the same",
          "Create a sandbox Item with /sandbox/public_token/create and ins_109508, then /item/public_token/exchange, no Link UI needed",
          "Use /transactions/sync with its cursor and back off on 429 RATE_LIMIT_EXCEEDED yourself, since no Retry-After comes back",
          "Call /item/remove when the user is done, or subscription products keep billing",
          "Send an idempotency_key on `/transfer/authorization/create` so a retried request can't authorise twice"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 70
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 83,
          "payments": 15,
          "reliability": 68,
          "schema": 93,
          "security": 67,
          "transparency": 61
        },
        "provenanceScore": 100
      },
      "connect": {
        "http": "curl -X POST https://sandbox.plaid.com/sandbox/public_token/create -H \"Content-Type: application/json\" \\\n  -d '{\"client_id\":\"'\"$PLAID_CLIENT_ID\"'\",\"secret\":\"'\"$PLAID_SECRET\"'\",\"institution_id\":\"ins_109508\",\"initial_products\":[\"transactions\"]}'",
        "claudeCode": "claude mcp add plaid -e PLAID_CLIENT_ID=$PLAID_CLIENT_ID -e PLAID_SECRET=$PLAID_SECRET -- uvx mcp-server-plaid",
        "config": {
          "mcpServers": {
            "plaid": {
              "args": [
                "mcp-server-plaid"
              ],
              "command": "uvx",
              "env": {
                "PLAID_CLIENT_ID": "${PLAID_CLIENT_ID}",
                "PLAID_SECRET": "${PLAID_SECRET}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/plaid"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Plaid Inc.",
        "domain": "plaid.com",
        "domainRegistered": "1995-08-16",
        "domainNote": "plaid.com was registered in 1995, long before Plaid was founded, so the domain was bought later.",
        "endpointOnVendorDomain": true,
        "terms": "https://plaid.com/legal/#developer-policy",
        "privacy": "https://plaid.com/legal/#privacy-statement",
        "statusPage": "https://status.plaid.com",
        "changelog": "https://plaid.com/docs/changelog/",
        "securityTxt": "valid",
        "checked": "2026-09-30",
        "notes": [
          "Plaid Inc. (San Francisco) contracts US customers; Plaid Financial Ltd. (London) and Plaid, B.V. (Amsterdam) cover the UK and the EEA.",
          "security.txt lists HackerOne and security@plaid.com and expires 2026-12-31.",
          "rdap.org returned 403 for the domain; the registration date comes from Verisign's RDAP server."
        ],
        "score": 100
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/plaid.json",
      "live": {
        "slug": "plaid",
        "probe": {
          "target": "https://production.plaid.com",
          "method": "get",
          "lastAt": "2026-10-05T02:30:00.690742433Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 327,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 341,
          "p95ms24h": 380,
          "samples24h": 273,
          "samples30d": 929,
          "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": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.plaid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T02:29:10.085089193Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "plaid",
            "version": "47.0.0",
            "seenAt": "2026-10-04T16:36:51.760760165Z"
          },
          {
            "registry": "pypi",
            "name": "mcp-server-plaid",
            "version": "0.1.1",
            "released": "2026-08-10",
            "seenAt": "2026-10-04T16:36:52.811161778Z"
          },
          {
            "registry": "pypi",
            "name": "plaid-python",
            "version": "45.0.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:36:52.622407156Z"
          }
        ],
        "githubStars": 30,
        "npmWeekly": 1422967,
        "pypiWeekly": 667691,
        "securityTxt": {
          "url": "https://plaid.com/.well-known/security.txt",
          "state": "valid",
          "expires": "2026-12-31T23:59:59.000Z",
          "checkedAt": "2026-10-04T15:15:37.66893569Z"
        },
        "llmsTxt": {
          "url": "https://plaid.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:07.585744142Z"
        },
        "domain": {
          "domain": "plaid.com",
          "registered": "1995-08-16",
          "source": "https://rdap.verisign.com/com/v1/domain/plaid.com",
          "checkedAt": "2026-10-04T13:09:13.710656054Z"
        },
        "pages": [
          {
            "url": "https://plaid.com/docs/changelog/",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:46.640148469Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "eebb58b144f5"
          },
          {
            "url": "https://plaid.com/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:50.975817853Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "b8d841ac37dc"
          },
          {
            "url": "https://plaid.com/legal/",
            "kind": "terms",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:48.957518146Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "bdd4f57d4470"
          }
        ],
        "updatedAt": "2026-10-05T02:30:00.690742433Z"
      }
    },
    "summary": "Plaid has a score of 70 (BB) against Enable Banking's 47.3 (D). Both do bank accounts. The largest gap is schema \u0026 documentation, 39 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid",
    "json": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid.md",
    "slim": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid.min.md"
  },
  "markdown": "Plaid has a score of 70 (BB) against Enable Banking's 47.3 (D). Both do bank accounts. The largest gap is schema \u0026 documentation, 39 points.\n\n- Enable Banking: grade D, 47.3/100, rank #384 of 452. Markdown https://www.anchorterminal.com/tools/enable-banking.md · JSON https://www.anchorterminal.com/api/v1/tools/enable-banking.json\n- Plaid: grade BB, 70/100, rank #103 of 452. Markdown https://www.anchorterminal.com/tools/plaid.md · JSON https://www.anchorterminal.com/api/v1/tools/plaid.json\n\n## Which one, for what\n\nPick Enable Banking for payments \u0026 pricing (+5).\n\nPick Plaid for reliability (+35), schema \u0026 documentation (+39), agent ergonomics (+15), security \u0026 auth (+20), maintenance \u0026 community (+16), transparency \u0026 trust (+30).\n\n## Score by category\n\n| Category | Weight | Enable Banking | Plaid | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 33 | 68 | Plaid +35 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 54 | 93 | Plaid +39 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 82 | Plaid +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 47 | 67 | Plaid +20 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 15 | Enable Banking +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 67 | 83 | Plaid +16 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 51 | 81 | Plaid +30 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **47.3 · D** | **70 · BB** | |\n\n## Facts side by side\n\n| Fact | Enable Banking | Plaid |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Enable Banking | Plaid |\n| Hosted endpoint | `https://api.enablebanking.com` | `https://production.plaid.com` |\n| Transports | HTTP | HTTP, stdio, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Apache-2.0 (code samples) | MIT (SDKs and MCP server) |\n| Tools exposed | none | 4 |\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 | no | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-09 | 2026-09-24 |\n| Popularity | none | 586 stars, 1.3M npm/wk, 657k PyPI/wk |\n| Agent reviews | 3/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Enable Banking.** Restricted mode gives live data for your own whitelisted accounts before any contract. No public prices and a minimum monthly invoice.\n\n**Plaid.** Public OpenAPI file, llms.txt with about 250 entries and a Markdown twin of every docs page. No prices before a Production application, and Transactions, Liabilities and Investments bill per Item each month until removed.\n\n## Before you call either\n\n### Enable Banking\n\n1. Mint one JWT per run with exp under 24 hours; don't reuse a long-lived token across sessions\n2. Test against the Mock ASPSP first; bank sandboxes fail for reasons that aren't yours\n3. Pass the bank's maximum_consent_validity as valid_until, usually 180 days, or you'll be back at the bank sooner\n4. On 429 ASPSP_RATE_LIMIT_EXCEEDED stop until tomorrow; it's the bank's 4-a-day cap\n5. Follow continuation_key until it's absent to get every transaction\n\n### Plaid\n\n1. Point calls at https://sandbox.plaid.com until you hold a Production secret; request shapes are the same\n2. Create a sandbox Item with /sandbox/public_token/create and ins_109508, then /item/public_token/exchange, no Link UI needed\n3. Use /transactions/sync with its cursor and back off on 429 RATE_LIMIT_EXCEEDED yourself, since no Retry-After comes back\n4. Call /item/remove when the user is done, or subscription products keep billing\n5. Send an idempotency_key on `/transfer/authorization/create` so a retried request can't authorise twice\n\n## Other comparisons with Enable Banking or Plaid\n\n- [Enable Banking vs GoCardless Bank Account Data](https://www.anchorterminal.com/compare/enable-banking-vs-gocardless-bank-account-data.md)\n- [Enable Banking vs Salt Edge Account Information](https://www.anchorterminal.com/compare/enable-banking-vs-salt-edge.md)\n- [Enable Banking vs Teller](https://www.anchorterminal.com/compare/enable-banking-vs-teller.md)\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 Plaid](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid.md)\n- [Plaid vs Salt Edge Account Information](https://www.anchorterminal.com/compare/plaid-vs-salt-edge.md)\n- [Plaid vs Teller](https://www.anchorterminal.com/compare/plaid-vs-teller.md)\n- [Plaid vs TrueLayer](https://www.anchorterminal.com/compare/plaid-vs-truelayer.md)\n- [Plaid vs Yapily](https://www.anchorterminal.com/compare/plaid-vs-yapily.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-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": "Enable Banking vs Plaid",
        "url": ""
      }
    ],
    "description": "Plaid has a score of 70 (BB) against Enable Banking's 47.3 (D). Both do bank accounts. The largest gap is schema \u0026 documentation, 39 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Enable Banking D 47.3",
      "Plaid BB 70",
      "scores"
    ],
    "h1": "Enable Banking vs Plaid",
    "image": "https://www.anchorterminal.com/assets/og/compare-enable-banking-vs-plaid.png",
    "path": "/compare/enable-banking-vs-plaid",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Enable Banking vs Plaid for AI agents, D 47.3 vs BB 70",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/enable-banking-vs-plaid"
  },
  "tokens": {
    "markdown": 1400,
    "slim": 330
  },
  "version": 1
}
