Teller Create free account
Stevie Graham

Teller exists to improve the quality and value of financial services for everyone. Providing developers with tools to connect to existing banking infrastructure is the highest leverage way for us to achieve this.

Before Teller we set out to build a better way to process online payments in the UK by building on something called Faster Payments. By doing so we believed we could reduce the cost of payment acceptance, fraud, and the time it takes for merchants to get their money. Accessing Faster Payments at the time required the sponsorship of a member bank, and as card processing fees generate significant revenue predictably none of them wanted to sponsor us. When we told our friends this they all said “If bank accounts had APIs you could have built this!”, and “I really wish bank accounts had APIs”. So although our original idea wasn’t possible we’d discovered that folks wanted APIs for their bank accounts. But if we couldn’t get one deal done with a payments scheme, doing a deal with every bank we wanted to connect to this hypothetical bank account API platform seemed even more impossible.

The problem was banks didn’t have external APIs… or did they? Sometime later we realized they must exist. It would be the most obvious way to power their own mobile apps. We found that they did but banks had gone to almost absurd lengths to stop 3rd parties using them. Eventually we were making API calls into our own bank accounts and Teller was born.

Today, we don’t partner or have any direct relationships with any bank we provide API access to. Instead we reverse engineer each bank’s mobile app to discover their private APIs and provide access by calling into those directly. We don’t rule out a closer working relationship with banks in the future, but we believe that today our approach results in a better outcome for end-users.

Let me explain why:

1. Banks don’t build great products

Banks are not technology companies, but it’s now more important than ever for every company to be one. Legacy banks fail to deliver the level of product quality we’ve come to expect and the market has not created the incentives for that to change.

Retail banking is dominated by a few large banks. When one innovates, the others react, nobody wins any significant new amount of business, and everyone just compressed their margins for nothing. It’s a zero sum game for them. Smaller banks are unable to innovate lacking the resources to even build their own technology. Reduced to buying core parts of their product like their mobile apps off the shelf from 3rd party vendors.

With this lack of competitive pressure, nobody has the incentive to build great digital products, and it shows. Compare your bank’s app to Instagram, Spotify, Airbnb, or any other top-tier technology company. They’re clunky and slow. Worse they’re usually an absolute mess with dozens of business units competing to have their widget shoe-horned in regardless of whether it serves the user or even makes sense in the context of a banking app.

I'm not interested in staying at the Holiday Inn for 10% off folks. Please just show me my bank account?

A huge opportunity exists for nimble technology startups to build better product experiences and to serve niches big banks will never cater to.

2. Banks don’t provide good value to customers

Banks depend on those with money depositing it in low yield accounts, lending out to those with less at far higher rates, and then charging those with punitive fees for not having any money at all! This is the retail banking business model. Should every customer be charged more or less the same amount to borrow? Is it fair or even necessary to penalize the poorest customers for being poor?

There is massive opportunity to provide better value financial services to customers by using alternative data sources like bank account data to make more accurate and precise credit-risk decisions. New entrants unencumbered by the cost of legacy branch networks, organizational inefficiencies and regulation need to generate less income for the same or better margins, allowing the cost to be passed on to the customer.

3. Direct, first party API integrations are not the solution

The vast majority of use cases for bank account APIs involve providing better value to customers, e.g. by providing a higher earning home for your money or cheaper lending. Most use cases can be distilled down to this. This is directly competitive with the retail banking business model. What makes you think that banks would make great APIs even if they could? Banks don’t want API access to exist, because it opens them up to competition from thousands of more focussed competitors that they will struggle to deal with.

As banks do ship APIs pay careful attention to how much they allow you to effectively compete with them. Do the APIs enable the user to do anything they can do in the bank’s own app? Can you move money? Do the consent flows have great UX or do they look like phishing sites designed to scare users? Are there any troubling terms in your API agreement that gives the bank the ability to dictate what activities you can perform, who you can work with, or to limit or terminate your API access for any reason whatsoever?

I don't know about you but this kinda smells phishy to me.

The biggest problem with first party APIs is that banks will never use them for their own products therefore there is no incentive for them to be reliable, highly available, or able to do everything the bank’s own products can do. Given that the primary use case of a banking API enables competition you might draw your own conclusion that the opposite incentives in fact exist.

Anecdotally, on the day one of our customers switched to Teller, the direct integration API endpoint was down for the biggest bank in the US while Teller was up handling traffic without interruption. They also saw their conversion rates go up significantly after the switch was complete.

Teller gives you the freedom to build whatever you want to build.

4. Regulation is not the answer

Regulators generally make things worse and if they care about good outcomes for customers and competition they should avoid large-scale intervention and broadly leave it to the market to solve.

Regulation creates barriers to entry and compliance requirements that only serve to protect those able to afford it as a cost of excluding competition. Regulators have a tendency to become dominated by the interests they regulate and not the public interest. Every highly regulated industry ends up with the public paying higher prices than less or unregulated industries.

European regulators mandated banks expose APIs and at the same time made more or less everything using bank account data a regulated activity. According to the letter of the law even an app that tracks how much you spend on coffee each week is regulated. Honestly, ask yourselves who does that protect other than incumbent interests? Seeking authorization involves an application fee of thousands of Euros, insurance, own capital requirements, detailed business plans, vendor risk assessments, and disaster recovery plans amongst other things. All this for a coffee spend tracker? Practically speaking this is tens of thousands of Euros to test the viability of an idea before having spent a single cent on developing the idea itself. How many people will discover this and decide it isn’t worth it? When this regulation came into force, we checked how many entities had obtained authorization where we’re from in the UK. It was around 80 for a country of around 65 million people. Regulatory capture unquestionably has a chilling effect on competition.

The regulation in Europe also requires your application to re-obtain consent every 90 days. This means that every 90 days you face churning your customer, made even more likely as they have to go through the bank’s clunky consent process. Banks and fintechs should be competing on an even keel. It’s not fair that fintech startups that have completed a rigorous process and become authorized by a national regulator should have to re-obtain consent every 90 days where the banks themselves don’t have to do this.

Regulation benefits incumbents, not you or end-users.

5. Other providers depend on unreliable technology

Our competition depends on outdated techniques on extracting data from banks known as “screen-scraping”. Essentially this means they go to your bank’s website, log in as you, and scrape the data off the page. Not only is this very slow it can also break in thousands of ways. If you’ve built anything with one of these vendors you will be well aware of the myriad of problems they have and will have earned the gray hairs to prove it. Screen-scraping is so bad these vendors are moving to direct 1st party integrations despite the problems we highlighted above.

Teller uses real APIs, the same APIs that power the bank’s own mobile app. This is a far superior approach resulting in fast, robust, and reliable APIs that don’t break in unexpected ways.


In order to deliver a new wave of innovation and value to the public, fintechs require fast and reliable API access to customer bank accounts. APIs that don’t break in unexpected ways compromising user experience. APIs that let you build what you want, how you want, and for who you want. APIs made for you by us.