Scraper App
May 4, 2026 · View on GitHub
A local web app that scrapes Israeli bank accounts and uploads transactions to your Accounter server.
Prerequisites
- Node.js v22 or later
- A running Accounter server with a scraper API key configured
- Yarn Berry (v4) — the repo uses Yarn workspaces
How to start
Development mode
Run the Fastify server (serves the UI and handles scraping):
yarn workspace @accounter-helper/scraper-app dev:server
Then open http://localhost:4001 in your browser.
The default port is
4001. Override it with thePORTenvironment variable (see below).
Build for production
yarn workspace @accounter-helper/scraper-app build
This produces:
dist/— compiled Fastify server (run withnode dist/index.js)dist/ui/— compiled React SPA (served statically by the server)
To run the production build:
node packages/scraper-app/dist/index.js
First-run vault setup
- Open the app in your browser. You will see the Vault Setup wizard.
- Step 1 — Choose password: Enter and confirm a master password. This encrypts all stored credentials.
- Step 2 — Server connection: Enter your Accounter server URL (e.g.
http://localhost:4000/graphql) and your scraper API key. - Step 3 — Confirm: Review and click Create vault. The vault is saved locally as an encrypted file.
- You will be taken to the main app. Navigate to Config → Credentials to add bank sources.
On subsequent visits, you will be prompted to unlock the vault with your master password.
Adding bank sources
- Go to Config → Credentials.
- Select a source type from the dropdown and click Add source.
- Fill in the credentials form for your bank (username/password, OTP seed, etc.).
- Click Save. The source appears in the list.
Running a scrape
- Go to the Run tab.
- Select the sources you want to scrape (all are selected by default).
- Set the date range — either "Last N months" or a custom from/to range.
- Click Run. The scraper runs in the background; task rows show live status.
- If a Poalim account requires an OTP, a dialog will appear — enter the code and submit.
- When the run completes, a summary shows total new / skipped transactions.
Environment variables
| Variable | Default | Description |
|---|---|---|
PORT | 4001 | HTTP port the Fastify server listens on |
VAULT_PATH | .vault | Path to the encrypted vault file |
Example:
PORT=8080 VAULT_PATH=/data/my.vault node dist/index.js
Vault backup
The vault file (default: .vault in the working directory) contains all encrypted credentials.
Back up this file — if lost, you will need to re-enter all credentials.
The vault file path is also shown in Config → Settings with a one-click copy button.