Fetch ELBA balances, transactions, and depot positions as JSON through Playwright automation.
Browser
revolut
Export Revolut balances, wallet transactions, and investment data as JSON through Playwright.
What it does
Automate Revolut web banking with Playwright to export current account balances, wallet transactions, investment holdings, and investment transactions as JSON. Commands support per-user login, account and portfolio retrieval, date-bounded transaction queries, file output, and logout that deletes the stored browser session.
When to use it
- Refreshing a banker archive
- Exporting multi-currency wallet transactions
- Capturing investment holdings and trades
- Retrieving current account balances
The skill document
Revolut Banking Automation
Fetch current account balances, investment portfolio holdings, and transactions for all wallet currencies and depots in JSON format. Uses Playwright to automate Revolut web banking.
Entry point: {baseDir}/scripts/revolut.py
Setup
See SETUP.md for prerequisites and setup instructions.
Commands
python3 {baseDir}/scripts/revolut.py --user oliver login
python3 {baseDir}/scripts/revolut.py --user oliver accounts
python3 {baseDir}/scripts/revolut.py --user oliver transactions --from YYYY-MM-DD --until YYYY-MM-DD
python3 {baseDir}/scripts/revolut.py --user sylvia portfolio
python3 {baseDir}/scripts/revolut.py --user oliver invest-transactions --from YYYY-MM-DD --until YYYY-MM-DD
Updating Banker (Full Refresh)
To fully synchronize Revolut data into the banker archive:
# 1. Login (needs approval via Revolut App)
python3 {baseDir}/scripts/revolut.py --user oliver login
# 2. Export accounts + portfolios
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_accounts.json accounts
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_portfolio.json portfolio
# 3. Export transactions (separated by wallet and invest depot)
# Find Wallet IDs from the accounts JSON (e.g. EUR wallet, USD wallet)
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_tx_eur.json transactions --account --from 2025-01-01 --until 2026-12-31
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_tx_usd.json transactions --account --from 2025-01-01 --until 2026-12-31
python3 {baseDir}/scripts/revolut.py --user oliver --out /tmp/rev_invest_tx.json invest-transactions --from 2025-01-01 --until 2026-12-31
# 4. Import into banker
# Accounts and Wallet transactions
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut /tmp/rev_accounts.json /tmp/rev_tx_eur.json /tmp/rev_tx_usd.json
# Invest portfolio & transactions (must specify --account revolut_gia)
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut --account revolut_gia /tmp/rev_portfolio.json
python3 ~/Developer/Skills/banker/scripts/banker.py import --bank oliver@revolut --account revolut_gia --kind transactions /tmp/rev_invest_tx.json
# 5. Logout
python3 {baseDir}/scripts/revolut.py --user oliver logout
Recommended Flow
login → accounts → transactions → portfolio → logout
Always call logout after completing all operations to delete the stored browser session.
Notes
- Per-user state stored in
{workspace}/revolut/(deleted bylogout). - Output paths (
--out) are sandboxed to workspace or/tmp. - No
.envfile loading — credentials in config.json only.
Questions people ask
- What Revolut data can I export?
- You can export current account balances, transactions for wallet currencies, investment portfolio holdings, and investment transactions in JSON format.
- Can I limit transactions by account and date?
- Wallet transaction commands accept an account ID plus `--from` and `--until` dates. Investment transactions also support the same date range.
- How are login state and credentials handled?
- Login requires approval in the Revolut app. State is stored per user under the workspace and deleted by `logout`; credentials come from `config.json`, not a `.env` file.
Related skills
Automate George account, portfolio, transaction, and payment-file workflows with Playwright.
Build, debug, and migrate Playwright automation with traces, reliable locators, isolation, and MCP control.
Automate browser interactions, extract page data, and replay saved browser tasks from a CLI.
Fill sensitive forms from saved user data and gate consequential actions with typed approval.
Control browser sessions from the CLI using compact snapshots, stable refs, and post-action diffs.