It only mandates that regulated thirdparty companies can access your banking account using some API.
Here in Germany PSD2 was a big step back. Previously we had FinTS (https://en.wikipedia.org/wiki/FinTS), an open banking protocol used since the last 90s, and many programs supporting it. Then PSD2 came and broke some use cases of FinTS. Many banks didn't want to both fix FinTS and support new PSD2 APIs, so they just switched off FinTS. Now German bank customers are basically forced to use the banking website because PSD2 doesn't allow them to use an API and the API they had was taken from them by PSD2.
I work at Nordigen and we integrated with 1,500+ banks in less than 8 months. Some APIs took hours to integrate, some took a few weeks, but the fact that it was possible at all is IMO gamechanging.
We still had to fall back to scraping at some points. Perhaps that’s different now.
One major limitation is that PSD2 only regulates access to payment accounts, but doesn't mandate access to credit cards, investment accounts, savings accounts etc. This is why screen scraping (to everyone's dismay) is still used - to "expand" what's possible with real bank APIs.