Banker med API?

Hej, finns det några banker som tillhandahåller API:er för att hämta ut sin data. Det här handlar om att kolla mina privata bankkonton, så inga dyra företagslösningar tack! :slight_smile:

Önskar att man kunde få en token/nyckel att använda, samt möjlighet att ställa in rättigheter för denna.

Vill i första hand se saldo och historik, men vore smidigt att kunna göra överföringar också.

De flesta banker har någon form av API nu för tiden.

SEB Developer portal
Nordea Open banking
Swedbank Open banking

Själv anser jag att API’er är överskattade (om det är för privat bruk). Kan en webbläsare se din data, kan en algoritm se den. Jag har skrivit appar som är kapabla att läsa portföljinnehav, bevakningslistor, nyheter, realtidsvärden m.m samt utföra handel via Nordnet och Avanza. Istället för att använda API’er (som Avanza dessutom saknar), får man istället skrapa HTML och JSON. Realtidsvärden finns många gånger tillgängliga via websockets vilket gör att datan pushas snarare än att behöva uppdateras via timer.

Aha, här ska läsas dokumentation!

Fördelen med API:er är ju när de designar om något på sidan ett år senare. Iofs kan ju API:erna också ändras.

Hur löser du inloggningen med BankID? Loggar in mha BankID-app/program manuellt och sen behåller cookies/session på sidan? Du har inte problem med att logga in på samma sida flera gånger (skript kör och man själv går in på webbsidan och kollar)? Iaf LF kastar ju ut en om man hoppar framåt/bakåt och inte använder sidans navigation.

edit. Lite pinsamt för mig att en sökning på banknamn API ger träffar direkt, på i stort sett vilken bank jag än testar. Frågan är hur svårt det är att få sin “app” godkänd för att använda de olika bankernas API:er.

Min gissning är att du behöver vara ett företag med GDPR-avtal för att ens komma på fråga att få använda bankernas APIer. De har lyckats bygga en ny walled garden. :pensive:

Ja, bankID kommer man dessvärre inte runt (om banken kräver det) men som du skriver så krävs det endast vid autentiseringen, precis som när man loggar in på webbsidan.

De har visst ett api. Förvisso odokumenterat, men jag har ett skript som kan logga in mig automatiskt, även med 2-faktor, och hämta ut alla mina portföljer, alla innehav, all utveckling för alla portföljer och alla instrument individuellt som finns i portföljerna, mängden utnyttjad kredit, kontanter, etc, och sparar ner i mitt egna program som visualiserar och analyserar det hela mycket bättre än vad de själva gör. Och dessutom helt utan att bli påtvingad massa artiklar från Placera :slight_smile:

Det kan även användas för att lägga ordrar men det har jag aldrig gjort då jag inte haft behovet.

Jag har funderat på att göra en “ombalanseringsknapp” som köper/säljer för att ombalansera givet att man har sin målfördelning sparad, men det kom andra spännande utvecklingsprojekt emellan…

Tyvärr är det väl så. Som vanligt lagstiftar man utan att förstå innebörden och konsekvenserna. De stora jättarna kör på som vanligt då de har fler jurister än vad som finns invånare i Europa, medan de mindre europeiska företagen och i synnerhet småbolag som jag själv har, har allt bara blivit 100 gånger krångligare. Men inte nödvändigtvis 100 gånger bättre, om ens något bättre alls.

1 gillning

Är väl rätt bra betyg åt RT-forumet.

Du testar det före google! :joy:

5 gillningar

Har du någon kod upplagd på nätet? :slight_smile:

Och hur länge håller en session? Antar att man kan plocka en med BankId och sen ladda ner en sida då och då för att hålla liv i sessionen?

Nej. Skulle gissa att det inte skulle uppskattas så mycket av de olika källorna. Så enbart för privat bruk.

Minns inte hur länge sessionen håller men har inte haft några problem med utloggningar. För web sockets så brukar servern fråga om man fortfarande är vid liv och då är det bara att skicka ett livstecken tillbaks. Vill minnas att investing.com, som är en av mina källor, skickar flera sådana i minuten och är snabb att avsluta sessionen om man missar att svara.

1 gillning

Skulle vilja samla in data från flera ställen så jag får överblick, men har inte superbra koll på att interagera med webbsidor och vad för tekniker som gäller nu för tiden.

Något tips på vad som är smidigast? Kör du egna program/script (Python, Javascript?), userscript i en webbläsare eller t ex selenium?

Exakt. För att komma åt t.ex. PSD2 eller andra OpenBanking-API:er (som är “gratis” eftersom bankerna inte tar ut någon extra kostnad för dem) så behöver du vara registrerad som en Account Information Service Provider (AISP) hos Finansinspektionen. Det är extremt svårt att hitta exakta uppgifter om detta, men vad jag kan hitta så krävs det en ansökningsavgift på 90 000 kr och sedan en årlig tillsynsavgift på 15 000 kr. (för fysiska personer, det kostar ännu mer för företag)

Att Open Banking skulle göra datan tillgänglig för oss privatpersoner är bara ett skämt, det är för att standardisera mellan banker och företag.

2 gillningar

Det viktiga är att övervaka SSL-trafiken för att förstå hur de odokumenterade API’erna fungerar. Själv använder jag Charles Proxy. Val av programspråk spelar inte så stor roll därefter. Jag använder Swift eftersom jag har byggt min “trader”-platform som en iPad-app.

1 gillning

Aha, jag förstår. Jag har kört en del med Network-fliken i Firefox (eller annan webbläsares) Inspector för hemsidor tidigare men brukar bli less på sessionshantering (har ett litet fulhack för att tidrapportera på olika sidor som sätter upp rätt sessioner med http-anrop), så jag har gått på Selenium mot hemsidorna nu för att hämta bankdata. Blir en del baby-sittande med BankId-appen så hade varit smidigare att fiska upp någon auth token från appar som har det.

Sniffar du apparna? Får du problem med certificate pinning?

Nej, endast hemsidorna. Certificate pinning är ingenting jag känner igen. Möjligtvis något som sköts per automatik av ett tredje parts bibliotek.

Tack för info.

Certificate pinning innebär att ena änden vet exakt vilket certifikat den andra änden ska ha, så då kan man inte stoppa något mellan med sina egna certifikat. Så appar kan göra så, medan jag har svårt att tänka mig att hemsidor får till något sådant, även om jag antar att de skulle kunna ha information som säger till webbläsaren vilket certifikat de förväntar sig att servern ska ha.

Hmm, insåg precis att appar troligen inte tillåter server med egen-signerat certifikat heller.

En till fråga: Behöver du ofta göra underhåll/uppdateringar på API-anropen? Just nu tänker jag nog satsa vidare på Selenium och hoppas att ändrade sidor går snabbt att korrigera för.

Det här är den största risken men den här approachen. Designar banken om sin hemsida från grunden behöver man ändra allting.

Det har hänt att jag behövt ändra men det är ytterst sällan det sker. …och sker det brukar det ofta vara mindre ändringar baserat på vad som var där tidigare. Jag har med andra ord inte upplevt det som några större problem. Man bör dock ta höjd för att det kan ske och hålla sin kod flexibel så att den inte är helt beroende av modeller som källan använder.