I guess the law doesn't say "for free" ? So perhaps they could charge a fee for each API use...
It otherwise seems unreasonable to require data-holders (/"controllers") to pay the costs of this "direct transfer", esp. re building and maintaining an API.
They have in their possession an object which the user owns -- their data -- would we, in analogous cases, require stores to do anything other than "hand it back" ?
This seems quite an odd law.
EDIT: given downvotes, let me clarify: I like the law. It is useful. I just want to understand the moral/legal/economic logic.
This law imposes costs somewhere, and prevents some services being offered.