Hysen Labs
Open-source project
bankbotsbank/bankbotsbank avatar
bankbotsbank

bankbotsbank

Bots providing API access to bank accounts

100 stars13 forksJavaScriptLicense varies
01
DEEP OPEN-SOURCE ANALYSIS

bankbotsbank: giving every bank account a bot

An open effort to get free, programmatic access to personal account data from any bank in the world. It starts with screen scraping, a BBVA bot, and a Nightmare powered stack.

02
DEEP OPEN-SOURCE ANALYSIS

The bet is that banks will not open APIs soon

The premise is simple. Banks do not all expose APIs, so the only route to account data is scraping the screens they show you. The README hopes that one day every bank has an API like Mondo, but treats that as a future state. Until then, the project argues, the workable model is a distributed one where each developer writes a bot against their own bank account and contributes the bot they can actually test. The whole effort is framed as an enabler of new fintech applications, since without account access a lot of fintech ideas never get off the ground.

03
DEEP OPEN-SOURCE ANALYSIS

The first bot targets BBVA

The first bot reads a BBVA account. It returns a JavaScript object, or JSON in the web interface, holding the most recent transactions from the user's main account. The README points to the BBVA bot as a template for building bots against other banks, which makes it the reference implementation of the whole idea. There is also a web form where the bot can be tried directly without writing any code.

04
DEEP OPEN-SOURCE ANALYSIS

Nightmare runs the show, even headless

Under the hood is Nightmare, a browser automation library built on Electron, which is itself Chromium. The BBVA bot drives the bank site through Nightmare and pulls out the transaction data, so the scraping runs against a real browser engine. Deployment is handled with a Dockerfile aimed at AWS Elastic Beanstalk, where the test form and the bot live. The README shows how xvfb-run lets Nightmare run on a server with no graphical display, which is the piece that makes scraping work in the cloud.

06
DEEP OPEN-SOURCE ANALYSIS

Official sources

07
Community notes

Community notes