
Beanscrape
CLI for bank scraping
Beanscrape is a command line tool which automates a web browser to scrape transactions from your bank's website. It runs C# scripts (.csx files) that handle the specific steps for each site.
Quick Start
iwr https://www.surebeans.net/beanscrape/releases/win-x64/beanscrape.exe -OutFile beanscrape.execurl -LO https://www.surebeans.net/beanscrape/releases/osx-arm64/beanscrape && chmod +x beanscrapecurl -LO https://www.surebeans.net/beanscrape/releases/linux-x64/beanscrape && chmod +x beanscrapeFAQ
Who is behind Beanscrape?
Beanscrape is made by EnduraByte LLC led by Doug Slater.
How Does it Work?
You first teach beanscrape how to interact with your bank's website:
beanscrape teach mybank
This will open a browser with a panel which guides you to sign in to your website, navigate to transactions, and optionally export a file. The teach command generates a markdown file ./prompts/mybank.md file. You give this file to an LLM like Claude or ChatGPT, and the LLM generates a mybank.csx file.
Optionally, you can save your credentials for auto login. The credential never leaves your computer except to sign in to your bank.
beanscrape credential add mybank # Saves to secure OS storage
Then, you run the script:
beanscrape run ./mybank.csx
Beanscrape opens a browser to the login page at your bank. If you ran credential add, will fill in your username and password and log in automatically, or it will wait for you to log in manually. Then, it navigates to the transactions/statement page and...
- finds the export/download button and parses the downloaded file (CSV, OFX, JSON)
- or reads the web page's HTML, a process known as scraping.
Beanscrape returns your transactions in JSON by default or CSV if you specify --format csv.
Is Beanscrape safe?
Financial data deserves sensitive treatment. Beanscrape is designed around progressive trust principles. You can use it according to your level of trust.
- It's free and open source. Details below.
- No third party sees your credentials or financial data. Just you and your bank.
- Auto log in is convenient, but it's optional. Beanscrape does not save your username and password unless you ask it to with
beanscrape credential add. - When you do save your credentials with Beanscrape, they are saved to secure storage on your computer. Beanscrape never sends them over the internet.
- The binaries are cryptographically signed by EnduraByte LLC, so you can check if you have a legitimate version. Always download Beanscrape directly from our webite.
- The app makes limited and specific use of the internet:
- to update when you run
beanscrape update - to install tools required to automate a browser.
- to update when you run
Is Beanscrape FOSS (free and open-source)?
- Yes. EnduraByte LLC licenses Beanscrape via AGPLv3. View source here.
- You may review, modify, and redistribute the source code according to the terms of the license.
- You may not use the Beanscrape name, logo, or mascot.
Why did you make Beanscrape?
- To make it easier for you to automate your personal finances without paying for a subscription.
- We hope you'll try out our privacy-friendly budgeting app called Surebeans which makes it easy to use Beanscrape.
What does Beanscrape upload?
- Nothing, ever. Scripts and transactions are saved to text files on your computer.
What does Beanscrape download?
- Tools required to automate a browser
- NodeJS, if your system doesn't have it already.
- Playwright, a small node application made by Microsoft which automates a browser.
Where does beanscrape save what it downloaded?
- macOS:
~/.config/beanscrape - Windows:
%localappdata%/beanscrape - Linux:
~/.local/share/beanscrape
Where does beanscrape teach save prompts?
./prompts/{bankid}.md in the current working directory. You can change it with the --output flag
Where does beanscrape run save data?
./output/{timestamp}_{bankid}.json in the current working directory. You can change it with the --outdir flag
Where does Beanscrape save my credentials?
- macOS: login keychain
- Windows:
%localappdata%/beanscrape/credentials.datencrypted with DPAPI - Linux:
- freedesktop Secret Service, if libsecret is available.
- otherwise
~/.local/share/beanscrape/credentials.datencrypted with AES 256 and a machine-bound derived key.
Why are the binaries > 100MB?
We bundle a browser, the .NET runtime, and a C# compiler inside the binary so that all you need is just a single file.
Manual Download
Standalone executable. No installation required.