{
  "data": {
    "a": {
      "slug": "akoya",
      "name": "Akoya",
      "vendor": "Akoya LLC",
      "vendorUrl": "https://akoya.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Akoya runs a US data access network through which consumers permit apps to read their bank and brokerage accounts. Data recipients call FDX-based REST APIs for accounts, balances, transactions, customer details, statements and consent, after an OAuth consent flow.",
      "url": "https://www.anchorterminal.com/tools/akoya",
      "markdownUrl": "https://www.anchorterminal.com/tools/akoya.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/akoya.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/akoya.json",
      "license": "Proprietary service under the Akoya Terms of Use and a signed data access agreement",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://products.ddp.akoya.com",
      "packages": [],
      "auth": "oauth",
      "authNotes": "OAuth 2.0 authorisation code grant with OpenID Connect. A person requests a Data Recipient Hub account (MFA is mandatory), registers an app and receives a client ID and secret. The consumer signs in at their own institution, picks the accounts to share, and the app exchanges the code at `/token` for an ID token and a refresh token. The ID token is the bearer token for data calls. The only scopes are `openid profile offline_access`, and what an app can read is set by its product subscriptions and the consumer's account selection. The service APIs take a 24-hour service token from separate credentials. Sandbox access is self-service. Production needs a questionnaire, a security review and a signed agreement.",
      "pricing": "paid",
      "pricingNotes": "No price is published. The pricing page names Standard (fewer than 10,000 monthly connections, self-service onboarding) and Enterprise (10,000 or more, custom pricing) without figures, and its FAQ says a set-up or implementation fee may apply. The sandbox is free and self-service with test data, so an agent's owner can start without a contract. Live data needs production approval (https://akoya.com/pricing, checked 2026-10-08).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs, the OpenAPI specifications or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.akoya.com",
      "openapi": "https://docs.akoya.com/guides/akoya-apis-3-0-0-spec",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "oauth",
        "openapi",
        "fdx",
        "us-only",
        "sandbox",
        "webhooks",
        "sales-led",
        "closed-source",
        "soc2"
      ],
      "lastRelease": "2026-08-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 48.3,
        "grade": "D",
        "agentReady": false,
        "rank": 623,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 33,
          "payments": 10,
          "reliability": 28,
          "schema": 70,
          "security": 64,
          "transparency": 58
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.",
        "bestFor": "A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.",
        "strengths": [
          "Data APIs are read-only GET endpoints, and each token covers one consumer, one app and the accounts that consumer selected",
          "OpenAPI 3.1 specifications are published for the Token, Service Token, data, Apps Management, Notifications and Consent APIs",
          "Free self-service sandbox with a test institution (`mikomo`), scripted test users and a public Postman workspace",
          "Written version policy. Breaking changes only in major versions, with a six-month sunset after deprecation",
          "Webhooks report consent revocation, consent updates and planned or unplanned outages, with three delivery attempts"
        ],
        "weaknesses": [
          "No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply",
          "Production access needs an onboarding questionnaire, a security review (SOC 2 report or questionnaire) and an agreement signed by Docusign",
          "No public status page, SLA or numeric rate limit for the data APIs was found. Availability figures sit inside the Data Recipient Hub",
          "The Terms of Use forbid using any automated system to access the network and allow changes and termination without prior notice",
          "No SDK, `llms.txt` or Markdown docs. The OpenAPI files are code blocks to copy from docs pages, not downloadable files"
        ],
        "agentNotes": [
          "Send `x-akoya-interaction-type` (USER or BATCH) and `x-akoya-last-access` on every v3 data call, plus `x-akoya-intent-type` if the app subscribes to Payments",
          "Use the `id_token` as the bearer token. The `/token` response has no `access_token` field, so generic OAuth libraries need adjusting",
          "Treat ID tokens as valid for 15 minutes, refresh on error 602, and store the new refresh token returned by every refresh",
          "Page transactions by following `links.next.href` unchanged. Set `limit`, `startTime` and `endTime` on the first call only",
          "On 429 with code 1207 slow the request rate. On 5xx retry up to three times with exponential backoff"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 48.3
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 33,
          "payments": 10,
          "reliability": 28,
          "schema": 70,
          "security": 64,
          "transparency": 44
        },
        "provenanceScore": 72
      },
      "connect": {
        "http": "curl --request GET --url 'https://sandbox-products.ddp.akoya.com/accounts-info/v3/mikomo' --header 'x-akoya-interaction-type: USER' --header 'x-akoya-last-access: 2025-11-24T00:00:00Z' --header 'accept: application/json' --header 'authorization: Bearer {{id_token}}'"
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/akoya"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Akoya LLC",
        "domain": "akoya.com",
        "domainRegistered": "1998-06-24",
        "endpointOnVendorDomain": true,
        "terms": "https://akoya.com/terms-of-use",
        "privacy": "https://akoya.com/privacy-policy",
        "statusPage": "",
        "changelog": "https://docs.akoya.com/akoya/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The Terms of Use (last updated 20 December 2024) name Akoya LLC and govern use of the Akoya Data Access Network and akoya.com. Production use also runs under a data access agreement signed through Docusign, which is not published.",
          "The privacy policy (last updated 9 June 2025) covers the website and Akoya's products and services, and gives the address 6 Liberty Square #2381, Boston, MA 02109.",
          "The OpenAPI files name https://recipient.ddp.akoya.com/terms-of-use as their licence. That address returned a 755-byte script shell to our reader.",
          "akoya.com/.well-known/security.txt and docs.akoya.com/.well-known/security.txt both returned 404.",
          "No public status page was found. status.akoya.com did not connect, and the docs place network availability and outages inside the Data Recipient Hub, behind a login.",
          "RDAP (Verisign) gives a registration date of 1998-06-24 for akoya.com."
        ],
        "score": 72
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/akoya.json",
      "live": {
        "slug": "akoya",
        "probe": {
          "target": "https://products.ddp.akoya.com",
          "method": "get",
          "lastAt": "2026-10-08T21:12:03.241288067Z",
          "lastOk": true,
          "lastStatus": 403,
          "lastMs": 322,
          "lastNote": "asks for credentials",
          "authRequired": true,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 333,
          "p95ms24h": 384,
          "samples24h": 21,
          "samples30d": 21,
          "days": [
            {
              "date": "2026-10-08",
              "probes": 21,
              "ok": 21
            }
          ]
        },
        "updatedAt": "2026-10-08T21:12:03.241288067Z"
      }
    },
    "answer": "Flinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth.",
    "b": {
      "slug": "flinks",
      "name": "Flinks",
      "vendor": "Flinks Technology Inc. (National Bank of Canada)",
      "vendorUrl": "https://www.flinks.com",
      "kind": "http-api",
      "category": "banking-data",
      "summary": "Flinks is a Canadian bank-data aggregator owned by National Bank of Canada. Its REST API and Flinks Connect widget read accounts, balances, transactions and holder details from Canadian and US institutions with the holder's consent, and start Canadian bank payments.",
      "url": "https://www.anchorterminal.com/tools/flinks",
      "markdownUrl": "https://www.anchorterminal.com/tools/flinks.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/flinks.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/flinks.json",
      "license": "Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found",
      "transports": [
        "http"
      ],
      "packages": [],
      "auth": "api-key",
      "authNotes": "Two static keys issued by Flinks at onboarding. The secret key goes in the `flinks-auth-key` header of `/GenerateAuthorizeToken` and returns a single-use authorise token that expires after 15 minutes. Data endpoints take the `requestId` from `/Authorize` plus an `x-api-key` header. Neither key expires, and no scopes were found. Webhooks are signed with HMAC-SHA256 in a `flinks-authenticity-key` header. Flinks Outbound, the open banking product, uses an OAuth 2.0 authorisation code flow with a `client_id` and `client_secret` and Bearer tokens. Sandbox keys for the shared Toolbox instance are published in the docs. Production keys come from a Flinks representative after a contract.",
      "pricing": "paid",
      "pricingNotes": "Plans with a monthly minimum and a one-year term (https://www.flinks.com/pricing, checked 2026-10-08). Connect is $500 a month for 200 unique connections, $1,250 for 1,100, and custom from 20,000. Enrich is $250 a month for 100 API calls and $1,100 for 1,250. Upload is $500 a month for 20 documents and $1,500 for 100. Flinks Pay is quoted by sales. The page does not state the currency or the overage rates, and says there is no pay-as-you-go plan and no self-serve trial. The Toolbox sandbox is free, with keys published in the docs and no card.",
      "priceSummary": "Paid",
      "where": "local",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the docs index, the ten OpenAPI files or the pricing page (checked 2026-10-08).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-08"
      },
      "docsUrl": "https://docs.flinks.com",
      "llmsTxt": "https://docs.flinks.com/llms.txt",
      "openapi": "https://docs.flinks.com/openapi.yaml",
      "capabilities": [
        "bank.accounts",
        "bank.transactions",
        "bank.identity",
        "bank.payments",
        "bank.consent"
      ],
      "tags": [
        "hosted",
        "api-key",
        "openapi",
        "llms-txt",
        "webhooks",
        "sandbox",
        "canada",
        "us",
        "enterprise",
        "sales-led",
        "status-page",
        "closed-source"
      ],
      "lastRelease": "2026-09-01",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 52.7,
        "grade": "D",
        "agentReady": false,
        "rank": 559,
        "ranked": true,
        "rankOf": 722,
        "categoryRank": 7,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 25,
          "reliability": 53,
          "schema": 83,
          "security": 50,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-08"
        },
        "negative": 0,
        "verdict": "Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days.",
        "bestFor": "A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.",
        "strengths": [
          "Ten OpenAPI 3.0 files are public at docs.flinks.com, 85 operations in all, with the main Connect and Enrich file holding 34",
          "Shared sandbox keys for the Toolbox instance are published in the docs, so test calls need no account",
          "llms.txt lists 216 pages with Markdown twins, and the docs add a skill file and a read-only documentation MCP server",
          "Plan prices are public. Connect starts at $500 a month for 200 unique connections, with no integration or platform fee",
          "Each instance is hosted in the country it serves, Canada or the US, and `/DeleteCard` deletes all data held for a connection"
        ],
        "weaknesses": [
          "Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial",
          "The secret key, `x-api-key` and HMAC secret do not expire, and no scopes or rotation steps were found for the Connect API",
          "No rate-limit numbers are published, and `TOO_MANY_REQUESTS` is documented under HTTP 401 with no Retry-After",
          "status.flinks.com lists 77 incidents in the 90 days to 8 October 2026, 16 of them on Flinks' own components",
          "`/GetAccountsDetail` returns the whole 90 or 365 days of transactions in one payload with no pagination, and no official SDK was found"
        ],
        "agentNotes": [
          "Call `/GenerateAuthorizeToken` with the secret key in `flinks-auth-key`, then pass the returned token to the Connect iframe or to `/Authorize`. The token is single-use and expires after 15 minutes.",
          "Send the account holder through Flinks Connect in a browser. The API alone cannot complete a first bank login, and sandbox iframes need `demo=true`.",
          "Store the `loginId`. Call `/Authorize` with it and `MostRecentCached: true` for a new `requestId` each session, because `/GetAccountsDetail` consumes the `requestId`.",
          "On a 202 from `/GetAccountsDetail`, poll `/GetAccountsDetailAsync` every 10 seconds for at most 30 minutes, or ask support to enable webhooks.",
          "Route each end user to the instance for their country. A `loginId` from the Canadian instance is not valid on the US one."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "D",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 52.7
          }
        ],
        "editorialScores": {
          "ergonomics": 54,
          "maintenance": 31,
          "payments": 25,
          "reliability": 53,
          "schema": 83,
          "security": 50,
          "transparency": 48
        },
        "provenanceScore": 71
      },
      "connect": {
        "http": "curl --request POST \\\n  --url https://toolbox-api.private.fin.ag/v3/{customerId}/BankingServices/GenerateAuthorizeToken \\\n  --header 'Content-Type: application/json' \\\n  --header 'flinks-auth-key: YOUR_SECRET_KEY'",
        "claudeCode": "claude mcp add flinks --transport http https://docs.flinks.com/mcp"
      },
      "letme": {
        "capability": "https://letme.dev/bank.accounts",
        "tool": "https://letme.dev/flinks"
      },
      "area": "domain-data",
      "provenance": {
        "legalEntity": "Flinks Technology Inc.",
        "domain": "flinks.com",
        "domainRegistered": "1997-06-03",
        "endpointOnVendorDomain": false,
        "terms": "https://www.flinks.com/terms-and-conditions",
        "privacy": "https://www.flinks.com/privacy-policy",
        "statusPage": "https://status.flinks.com",
        "changelog": "https://docs.flinks.com/changelog",
        "securityTxt": "none",
        "checked": "2026-10-08",
        "notes": [
          "The terms link is the Master Terms and Conditions, last updated 3 August 2023, which govern use of the Flinks technology under an order form and name Flinks Technology Inc. Service schedules for connectivity, enrichment and upload are separate pages on flinks.com.",
          "The privacy link holds the General Privacy Statement (22 September 2022) and the Services Privacy Statement (19 April 2024) on one page. The Services statement covers bank data read through the product and names National Bank of Canada as Flinks' parent company.",
          "API calls go to https://{instance}-api.private.fin.ag and the widget to https://{instance}-iframe.private.fin.ag. Flinks Outbound answers at ob.flinksapp.com. Neither is under flinks.com, so the endpoint is recorded as off the vendor's domain. We did not confirm the registrant of fin.ag.",
          "flinks.com/.well-known/security.txt, www.flinks.com/.well-known/security.txt and docs.flinks.com/.well-known/security.txt return 404. The security page gives security@flinks.com for vulnerability reports.",
          "status.flinks.com runs on incident.io. changelog.flinks.com redirects to docs.flinks.com/changelog.",
          "Verisign RDAP gives 1997-06-03 as the registration date of flinks.com and GoDaddy.com, LLC as registrar. No street address for the company was found on the pages read."
        ],
        "score": 71
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/flinks.json",
      "live": {
        "slug": "flinks",
        "vendorStatus": {
          "page": "https://status.flinks.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-08T21:06:05.492387918Z"
        },
        "updatedAt": "2026-10-08T21:06:05.492387918Z"
      }
    },
    "facts": [
      {
        "a": "HTTP API",
        "b": "HTTP API",
        "name": "Kind"
      },
      {
        "a": "Akoya LLC",
        "b": "Flinks Technology Inc. (National Bank of Canada)",
        "name": "Vendor"
      },
      {
        "a": "https://products.ddp.akoya.com",
        "b": "no (local only)",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Paid",
        "b": "Paid",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "Proprietary service under the Akoya Terms of Use and a signed data access agreement",
        "b": "Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found",
        "name": "Licence"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Read-only variant documented"
      },
      {
        "a": "no",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-05",
        "b": "2026-09-01",
        "name": "Last release"
      },
      {
        "a": "2024-12-20",
        "b": "2023-08-03",
        "name": "Terms last updated"
      },
      {
        "a": "no date given",
        "b": "2022-09-22",
        "name": "Privacy policy last updated"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      }
    ],
    "faq": [
      {
        "answer": "Flinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth.",
        "question": "Which is better for AI agents, Akoya or Flinks?"
      },
      {
        "answer": "Akoya uses an OAuth sign-in. Flinks needs an API key.",
        "question": "Do Akoya and Flinks need an API key?"
      },
      {
        "answer": "Akoya has a hosted endpoint at https://products.ddp.akoya.com. No hosted endpoint is listed for Flinks.",
        "question": "Can an agent call Akoya and Flinks without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Agent ergonomics, 67 against 54",
          "Security \u0026 auth, 64 against 50"
        ],
        "also": [
          "A hosted endpoint, with nothing to install"
        ],
        "goodFor": "A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.",
        "slug": "akoya",
        "watchFor": "No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply"
      },
      {
        "aheadOn": [
          "Reliability, 53 against 28",
          "Schema \u0026 documentation, 83 against 70",
          "Payments \u0026 pricing, 25 against 10"
        ],
        "also": null,
        "goodFor": "A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.",
        "slug": "flinks",
        "watchFor": "Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial"
      }
    ],
    "job": {
      "capability": "bank.accounts",
      "name": "Bank accounts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-belvo.json",
        "title": "Akoya vs Belvo",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-belvo"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-enable-banking.json",
        "title": "Akoya vs Enable Banking",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-enable-banking"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data.json",
        "title": "Akoya vs GoCardless Bank Account Data",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data"
      },
      {
        "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-plaid.json",
        "title": "Akoya vs Plaid",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-salt-edge.json",
        "title": "Akoya vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-teller.json",
        "title": "Akoya vs Teller",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-teller"
      },
      {
        "json": "https://www.anchorterminal.com/compare/akoya-vs-tink.json",
        "title": "Akoya vs Tink",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-tink"
      },
      {
        "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/akoya-vs-yapily.json",
        "title": "Akoya vs Yapily",
        "url": "https://www.anchorterminal.com/compare/akoya-vs-yapily"
      },
      {
        "json": "https://www.anchorterminal.com/compare/belvo-vs-flinks.json",
        "title": "Belvo vs Flinks",
        "url": "https://www.anchorterminal.com/compare/belvo-vs-flinks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/enable-banking-vs-flinks.json",
        "title": "Enable Banking vs Flinks",
        "url": "https://www.anchorterminal.com/compare/enable-banking-vs-flinks"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-gocardless-bank-account-data.json",
        "title": "Flinks vs GoCardless Bank Account Data",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-gocardless-bank-account-data"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-mx.json",
        "title": "Flinks vs MX Platform API",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-mx"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-plaid.json",
        "title": "Flinks vs Plaid",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-plaid"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-salt-edge.json",
        "title": "Flinks vs Salt Edge Account Information",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-salt-edge"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-teller.json",
        "title": "Flinks vs Teller",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-teller"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-tink.json",
        "title": "Flinks vs Tink",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-tink"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-truelayer.json",
        "title": "Flinks vs TrueLayer",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-truelayer"
      },
      {
        "json": "https://www.anchorterminal.com/compare/flinks-vs-yapily.json",
        "title": "Flinks vs Yapily",
        "url": "https://www.anchorterminal.com/compare/flinks-vs-yapily"
      }
    ],
    "scores": [
      {
        "akoya": 28,
        "by": 25,
        "edge": "flinks",
        "flinks": 53,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "akoya": 70,
        "by": 13,
        "edge": "flinks",
        "flinks": 83,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "akoya": 67,
        "by": 13,
        "edge": "akoya",
        "flinks": 54,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "akoya": 64,
        "by": 14,
        "edge": "akoya",
        "flinks": 50,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "akoya": 10,
        "by": 15,
        "edge": "flinks",
        "flinks": 25,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "akoya": 33,
        "by": 2,
        "edge": "akoya",
        "flinks": 31,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "akoya": 58,
        "by": 2,
        "edge": "flinks",
        "flinks": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Flinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth. Both do bank accounts.",
    "verdicts": {
      "akoya": "Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.",
      "flinks": "Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/akoya-vs-flinks",
    "json": "https://www.anchorterminal.com/compare/akoya-vs-flinks.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/akoya-vs-flinks.md",
    "slim": "https://www.anchorterminal.com/compare/akoya-vs-flinks.min.md"
  },
  "markdown": "Flinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth. Both do bank accounts.\n\n- Akoya: grade D, 48.3/100, rank #623 of 722. Markdown https://www.anchorterminal.com/tools/akoya.md · JSON https://www.anchorterminal.com/api/v1/tools/akoya.json\n- Flinks: grade D, 52.7/100, rank #559 of 722. Markdown https://www.anchorterminal.com/tools/flinks.md · JSON https://www.anchorterminal.com/api/v1/tools/flinks.json\n\n## Which one, for what\n\n### Akoya (D)\n\nGood for: A US fintech that wants consumer-permissioned data over direct institution APIs in FDX format and can pass a security review.\n\nAhead on:\n- Agent ergonomics, 67 against 54\n- Security \u0026 auth, 64 against 50\n\nAlso in its favour:\n- A hosted endpoint, with nothing to install\n\nWatch for: No price is published. Standard (under 10,000 monthly connections) and Enterprise are named without figures, and a set-up fee may apply\n\n### Flinks (D)\n\nGood for: A lender or fintech with steady volume that needs Canadian bank data, income and lending attributes, PDF statements or Canadian bank payments.\n\nAhead on:\n- Reliability, 53 against 28\n- Schema \u0026 documentation, 83 against 70\n- Payments \u0026 pricing, 25 against 10\n\nWatch for: Live access needs a contract with a monthly minimum and a one-year term. The pricing page says there is no pay-as-you-go plan or self-serve trial\n\n\n## Score by category\n\n| Category | Weight | Akoya | Flinks | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 28 | 53 | Flinks +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 70 | 83 | Flinks +13 |\n| Agent ergonomics | 13% (16.2 this run) | 67 | 54 | Akoya +13 |\n| Security \u0026 auth | 14% (17.5 this run) | 64 | 50 | Akoya +14 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 10 | 25 | Flinks +15 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 33 | 31 | Akoya +2 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 58 | 60 | Flinks +2 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **48.3 · D** | **52.7 · D** | |\n\n## Facts side by side\n\n| Fact | Akoya | Flinks |\n| --- | --- | --- |\n| Kind | HTTP API | HTTP API |\n| Vendor | Akoya LLC | Flinks Technology Inc. (National Bank of Canada) |\n| Hosted endpoint | `https://products.ddp.akoya.com` | no (local only) |\n| Transports | HTTP | HTTP |\n| Auth | OAuth | API key |\n| Pricing | Paid | Paid |\n| x402 | no | no |\n| Licence | Proprietary service under the Akoya Terms of Use and a signed data access agreement | Proprietary service under Flinks' Master Terms and Conditions. No open-source SDK or repository was found |\n| Read-only variant documented | yes | yes |\n| llms.txt | no | yes |\n| Last release | 2026-08-05 | 2026-09-01 |\n| Terms last updated | 2024-12-20 | 2023-08-03 |\n| Privacy policy last updated | no date given | 2022-09-22 |\n| Customer content may train models | not found in the text | not found in the text |\n| Terms restrict automated access | yes | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | yes |\n| Arbitration or class-action waiver | not found in the text | not found in the text |\n\n## Verdicts\n\n**Akoya.** Six OpenAPI 3.1 specifications, a free self-service sandbox and read-only data endpoints behind per-consumer OAuth tokens make the API straightforward to test. Production needs a security review and a signed agreement, no price is published, and no public status page, SLA, SDK or `llms.txt` was found.\n\n**Flinks.** Ten public OpenAPI files, an llms.txt index with Markdown twins and published sandbox keys let an agent start without a signup. Live access needs a one-year contract from $500 a month, keys never expire, no rate-limit numbers are published, and the status page logged 77 incidents in 90 days.\n\n## Before you call either\n\n### Akoya\n\n1. Send `x-akoya-interaction-type` (USER or BATCH) and `x-akoya-last-access` on every v3 data call, plus `x-akoya-intent-type` if the app subscribes to Payments\n2. Use the `id_token` as the bearer token. The `/token` response has no `access_token` field, so generic OAuth libraries need adjusting\n3. Treat ID tokens as valid for 15 minutes, refresh on error 602, and store the new refresh token returned by every refresh\n4. Page transactions by following `links.next.href` unchanged. Set `limit`, `startTime` and `endTime` on the first call only\n5. On 429 with code 1207 slow the request rate. On 5xx retry up to three times with exponential backoff\n\n### Flinks\n\n1. Call `/GenerateAuthorizeToken` with the secret key in `flinks-auth-key`, then pass the returned token to the Connect iframe or to `/Authorize`. The token is single-use and expires after 15 minutes.\n2. Send the account holder through Flinks Connect in a browser. The API alone cannot complete a first bank login, and sandbox iframes need `demo=true`.\n3. Store the `loginId`. Call `/Authorize` with it and `MostRecentCached: true` for a new `requestId` each session, because `/GetAccountsDetail` consumes the `requestId`.\n4. On a 202 from `/GetAccountsDetail`, poll `/GetAccountsDetailAsync` every 10 seconds for at most 30 minutes, or ask support to enable webhooks.\n5. Route each end user to the instance for their country. A `loginId` from the Canadian instance is not valid on the US one.\n\n## Questions\n\n### Which is better for AI agents, Akoya or Flinks?\n\nFlinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth.\n\n### Do Akoya and Flinks need an API key?\n\nAkoya uses an OAuth sign-in. Flinks needs an API key.\n\n### Can an agent call Akoya and Flinks without installing anything?\n\nAkoya has a hosted endpoint at https://products.ddp.akoya.com. No hosted endpoint is listed for Flinks.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/akoya-vs-flinks.json, and with the fewest tokens: https://www.anchorterminal.com/compare/akoya-vs-flinks.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"akoya\", \"b\": \"flinks\"}`. From a terminal: `anchor compare akoya flinks`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/akoya.json and https://www.anchorterminal.com/api/v1/tools/flinks.json\n\n## Other comparisons with Akoya or Flinks\n\n- [Akoya vs Belvo](https://www.anchorterminal.com/compare/akoya-vs-belvo.md)\n- [Akoya vs Enable Banking](https://www.anchorterminal.com/compare/akoya-vs-enable-banking.md)\n- [Akoya vs GoCardless Bank Account Data](https://www.anchorterminal.com/compare/akoya-vs-gocardless-bank-account-data.md)\n- [Akoya vs MX Platform API](https://www.anchorterminal.com/compare/akoya-vs-mx.md)\n- [Akoya vs Plaid](https://www.anchorterminal.com/compare/akoya-vs-plaid.md)\n- [Akoya vs Salt Edge Account Information](https://www.anchorterminal.com/compare/akoya-vs-salt-edge.md)\n- [Akoya vs Teller](https://www.anchorterminal.com/compare/akoya-vs-teller.md)\n- [Akoya vs Tink](https://www.anchorterminal.com/compare/akoya-vs-tink.md)\n- [Akoya vs TrueLayer](https://www.anchorterminal.com/compare/akoya-vs-truelayer.md)\n- [Akoya vs Yapily](https://www.anchorterminal.com/compare/akoya-vs-yapily.md)\n- [Belvo vs Flinks](https://www.anchorterminal.com/compare/belvo-vs-flinks.md)\n- [Enable Banking vs Flinks](https://www.anchorterminal.com/compare/enable-banking-vs-flinks.md)\n- [Flinks vs GoCardless Bank Account Data](https://www.anchorterminal.com/compare/flinks-vs-gocardless-bank-account-data.md)\n- [Flinks vs MX Platform API](https://www.anchorterminal.com/compare/flinks-vs-mx.md)\n- [Flinks vs Plaid](https://www.anchorterminal.com/compare/flinks-vs-plaid.md)\n- [Flinks vs Salt Edge Account Information](https://www.anchorterminal.com/compare/flinks-vs-salt-edge.md)\n- [Flinks vs Teller](https://www.anchorterminal.com/compare/flinks-vs-teller.md)\n- [Flinks vs Tink](https://www.anchorterminal.com/compare/flinks-vs-tink.md)\n- [Flinks vs TrueLayer](https://www.anchorterminal.com/compare/flinks-vs-truelayer.md)\n- [Flinks vs Yapily](https://www.anchorterminal.com/compare/flinks-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": "Akoya vs Flinks",
        "url": ""
      }
    ],
    "description": "Flinks scores 52.7 (D) on agent readiness against Akoya's 48.3 (D), and leads in 4 of 7 scored categories. Akoya leads on agent ergonomics and security \u0026 auth. Both do bank accounts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Akoya D 48.3",
      "Flinks D 52.7",
      "scores"
    ],
    "h1": "Akoya vs Flinks",
    "image": "https://www.anchorterminal.com/assets/og/compare-akoya-vs-flinks.png",
    "path": "/compare/akoya-vs-flinks",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Akoya vs Flinks for AI agents, D 48.3 vs D 52.7 | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-08",
    "url": "https://www.anchorterminal.com/compare/akoya-vs-flinks"
  },
  "tokens": {
    "markdown": 2250,
    "slim": 580
  },
  "version": 1
}
