I have an English dictionary webapp, say xyz.com, developed using AngularJS (or any other UI) and REST api. There is no authentication since the webapp is open to everyone and there is no user registration. How can I prevent the REST api from being consumed by outside applications? In other words, the REST api should work only when accessed through xyz.com. I don't want some other developer use my REST api to power his application.
OAuth isn't a solution for this since there is no authentication. This question is similar to Protect Web API from unauthorized applications, but there weren't any concrete answers that would solve this.