Suppongo che intendi che i visitatori di un altro sito effettueranno richieste lato client alla tua API e che desideri attribuire queste richieste a quel sito.
Ci sono molti modi per farlo a seconda di quanto sia strong l'autenticazione.
Se stai usando i dati solo a fini statistici e forse per impedire l'uso non autorizzato da parte di aggressori molto poco sofisticati, puoi utilizzare il referrer HTTP. Questo può naturalmente essere falsificato, quindi non sarà adatto se hai bisogno di un'autenticazione molto strong.
Un'altra opzione è utilizzare una chiave API / ID del sito che viene trasmessa insieme a tutte le richieste. Un utente malintenzionato può facilmente prendere la chiave API da un cliente e utilizzarla in modo improprio su un altro sito, ma almeno è possibile riemettere la chiave / l'ID se è maltrattata a differenza del referrer.
Se hai bisogno di un'autenticazione molto strong, dovrai far generare ai tuoi clienti un token firmato a tempo limitato sul lato del server che l'utente quindi trasmetterà alla loro richiesta. Fondamentalmente, ogni cliente avrebbe una chiave segreta sul lato server e lo userebbe per crittografare un messaggio che includa un limite di tempo: puoi verificarlo decodificandolo quando l'utente lo passa. Potresti essere in grado di sfruttare qualcosa come link per farlo. Lo svantaggio di questo è che non è possibile farlo completamente dal lato client, quindi i clienti potrebbero dover apportare alcune modifiche alla loro applicazione.