Back in the day bank feeds were horrific to develop but these days I think there are aggregate feed services. Seems like you could just implement support for one of those?
Even Plaid regularly fails to sync and they still rely on screen scraping for many banks. It might get better though, with the CFBP open banking initiative.
I haven't used it, but the team (person?) that makes Buckets (https://www.budgetwithbuckets.com) makes SimpleFIN (https://www.simplefin.org), which seems like it exposes exactly what you want: simple transaction data from arbitrary banks.
Plaid offers transactions APIs (https://plaid.com/products/transactions/), but I guess to your point these APIs are geared towards fintech companies, not personal use.
EDIT: I don't know how well it works in general, though. You'd have to test it yourself.
I'm currently writing a library that implements SimpleFIN. While the main website hasn't been updated in a while (even the demo endpoints are out of date, and I've written to the maintainer last month about it[1]), the demo endpoint described on the Simplefin Bridge the docs still works[2] so hopefully there's still movement.
They probably don’t want to deal with individual subscribers but if enough open source users wanted feeds you’d create a niche for a SaaS that does nothing but provide bank feeds for a few bucks a month. That’s the kind of micro SaaS one person could run.
There are some things that are “natural SaaS” and interoperability with ugly services run by huge banks that are probably moving targets and probably have administrative overhead to use is one example.
This seems to be exactly what the creator of SimpleFIN is doing with their "SimpleFIN bridge". Pay a small price and you can use the simplefin API to access any banks that they've supported so far.
Fintable offers the service but it only interfaces with Airtable. You can easily download a csv from there, or use the Airtable API. It's not for those who don't want their data in the cloud, but I've found the service to be pretty good.