Skip to content
This repository has been archived by the owner on Sep 9, 2022. It is now read-only.

tducret/revolut-python

Repository files navigation

revolut-python

Travis Coveralls github PyPI License

Description

Non-official client for the Revolut Bank

I wrote a French blog post about it here

Requirements

  • Python 3
  • pip3

Installation

pip3 install -U revolut

CLI tool : revolut_cli.py

Usage: revolut_cli.py [OPTIONS]

  Get the account balances on Revolut

Options:
  -d, --device-id TEXT  your Revolut token (or set the env var
                        REVOLUT_DEVICE_ID)

  -t, --token TEXT      your Revolut token (or set the env var REVOLUT_TOKEN)
  -l, --language TEXT   language ("fr" or "en"), for the csv header and
                        separator

  -a, --account TEXT    account name (ex : "EUR CURRENT") to get the balance
                        for the account

  --version             Show the version and exit.
  --help                Show this message and exit

Example output :

Account name,Balance,Currency
EUR CURRENT,100.50,EUR
GBP CURRENT,20.00,GBP
USD CURRENT,0.00,USD
AUD CURRENT,0.00,AUD
BTC CURRENT,0.00123456,BTC
EUR SAVINGS (My vault),10.30,EUR

If you don't have a Revolut token yet, the tool will allow you to obtain one.

⚠️ If you don't receive a SMS when trying to get a token, you need to logout from the app on your Smartphone. ⚠️ You may also receive an authentication email instead of a SMS. Take note of the link on the Authenticate button. It should look like https://revolut.com/app/email-authenticate/<CODE>?scope=login. You can enter this code in the CLI.

Pulling transactions

Usage: revolut_transactions.py [OPTIONS]

  Get the account balances on Revolut

Options:
  -d, --device-id TEXT            your Revolut token (or set the env var
                                  REVOLUT_DEVICE_ID)

  -t, --token TEXT                your Revolut token (or set the env var
                                  REVOLUT_TOKEN)

  -l, --language [en|fr]          language for the csv header and separator
  -t, --from_date [%Y-%m-%d]      transactions lookback date in YYYY-MM-DD
                                  format (ex: "2019-10-26"). Default 30 days
                                  back

  -fmt, --output_format [csv|json]
                                  output format
  -r, --reverse                   reverse the order of the transactions
                                  displayed

  --help                          Show this message and exit.

Example output :

Date-time,Description,Amount,Currency
08/26/2019 21:31:00,Card Delivery Fee,-59.99,SEK
09/14/2019 12:50:07,donkey.bike **pending**,0.0,SEK
09/14/2019 13:03:15,Top-Up by *6458,200.0,SEK
09/30/2019 16:19:19,Reward user for the invite,200.0,SEK
10/12/2019 23:51:02,Tiptapp Reservation,-250.0,SEK

TODO

  • Document revolutbot.py
  • Create a RaspberryPi Dockerfile for revolutbot (to check if rates grows very often)
  • Improve coverage for revolutbot