Hacker News new | ask | show | jobs
Ask HN: If your bank had an API, what would you make?
18 points by eaplant 1875 days ago
I've always hated how apps like Mint and WealthFront require my plaintext username and password, so I was thinking about how those apps could be improved with by accessing my bank's API on my behalf. Unfortunately, I've never heard of a bank with an open API, but I'm curious to hear what you would make if your bank had an API.
12 comments

Most European banks have API's. It's almost mandatory by European law [1]. As an example, see ING's API: https://developer.ing.com/openbanking/home

[1] https://ec.europa.eu/info/law/payment-services-psd-2-directi...

Oooh, this is relevant to my interests! Some banks do have APIs -- U.S. Bank, Wells Fargo, Bank of America, and Chase are a couple that spring to mind off the top of my head -- but in general they are not really aimed at developers building for specific consumer use cases, which kind of makes sense, since most people don't want to build, say, a budgeting app that only works with their own bank. A more typical customer of these APIs is fintech platform companies like Plaid that will work as a middle layer and make this data accessible via a more standardized API. (Full disclosure: I work at Plaid. We also have our own open API standard, Plaid Exchange, but obviously not every bank is using it.)

Anyway, to answer the question, since it would be something just for my own bank it would be a service that I would use for myself, rather than something that would be a business. So, this is small, but a few months ago I was trying to find a good way to split the rent with my boyfriend, and even though it seems completely bonkers, in the year of our lord 2021 I still cannot find a service that will allow me to make free, recurring, peer-to-peer electronic payments. (My bank offers free peer-to-peer electronic payments with Zelle but doesn't provide recurring functionality; and they offer free recurring bill payments to individuals but only via check, not electronically.) So I might build that.

That last part really blows my mind. You would think that recurring outbound transfers would be totally common right now.

I totally agree that Plaid makes sense, but it frightens me a bit that you have to give your username and password to Plaid.

I know, right? I tried Venmo, PayPal, my own bank...none of them offer it. Even though my bank is one of the biggest banks in the country that has a great online banking portal and my boyfriend and I bank at the same place.

Not everybody is going to be comfortable providing credentials to a third party, I totally understand...but that is what's generally required in the US banking system for API access to bank accounts at multiple institutions, for better or for worse. If it makes you feel any better, we do have info on our security practices (https://plaid.com/safety/) on our site as well as a portal (my.plaid.com) to manage preferences and delete information. We're also committed to moving 75% of our traffic to bank APIs by the end of 2021 and launching OAuth-based authentication for a few big banks in the US soon (so that you don't have to give us access to your credentials at all) -- maybe yours will be one of them! :-)

Wouldn't most people build what they're building now?

I mean what Plaid does is extremely sketchy, but it's a turn-key solution that provides an API to interact with bank accounts

Most people don't catch on to the fact (or even care tbh) they're sending Plaid their account data, so it's not like you could differentiate an app based on "native" API access

(I'm not against official APIs to be clear, but addressing the reality of the situation here)

I totally agree - Plaid seems like a good existing but insecure "API" that most people probably don't care that they're giving their login info to.
I want to write a script that will let me maintain a constant $x amount in my checking account, by automatically transferring money in and out of my savings account
I love this idea. I would absolutely use it.
Many / most US banks support OFX ("Quicken") to some degree. It's often well hidden, I guess the banks prefer you to be going to their website so they can advertise their products to you.

https://www.ofx.net/downloads/OFX%202.2.pdf

https://www.ofxhome.com/

I use this to build a consolidated picture of all my finances in ledger (https://www.ledger-cli.org/).

As well as the obvious application of analyzing + reporting all my transactions, my higher-level goal is to be doing my accounting myself, and minimize my dependency on any particular bank / brokerage website so that I can easily use several accounts, or move things around if there's a better deal available.

If you're not doing your own accounting, the temptation to just do all your business with whichever institution has the most usable website is quite strong, and moving or splitting business is quite cumbersome.

I'd love to get account data into Zabbix. Alerts for when balances change by x%, time series graphs to see balance over time, stacked graphs to see a net-worth-ish view.. lots of cool stuff you could do there.

Hell, I'd love to get my transaction history into an Elastic instance as well. You could build all sorts of cool dashboards in Kibana out of that.

These are great ideas! One of my biggest wishes would be to have my transaction and balance histories.
do you need an API for that? most of the banks I've seen (Sweden, Israel) allowed exporting your transactions to Excel
Most banks will let you export a CSV but that's a pain, you have to manually download and feed it into your system on a regular basis.. having it automated with an API would be a lot better.
It sucks having to manually download it and process it. I'd like to automate it.
My bank has transaction webhooks which I use to sync to YNAB, since they don’t care about supporting sync outside the US. https://github.com/syncforynab/fintech-to-ynab
Most banks in Europe have APIs and there is also some kind of directive/law that requires banks to have at least some kind of API.

I guess that's not that surprising since European consumer banks and whole banking system are miles ahead compared to US

I would do a few things:

- Ensure it is read only (hopefully).

- I would build my own interface to see the transactions. I absolutely hate most banks's default interface to show transactions. I would group them, categorize them etc (yea I know mint exists but we are talking direct APIs)

- I would setup auto notification on certain types of transactions or amount size of transaction. Some banks have alerts but very limited and mostly on amounts. Not on types.

- I would create budgeting notifications based on transactions. E.g. You just spent $500 on Dunkin Donuts this month already. Stop being crazy.

Read only makes sense. I imagine you would have to go into your settings to enable the API in the first place. The scariest thing for me about the current banking system is that my account + routing number acts like a key that can remove money from my checking account.

I totally agree that most banks have terrible UIs. I think the opensource community could do a much better job. I hadn't thought of notifications but I think it would be great.

I still need to check for API or export availability for my banks but I was thinking about integrating my bank statements into my "personal graph" system (inspired by Microsoft Graph) to keep track of spending and visualize transactions in my timeline along with all other data sources (music scrobbles, locations, etc)
I would setup sms notifications on treshold values for account ballance relative to when my next paycheck is coming.

Experienced more than once standing at the cashier at the local food store with an empty spending account. Have a shared spending account with my wife...

Go close down API access to my account or if not possible switch banks.