TL;DR: nie da się :)
Jak byś na to nie patrzył, będziesz musiał włożyć klucz do API do aplikacji. To znaczy, że dowolna osoba, która pobierze aplikacje będzie mogła ten klucz wydobyć. Wszelkie próby ukrycia klucza API w aplikacji, tak żeby trudno było się do niego dostać ostatecznie i tak co najwyżej kupią Ci kilka godzin czasu / odstraszą początkujące osoby. I trzeba by się naprawdę nieźle namęczyć żeby te kilka dni przekuć w kilka godzin (z drugiej strony Ciebie jak twórcę będzie kosztować to tygodnie pracy, żeby te kilka godzin kupić).
Możesz oczywiście próbować ograniczyć (spowolnić) dostęp do API od danego użytkownika (np. IP+user agent?), ale to jest bardzo bardzo łatwo spoofnąć, tak, żeby każde żądanie wyglądało jakby pochodziło od innej osoby (np. korzystając z TORa albo zmieniając user agent). Co więcej, to okazałoby się problematyczne dla realnych użytkowników, którzy mają to samo IP / popularne w danym miejscu urządzenie.
Co więcej, jeśli dane są dostępne przez stronę bez logowania, to można sobie bardzo szybko napisać jakiś scraper do nich, który będzie chodził po stronie i wyciągał dane. API do tego nie potrzeba, a kod do tego jakiś LLM napiszę w kilka chwil.
Możesz próbować się prawnie zabezpieczyć, ale nic nie zrobisz ze scapperami z losowego innego państwa, w którym np. prawo nie chroni publicznie udostępnionych informacji.
Podsumowując: Możesz próbować robić różne nieskuteczne rzeczy, ale ostatecznie pomyśl raczej jak podejść do problemu w taki sposób, żeby zescrapowanie bazy nie było dla Ciebie problematyczne.