
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?
Each website is different. You can install a publicly available script if there is one for your bank.
beanscrape script search mybank
beanscrape script install mybank
Otherwise, you first teach beanscrape how 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 --scripts ./scripts/ # or another folder
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.
We encourage you to contribute your generated scripts back to the community. You can submit them by email or to the forum.
Is it safe?
Financial data deserves sensitive treatment. Beanscrape is designed around progressive trust principles. You can use it according to your level of trust.
- 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 us 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
- All public scripts are reviewed by EnduraByte LLC. They are also reviewable by you and anyone.
What does Beanscrape upload?
- Nothing, ever. Scripts and transactions are saved to text files on your computer.
Why did you make this?
- 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.
Can you make this open source?
- The scripts are open source, but Beanscrape itself is proprietary. If you are a credentialed security researcher and are willing to sign an NDA, we can provide source code for your review.
What does Beanscrape download?
- C# scripts (
.csxfiles) when you runbeanscrape script install - 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 are my credentials saved to?
- 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.