No API? No Problem. I Have Email Alerts and Spite
It’s 2025. I can clone my voice with a few audio clips, but for some reason accessing my own financial data is still a manual process.
Yes, I’m aware there are plenty of third-party apps that offer automated financial tools. But they also ask for my banking credentials, sometimes literally my username and password. That’s a level of access I don’t want to hand out, especially for financial data.
On the flip side, offline budgeting apps don’t really help much either. They expect me to log into my bank, manually export transactions, and import them into some tool every week. That’s a level of manual effort I reserve for organizing my Steam library by genre, backlog shame, and emotional damage.
Here’s the thing: banks do offer API access, to third-parties like Plaid. The tech exists, so why do we need these intermediary services?
At the end of the day, a secure endpoint is provided to users to interact with, just with additional parties involved. So it’s technically possible, but I’m curious as to why banks don’t implement this themselves. Some banks already provide this service, but it’s limited to business customers only.
I get it, why invest in additional resources to secure their endpoints if they don’t have to? Especially when they can just offload the security ownership and accountability to external parties.
But why…? I’d be willing to pay my bank directly for API access. Somewhere along the pipeline someone else is making money. Banks grant access to API aggregators which charge app developers access to their APIs. From there app developers charge bank customers to access their data.

What would you say... you do here?
If banks were to provide endpoints directly to customers, they could limit it to a small set of API calls, make them read-only, and throttle the requests like it’s a dial-up modem. I really don’t care. Most people would just need enough data to track their spending without having to hand over the keys to the vault to third-parties.
What’s that you say…? Some banks can provision limited access tokens to hand over to third-parties. Sounds like they already have a mechanism to implement this then.
Building a Budget Tracker with Duct Tape and (AWS) Glue
So instead of an API endpoint, I turned to the one thing banks do give me: email alerts. Every time I swipe my card, I get an email. That’s my webhook.
Using this mechanism, I built a pipeline that uses AWS SES to receive those emails, which kicks off a Lambda function to parse the transaction details.

From there, the data gets stored in an S3 bucket where I can query it, send out daily reports, analyze trends, and wonder if I really needed to purchase another mechanical keyboard. Spoiler: I didn’t.
Modern Problems Require Modern Solutions
Not sure why I bothered to cobble this together. I think I’m just annoyed, and a bit frustrated that banks haven’t provided this to customers already. Kind of like filing taxes. They have the data, but somehow it’s still our job to figure it out.
Either way, I now have a system that allows me to easily see how I’m tracking against a monthly budget, view a summary of my daily spend, and query my transactions to generate custom reports while managing my own data.
I’m not proud of what I built, but I’m not ashamed of it either. Guess you can say this project makes me feel less shame .
https://github.com/brianherrera/transaction-alerts-pipeline
-Brian