All Projects → guitmz → N26

guitmz / N26

Licence: mit
API and CLI to get information of your N26 account

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to N26

Python N26
💵 Unofficial Python client for n26 (Number 26) - https://n26.com/
Stars: ✭ 116 (+8.41%)
Mutual labels:  api, command-line-tool, cli, bank
Pypistats
Command-line interface to PyPI Stats API to get download stats for Python packages
Stars: ✭ 86 (-19.63%)
Mutual labels:  api, command-line-tool, cli
Freenom Dns Updater
A tool to update freenom's dns records
Stars: ✭ 117 (+9.35%)
Mutual labels:  api, command-line-tool, cli
Hopp Doc Gen
📔 API documentation generator CLI for https://hoppscotch.io
Stars: ✭ 70 (-34.58%)
Mutual labels:  api, command-line-tool, cli
Run
⚡The resource runtime
Stars: ✭ 90 (-15.89%)
Mutual labels:  api, cli
Crowdin Cli
A command-line client for the Crowdin API
Stars: ✭ 89 (-16.82%)
Mutual labels:  command-line-tool, cli
Matrix Commander
simple but convenient CLI-based Matrix client app for sending and receiving
Stars: ✭ 90 (-15.89%)
Mutual labels:  command-line-tool, cli
Terminal layout
The project help you to quickly build layouts in terminal,cross-platform(一个跨平台的命令行ui布局工具)
Stars: ✭ 98 (-8.41%)
Mutual labels:  command-line-tool, cli
Spam Bot 3000
Social media research and promotion, semi-autonomous CLI bot
Stars: ✭ 79 (-26.17%)
Mutual labels:  command-line-tool, cli
Blockshell
🎉 Minimal Blockchain Learning CLI
Stars: ✭ 1,348 (+1159.81%)
Mutual labels:  command-line-tool, cli
Tooling
Advancing Node.js as a framework for writing great tools
Stars: ✭ 98 (-8.41%)
Mutual labels:  command-line-tool, cli
Forge Node App
🛠📦🎉 Generate Node.js boilerplate with optional libraries & tools
Stars: ✭ 90 (-15.89%)
Mutual labels:  command-line-tool, cli
Ask Cli
Alexa Skills Kit Command Line Interface
Stars: ✭ 100 (-6.54%)
Mutual labels:  command-line-tool, cli
Lc
licensechecker (lc) a command line application which scans directories and identifies what software license things are under producing reports as either SPDX, CSV, JSON, XLSX or CLI Tabular output. Dual-licensed under MIT or the UNLICENSE.
Stars: ✭ 93 (-13.08%)
Mutual labels:  command-line-tool, cli
Opaline
NextJS for CLI tools
Stars: ✭ 84 (-21.5%)
Mutual labels:  command-line-tool, cli
Awesome React Generator
No more clicking around to create files in your react project! Awesome React Generator is Command Line Tool that let's you scaffold your components without leaving your terminal.
Stars: ✭ 98 (-8.41%)
Mutual labels:  command-line-tool, cli
Cryptocurrency Cli
💰 Cryptocurrency Portfolio On The Command Line 💰
Stars: ✭ 99 (-7.48%)
Mutual labels:  api, cli
Csv2db
The CSV to database command line loader
Stars: ✭ 102 (-4.67%)
Mutual labels:  command-line-tool, cli
Schema Registry
A CLI and Go client for Kafka Schema Registry
Stars: ✭ 105 (-1.87%)
Mutual labels:  api, cli
Nexmo Cli
Nexmo CLI (Command Line Interface)
Stars: ✭ 73 (-31.78%)
Mutual labels:  command-line-tool, cli

Build Status Go Report Card

n26

Go API and CLI to get information of your N26 account

Installation

  • macOS: Available via Homebrew. Just run brew install guitmz/tools/n26
  • Linux: You can manually build this project or download a binary release.

You can also install with go get -u github.com/guitmz/n26/cmd/n26 (make sure you have your Go env setup correctly).

Docker

A Dockerfile is also provided and the prebuilt image is available for pulling: docker pull guitmz/n26 or docker pull guitmz/n26:DESIRED_TAG

You can run it like:

$ docker run -e N26_USERNAME="username" -e N26_PASSWORD="password" -e N26_DEVICE_TOKEN="device_token_uuid" guitmz/n26

or if you want to be asked for your credentials:

$ docker run -ti -e N26_DEVICE_TOKEN="device_token_uuid" guitmz/n26

Authentication

Since 14th of September 2019, N26 requires a login confirmation (2 factor authentication) from the paired phone N26 application to login on devices that are not paired (more details here). This means you will receive a notification on your phone when you start using this library to request data. This tool checks for your login confirmation every 5 seconds. If you fail to approve the login request within 60 seconds an exception is raised.

Device Token

Since 17th of June 2020, N26 requires a device_token to differentiate clients. This requires you to specify the N26_DEVICE_TOKEN environment variable with an UUID of your choice. Feel free to use any proper UUID generator like https://www.uuidgenerator.net to generate the token.

Usage

NAME:
   N26 - your N26 Bank financial information on the command line

USAGE:
   n26 command [json|csv|statement ID]

VERSION:
   1.5.0

AUTHOR:
   Guilherme Thomazi <[email protected]>

COMMANDS:
     addresses     addresses linked to your account
     balance       your balance information
     block         blocks a card
     cards         list your cards information
     contacts      your saved contacts
     info          personal information
     limits        your account limits
     spaces        your spaces
     statements    your statements. Passing the statement ID as argument, downloads the PDF to the current directory
     status        general status of your account
     transactions  list your past transactions. Supports CSV output
     unblock       unblocks a card
     help, h       Shows a list of commands or help for one command

GLOBAL OPTIONS:
   --help, -h     show help
   --version, -v  print the version

You can have the N26_USERNAME and N26_PASSWORD environment variables set to your N26 user email and password. If you don't, you will be prompt for this information, so it's not mandatory. Example of getting your account balance:

$ n26 balance
+------------------------+-------------+-------------------+----------------+
|          IBAN          |     BIC     | AVAILABLE BALANCE | USABLE BALANCE |
+------------------------+-------------+-------------------+----------------+
| DE74100XXXXXXXXXXXXXXX | NTSXXXXXXXX |              88.8 |           88.8 |
+------------------------+-------------+-------------------+----------------+

You can also use the json option to output it as JSON with more information:

$ n26 balance json
N26 password: ********
{
  "availableBalance": 107.5,
  "usableBalance": 107.5,
  "iban": "DEXXXXXXXXXXXXXX",
  "bic": "NTXXXXXXXXXXX",
  "bankName": "N26 Bank",
  "seized": false,
  "id": "11111-1scasda-1112312-adasdasdasdas"
}

And csv for transactions.

You can run n26 help for usage description.

Missing features

  • Improve MFA flow, for now it works but is not really informative
  • Make a transfer
  • Set card limit
  • API docs
  • Better error handling
  • A terminal UI could also be implemented
  • ?

References

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].