Who provides a Bitcoin recurring payments API? Is it possible to send recurring bitcoin payments via the bitcoin protocol? Is there a service which provides an API to do so?
There is no ready-made recurring payment solution at the moment, however this can be achieved at application level by constructing pre-signed transactions or using CLTV's as @Wapac suggested. CLTV approach may have a downside though, you will be paying transaction fees twice in case you decide to cancel.

A more sophisticated mechanism may be creating a non-custodial, multi-sig wallet service that keeps track of your recurring payments and notify you if any action is needed. Disclosure, I am involved in such a solution called: https://www.arf.one