FeelConnect▍
ProductsDocsPricingChangelog
Sign inGet API keys
FeelConnect▍

The developer-first financial data platform.

All systems operational

Products

Open banking APIBank data APITransaction enrichmentFinancial data APIPricing

Developers

DocumentationAPI explorerInstitution directoryDashboardGet API keys

Company

HomePlaid alternativeChangelogfeels.moneySign in

Legal

PrivacyTermsSecurityData processing
© 2026 FeelConnect. All rights reserved./v1 · FC-Version 2026-07-01
  1. FeelConnect
  2. Institutions
  3. Kiwibank
Kiwibank logo

// bank · New Zealand

Connect Kiwibank with the FeelConnect API

Kiwibank is in the institution catalog as inst_kiwibank. This page shows how it routes, what each connector in that chain can read, and the exact calls that start a connection.

institution_id
inst_kiwibank
type
bank
countries
NZ
auth
OAuth
mfa
Possible
catalog status
healthy

Retail and commercial banks. Checking, savings, card, and loan accounts with transaction history. Link hands the user off to the institution's own consent page, so no password is ever seen by your servers or ours. Expect a multi-factor challenge during the flow — Link loops on it until the connector is satisfied.

// what you can read

Products available for Kiwibank.

Support is a property of the connector that serves the connection, not of the institution alone — so the honest answer is a matrix, not a badge.

Rows are this institution’s routing chain in order. Balances, transactions, assets, and recurring streams are available from every connector, because the last two are computed by FeelConnect from the first two. The rest exist only where the connector implements them.
ConnectorBalancesTransactionsRecurringAssetsIdentityIncomeLiabilitiesInvestmentsCrypto
Akahuself-serveNew Zealand open finance. Self-serve app registration at my.akahu.nz, free for personal use.
Sandboxself-serveAlways on. Deterministic simulated data — it never reaches a real institution.

At connect time the registry walks this chain and uses the first connector whose credentials are present in the deployment. Connecting Kiwibank to real data therefore requires the relevant provider credentials to be configured — without them the connection falls through to the sandbox, which serves realistic simulated data and never contacts Kiwibank. Test keys resolve to the sandbox regardless.

// Connecting Kiwibank for real

FeelConnect does not hold bank connections of its own. Every institution in the catalog carries an ordered chain of connectors, and live traffic goes to the first one whose credentials are present in the deployment you are calling.

Some connectors an operator can switch on alone in minutes — GoCardless Bank Account Data (UK and EU banks, free self-signup under their PSD2 licence), Coinbase, Kraken, PayPal, public-address crypto wallets, and CSV / OFX / QFX import. Others need a signed business relationship before they will serve production data, including Plaid, MX, Finicity, Akoya, and Stripe Financial Connections. Where an institution has no enabled connector, a live call returns provider_error rather than pretending.

The sandbox is the exception and it is always on: test keys resolve to the simulated network regardless of credentials, so the full integration is buildable on day one. See going live for the provider-by-provider breakdown.

// how to connect it

Two calls and one modal.

Passing institution_id opens Link directly on Kiwibank instead of the picker — useful when your own UI already asked which bank.

import { FeelConnect } from "@feelconnect/node";
const fc = new FeelConnect({
apiKey: process.env.FEELCONNECT_SECRET_KEY!,
baseUrl: "https://connect.feels.money/v1",
});
// Pin the flow to Kiwibank: Link opens straight on its auth step
// instead of the institution picker.
const { link_token } = await fc.link.createToken({
client_name: "Your app",
user: { client_user_id: "user-123" },
products: ["balances", "transactions", "recurring"],
institution_id: "inst_kiwibank",
});

The browser receives only the link_token, which expires in thirty minutes. Link runs the institution’s auth step, any MFA challenge, account selection, and the consent screen, then hands back a public_token. Exchange it once on your server with fc.link.exchangeToken and store the resulting access_token encrypted. Full walkthrough in the quickstart.

// in the api

Kiwibank as the API returns it.

The response below is generated from this institution's row, so it is the shape and the values a real call gets back.

# Look the institution up by id.
curl https://connect.feels.money/v1/institutions/get_by_id \
-H "Authorization: Bearer $FEELCONNECT_SECRET_KEY" \
-H "Content-Type: application/json" \
-d '{ "institution_id": "inst_kiwibank" }'

logo_url is a path on this origin rather than a third-party CDN, so rendering the mark never tells anyone else which institution your user is looking at. primary_color and monogram are the fallback tile for clients that would rather not load an image at all. Field by field in the institutions reference.

In the sandbox this institution connects today. Because it is flagged as an OAuth institution, Link runs the simulated consent hand-off rather than asking for a password. Either way the item comes back with 24 months of deterministic history — enough to build and demo the whole integration before any provider agreement exists. Sandbox reference.

// related

Institutions that route the same way.

Same category or same market — useful when you are checking coverage rather than one name.

  • ANZ New Zealand logoANZ New ZealandNZ
  • ASB Bank logoASB BankNZ
  • BNZ logoBNZNZ
  • Westpac New Zealand logoWestpac New ZealandNZ
  • Chase logoChaseUS
  • Bank of America logoBank of AmericaUS
  • Barclays logoBarclaysGB
  • HSBC UK logoHSBC UKGB
  • Wells Fargo logoWells FargoUS
  • ICBC logoICBCCN
  • Banco Santander logoBanco SantanderES
  • BNP Paribas logoBNP ParibasFR

// keep reading

Where to go next.

  • All institutionsThe full catalog, grouped by type and country.
  • QuickstartKeys to synced transactions in about ten minutes.
  • Link referenceThe modal, update mode, and the postMessage protocol.
  • Going liveWhich providers are self-serve and which need an agreement.
  • PricingRequests, AI requests, connected users, and rate limits.
  • Bank data APIWhat you read once the connection exists.