Need help with avanza?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

fhqvst
179 Stars 46 Forks MIT License 178 Commits 4 Opened issues

Description

A JavaScript client for the unofficial Avanza API

Services available

!
?

Need anything else?

Contributors list

# 174,104
backtes...
banking
node
PHP
100 commits
# 430,834
banking
node
JavaScr...
Shell
20 commits
# 115,440
kafka
Scala
angular...
gravata...
3 commits
# 614,282
banking
node
JavaScr...
3 commits
# 373,013
banking
node
C++
C
1 commit
# 693,154
banking
node
JavaScr...
1 commit
# 229,810
Swift
banking
Objecti...
Xcode
1 commit

Avanza Build Status

A Node.js wrapper for the unofficial Avanza API. Please note that this is only a proof of concept, hence not meant to be used by anyone.

It might also be valuable to note that I am not affiliated with Avanza Bank AB in any way. The underlying API can be taken down or changed without warning at any point in time.

Interested in finance?

Talos is hiring senior engineers! Send an email to

filip+hiring
at
talos.com
.

Installation

Install via npm

bash
$ npm install avanza

Documentation

Refer to API.md.

Getting a TOTP Secret

NOTE: Since May 2018 two-factor authentication is used to log in.

Here are the steps to get your TOTP Secret:

  1. Go to Mina Sidor > Profil > Sajtinställningar > Tvåfaktorsinloggning and click "Återaktivera". (Only do this step if you have already set up two-factor auth.)
  2. Click "Aktivera" on the next screen.
  3. Select "Annan app för tvåfaktorsinloggning".
  4. Click "Kan du inte scanna QR-koden?" to reveal your TOTP Secret.
  5. Finally, run
    node -e "console.log(require('avanza/dist/totp')('PASTE_YOUR_TOTP_SECRET_HERE'))"
    to generate an initial code.
  6. Done! From now on all you have to do is supply your secret in the
    authenticate()
    function as in the example below.

Example

Authenticate and fetch currently held positions:

import Avanza from 'avanza'
const avanza = new Avanza()

avanza.authenticate({ username: 'MY_USERNAME', password: 'MY_PASSWORD', totpSecret: 'MY_TOTP_SECRET' }).then(async () => { const positions = await avanza.getPositions() console.log(positions) })

Authenticate and subscribe to real-time data:

import Avanza from 'avanza'
const avanza = new Avanza()

avanza.authenticate({ username: 'USERNAME', password: 'PASSWORD', totpSecret: 'MY_TOTP_SECRET' }).then(() => { avanza.subscribe(Avanza.QUOTES, '5479', (quote) => { console.log('Received quote:', quote) }) })

Documentation

Refer to API.md.

Tests

Tests will not run without an

.env
file. Use the
.env-example
as reference.
$ npm test

LICENSE

MIT license. See the LICENSE file for details.

RESPONSIBILITIES

The author of this software is not responsible for any indirect damages (foreseeable or unforeseeable), such as, if necessary, loss or alteration of or fraudulent access to data, accidental transmission of viruses or of any other harmful element, loss of profits or opportunities, the cost of replacement goods and services or the attitude and behavior of a third party.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.