{
  "data": {
    "a": {
      "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-05T00:15:28.26611402Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 337,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 341,
          "p95ms24h": 380,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.plaid.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:30.757321538Z"
        },
        "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-05T00:15:28.26611402Z"
      }
    },
    "b": {
      "slug": "salt-edge",
      "name": "Salt Edge Account Information",
      "vendor": "Salt Edge",
      "vendorUrl": "https://www.saltedge.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Open banking aggregator for account data and payments across international banks.",
      "url": "https://www.anchorterminal.com/tools/salt-edge",
      "markdownUrl": "https://www.anchorterminal.com/tools/salt-edge.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/salt-edge.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/salt-edge.json",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://www.saltedge.com/api/v6",
      "packages": [],
      "auth": "api-key",
      "authNotes": "Every request carries App-id and Secret headers from the dashboard. Live applications must also sign requests, with an Expires-at header (UNIX time, at most an hour ahead) and a Signature header, the base64 SHA256 signature of `Expires-at|method|url|body` made with your private key. Test and Pending applications can skip signing. End users authorise through the Connect widget at a connect_url you create per customer.",
      "pricing": "paid",
      "pricingNotes": "No price list. The pricing page returns 404 and the product page points at the dashboard sign-up and a sales form (https://www.saltedge.com/products/account_information). A new dashboard application is in Test status and can only connect to Fake providers and bank sandboxes; moving to Live needs approval, after which rate limits for parallel connections are agreed with a project manager (https://docs.saltedge.com/v6/api_reference).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.saltedge.com/v6/",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "uk",
        "eu",
        "closed-source",
        "enterprise",
        "webhooks"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 46.9,
        "grade": "D",
        "agentReady": false,
        "rank": 393,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 13,
          "payments": 10,
          "reliability": 52,
          "schema": 52,
          "security": 46,
          "transparency": 77
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "5,000-plus banks in more than 50 countries, by Salt Edge's own count. Rate limit exceeded returns HTTP 406 RateLimitExceeded, not 429.",
        "strengths": [
          "5,000-plus banks in more than 50 countries, by Salt Edge's own count",
          "per_page up to 1,000, from_id cursors and filters on account, dates and pending",
          "Consent scopes and period_days, with PUT /consents/{id}/revoke to end one",
          "Fake providers for password, OAuth and SMS flows, plus your own CSV data",
          "Privacy policy names its processors and countries and keeps EU data in the EU"
        ],
        "weaknesses": [
          "Rate limit exceeded returns HTTP 406 RateLimitExceeded, not 429",
          "No public pricing; parallel connection limits are negotiated",
          "No official SDKs, OpenAPI file, llms.txt or changelog",
          "No security.txt, security page, disclosure policy or certification found",
          "Status history readable only for the last fortnight; the JSON feed is blocked by robots.txt"
        ],
        "agentNotes": [
          "Treat HTTP 406 with error_class RateLimitExceeded as a rate limit and back off; it isn't a content-negotiation error",
          "Start with fakebank_simple_xf in country XF; it needs no bank sandbox",
          "Sign requests from the start even in Test, so the move to Live doesn't change your client",
          "Follow next_page from the meta block rather than building from_id URLs yourself",
          "Revoke with PUT /api/v6/consents/{consent_id}/revoke when the user is done"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 2.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 46.9
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 13,
          "payments": 10,
          "reliability": 52,
          "schema": 52,
          "security": 46,
          "transparency": 73
        },
        "provenanceScore": 80
      },
      "connect": {
        "http": "curl https://www.saltedge.com/api/v6/countries -H \"App-id: $SALTEDGE_APP_ID\" -H \"Secret: $SALTEDGE_SECRET\" -H \"Accept: application/json\""
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/salt-edge"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Salt Edge Limited",
        "domain": "saltedge.com",
        "domainRegistered": "2013-12-16",
        "endpointOnVendorDomain": true,
        "terms": "https://www.saltedge.com/legal/terms_of_service",
        "privacy": "https://www.saltedge.com/legal/privacy_policy",
        "statusPage": "https://www.saltedgestatus.com/",
        "changelog": "",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Salt Edge Limited, registered in England and Wales, company 11178811, FCA 822499, is a subsidiary of Salt Edge Inc., which the privacy policy places in Canada, with offices in Canada, the UK and Moldova.",
          "The privacy policy was last updated 14 September 2023.",
          "The domain's registration expires 2026-12-16 per Verisign's RDAP record in the 30 September check; rdap.org returned 403.",
          "www.saltedge.com/.well-known/security.txt returned 404 in the 30 September check, and www.saltedge.com/security returns 404.",
          "No changelog found; product news appears on blog.saltedge.com."
        ],
        "score": 80
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/salt-edge.json",
      "live": {
        "slug": "salt-edge",
        "probe": {
          "target": "https://www.saltedge.com/api/v6",
          "method": "get",
          "lastAt": "2026-10-05T00:15:29.767015813Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 130,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 116,
          "p95ms24h": 196,
          "samples24h": 272,
          "samples30d": 903,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://www.saltedgestatus.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-05T00:11:33.567544815Z"
        },
        "securityTxt": {
          "url": "https://saltedge.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:50.514458459Z"
        },
        "domain": {
          "domain": "saltedge.com",
          "registered": "2013-12-16",
          "source": "https://rdap.verisign.com/com/v1/domain/saltedge.com",
          "checkedAt": "2026-10-04T13:05:42.743352908Z"
        },
        "pages": [
          {
            "url": "https://www.saltedge.com/legal/privacy_policy",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:03.768552244Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "98095fe138d1"
          },
          {
            "url": "https://www.saltedge.com/legal/terms_of_service",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:52:05.993380052Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "d4d5435c5ee6"
          }
        ],
        "updatedAt": "2026-10-05T00:15:29.767015813Z"
      }
    },
    "summary": "Plaid has a score of 70 (BB) against Salt Edge Account Information's 46.9 (D). Both do bank accounts. The largest gap is maintenance \u0026 community, 70 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge",
    "json": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge.md",
    "slim": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge.min.md"
  },
  "markdown": "Plaid has a score of 70 (BB) against Salt Edge Account Information's 46.9 (D). Both do bank accounts. The largest gap is maintenance \u0026 community, 70 points.\n\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- Salt Edge Account Information: grade D, 46.9/100, rank #393 of 452. Markdown https://www.anchorterminal.com/tools/salt-edge.md · JSON https://www.anchorterminal.com/api/v1/tools/salt-edge.json\n\n## Which one, for what\n\nPick Plaid for reliability (+16), schema \u0026 documentation (+41), agent ergonomics (+15), security \u0026 auth (+21), payments \u0026 pricing (+5), maintenance \u0026 community (+70).\n\nPick Salt Edge Account Information for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Plaid | Salt Edge Account Information | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 68 | 52 | Plaid +16 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 93 | 52 | Plaid +41 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 67 | Plaid +15 |\n| Security \u0026 auth | 14% (17.5 this run) | 67 | 46 | Plaid +21 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 15 | 10 | Plaid +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 83 | 13 | Plaid +70 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 81 | 77 | Plaid +4 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **70 · BB** | **46.9 · D** | |\n\n## Facts side by side\n\n| Fact | Plaid | Salt Edge Account Information |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Plaid | Salt Edge |\n| Hosted endpoint | `https://production.plaid.com` | `https://www.saltedge.com/api/v6` |\n| Transports | HTTP, stdio, Streamable HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | MIT (SDKs and MCP server) | none |\n| Tools exposed | 4 | 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 | no |\n| MCP registry | not listed | not listed |\n| Last release | 2026-09-24 | none |\n| Popularity | 586 stars, 1.3M npm/wk, 657k PyPI/wk | none |\n| Agent reviews | 3.5/5 (2) | 2.5/5 (2) |\n\n## Verdicts\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**Salt Edge Account Information.** 5,000-plus banks in more than 50 countries, by Salt Edge's own count. Rate limit exceeded returns HTTP 406 RateLimitExceeded, not 429.\n\n## Before you call either\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### Salt Edge Account Information\n\n1. Treat HTTP 406 with error_class RateLimitExceeded as a rate limit and back off; it isn't a content-negotiation error\n2. Start with fakebank_simple_xf in country XF; it needs no bank sandbox\n3. Sign requests from the start even in Test, so the move to Live doesn't change your client\n4. Follow next_page from the meta block rather than building from_id URLs yourself\n5. Revoke with PUT /api/v6/consents/{consent_id}/revoke when the user is done\n\n## Other comparisons with Plaid or Salt Edge Account Information\n\n- [Enable Banking vs Plaid](https://www.anchorterminal.com/compare/enable-banking-vs-plaid.md)\n- [Enable Banking vs Salt Edge Account Information](https://www.anchorterminal.com/compare/enable-banking-vs-salt-edge.md)\n- [GoCardless Bank Account Data vs Plaid](https://www.anchorterminal.com/compare/gocardless-bank-account-data-vs-plaid.md)\n- [GoCardless Bank Account Data vs Salt Edge Account Information](https://www.anchorterminal.com/compare/gocardless-bank-account-data-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- [Salt Edge Account Information vs Teller](https://www.anchorterminal.com/compare/salt-edge-vs-teller.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",
  "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": "Plaid vs Salt Edge Account Information",
        "url": ""
      }
    ],
    "description": "Plaid has a score of 70 (BB) against Salt Edge Account Information's 46.9 (D). Both do bank accounts. The largest gap is maintenance \u0026 community, 70 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Plaid BB 70",
      "Salt Edge Account Information D 46.9",
      "scores"
    ],
    "h1": "Plaid vs Salt Edge Account Information",
    "image": "https://www.anchorterminal.com/assets/og/compare-plaid-vs-salt-edge.png",
    "path": "/compare/plaid-vs-salt-edge",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Plaid vs Salt Edge Account Information for AI agents, BB 70 vs D 46.9",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/plaid-vs-salt-edge"
  },
  "tokens": {
    "markdown": 1450,
    "slim": 380
  },
  "version": 1
}
