walle89 / swedbank-json
Unofficial API client for the Swedbank's and Sparbanken's mobile apps in Sweden.
Installs: 2 448
Dependents: 0
Suggesters: 0
Security: 0
Stars: 76
Watchers: 10
Forks: 15
Open Issues: 6
Requires
- php: >=5.5
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.2.1
- ramsey/uuid: ^3.0
Requires (Dev)
- cogpowered/finediff: ^0.3.0
- monolog/monolog: ^1.17
- rtheunissen/guzzle-log-middleware: ^0.4.0
This package is auto-updated.
Last update: 2025-06-12 17:24:47 UTC
README
Caution
This project is not affiliated with, endorsed by, or associated with Swedbank, Sparbanken, or any of their subsidiaries. All trademarks and brand names are the property of their respective owners. Use of the information and resources provided in this repository is for educational and interoperability purposes only and may be subject to legal or policy restrictions.
SwedbankJson
Unofficial API client for the Swedbank's and Sparbanken's mobile apps in Sweden.
- Overview of your bank accounts, loans, debit and credit cards
- List account transactions
- Transfer money between accounts
- Sign in with different profiles, ideal for Swedbank Företag app users
- Activate, deactivate, and view quick balance (aka. snabbsaldo)
- No authentication required to view quick balance, ideal for unattended monitoring and automation
Authentication methods
- Mobile BankID
- Security token with one time code
Security
All SwedbankJson API client traffic is TLS encrypted and strictly between your device/server that runs the code and Swedbank's servers. The client can not and will not send any information to any third party for any reason.
Installation and documentation
Code example
List bank statements with authentication method security token with one time code.
$auth = new SwedbankJson\Auth\SecurityToken($appData, $username, $challengeResponse); $bankConn = new SwedbankJson\SwedbankJson($auth); $accountInfo = $bankConn->accountDetails(); $bankConn->terminate(); // Sign out echo 'Bank statements <pre>'; print_r($accountInfo);
All API endpoints do not require to sign in. One example is quick balance.
$auth = new SwedbankJson\Auth\UnAuth($appData); $bankConn = new SwedbankJson\SwedbankJson($auth); $quickBalance = $bankConn->quickBalance($subID); echo 'Quick balance <pre>'; print_r($quickBalance);
FAQ
Can I install SwedbankJson without Composer?
No, it's either recommended or supported. It's much easier to use Composer than manually download all the dependencies. Read more about installing with Composer.
Is SwedbankJson compatible with Swedbank's non-swedish apps?
To the best of my knowledge, the API utilized by SwedbankJson is specific to the Swedish market and is not used by banking apps outside of Sweden.
Why use the mobile apps API instead of the official Open Banking API?
In short, if you have access to the Swedish mobile banking apps for certain major banks, this library can be used immediately to, for example, log in and fetch real transaction data (i.e., production access).
To obtain similar production access through the official Open Banking API, the following are generally required:
- Hold a PISP, AISP, or equivalent license from a local financial regulatory authority such as Finansinspektionen. Applying for such a license may involve fees.
- Valid QSEAL and QWAC certificates.
- Apply for and receive approval for production access from the bank.
In summary, getting started with the official Open Banking API typically involves a lengthy, complex, and costly process.
Support and Feedback
This project utilize GitHub Issues for both support and feedback. Before creating a new issue, please do the following:
- Check the documentation (see links under Installation and documentation).
- Search in issues.
If you didn't find your answer, you are welcome to create a new issue.