Companies are absolutely allowed to lock down their own products. Netflix is a great example, you don't bring your own client for Netflix.
The whining/entitlement in this thread is ridiculous. The API is always there for you to use as you desire.
If you want to use the loss leader on the other hand, you agree to abide by certain terms. But if you don't want to do that, just use the API. It's not that hard.