Simple integration using your language of choice

With first-party OSS libraries in Node, Ruby, PHP, .Net, Java, Elixir, and more you can integrate Teller using the language you want.

# Teller applications use client certificates to guarantee end-to-end security,
# and Teller's tools make them easy to use. Client certificates are mandatory
# for production applications, but you don't need to use them for hacking
# around with read-only access to your own bank accounts.
Teller.config do |c|
c.certificate = "priv/teller_developer_certificate.pem"
c.private_key = "priv/teller_developer_private_key.pem"
end
# Here we initialise a client with an application token. The token is analagous
# to an OAuth 2.0 bearer token, i.e. it represents the owner of the bank accounts
# we're accessing.
client = Teller::Client.new token: "application_token"
# Let's retrieve a collection of bank accounts and pick the first one.
account = client.get("/accounts").first
# Now let's go ahead and get the recent transactions for that account
transactions = client.get(account.links["transactions"])

Powerful APIs

Teller provides a rich suite of APIs allowing you to not only build applications that can read data from your users' bank accounts, but also applications that perform write operations, e.g. making payments.

View accounts

Check balances

View transaction history

Make transfers between accounts

Make payments to 3rd parties

Create, view & destroy payees

View & cancel Direct Debits

View & cancel standing orders

Simple user journeys

Getting users through the authorisation flow quickly is crucial to great UX. We've made it safe and easy for users to grant your application permissions on their bank accounts and back into your app as quick as possible.