Любое решение здесь будет несовершенным, если ваши статические страницы, использующие API, должны находиться в общедоступном Интернете. Поскольку вам нужно, чтобы браузер клиента отправлял запрос, и чтобы он был удовлетворен, возможно, кто угодно сможет точно узнать, как вы формируете этот URL.
Вы можете сделать так, чтобы приложение, стоящее за вашим API, проверяло http referrer, но это легко подделать, если кто-то захочет.
Если не требуется, чтобы страницы были статичными, вы можете попробовать что-то, где у вас есть недолговечный «ключ», сгенерированный API и включенный в HTML-ответ первой страницы, который передается в качестве параметра. вернуться к API. Это добавит накладных расходов к вашему API, хотя, так как вы должны иметь сервер, поддерживающий список «ключей», которые действительны, как долго они действительны и т. Д.
Итак, вы можете предпринять некоторые шаги, которые не будут стоить дорого, но не трудно обойти, если кто-то действительно этого хочет, или вы можете потратить больше времени, чтобы сделать это немного сложнее, но нет идеального способ сделать это, если ваш API должен быть общедоступным.