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.