Le chiavi API (Application Programming Interface Key) sono degli identificatori univoci utilizzati in ambito informatico per autenticare e autorizzare chi sta effettuando una richiesta a un'API, oppure per autenticare e autorizzare le comunicazioni tra due applicazioni software attraverso un'API.
Una chiave API è una stringa di caratteri unica generata casualmente che viene utilizzata per accedere a determinate funzioni offerte da un servizio API[1]. Le chiavi API sono utilizzate per controllare l'accesso e tracciare l'uso dell'API per scopi di sicurezza, monitoraggio e fatturazione.
Esistono quattro tipi di chiavi[2][3] utilizzate per l'autenticazione di una richiesta:
La chiave API funge spesso sia da identificatore univoco che da token segreto per l'autenticazione e l'autorizzazione di chi sta effettuando una richiesta a un'API. Il suo utilizzo principale è volto a consentire la comunicazione sicura tra vari servizi web o applicazioni, monitorare l'utilizzo delle API e risolvere problemi relativi alle integrazioni delle API.[4]
Un esempio di chiave API in un codice Python:
API_KEY = 'sk-abc1234567890XYZ'
Le chiavi API sono generalmente gestite attraverso il portale degli sviluppatori del fornitore dell'API, dove gli utenti possono registrarsi, generare e revocare le chiavi API.
Le chiavi API hanno iniziato a guadagnare popolarità con l'ascesa delle web API alla fine degli anni 2000, offrendo un approccio standardizzato al controllo degli accessi attraverso una vasta gamma di servizi web[5]. La nascita delle moderne web API può risale circa ai primi anni 2000, con una dissertazione influente su REST di Roy Fielding e l'adozione da parte di aziende tecnologiche emergenti come Salesforce, eBay e Amazon[6].
Con l'evoluzione del web, le chiavi API hanno permesso di tracciare l'utilizzo delle API, facilitando la gestione delle risorse e la pianificazione della capacità. Inoltre, hanno abilitato nuovi metodi di monetizzazione dei dati, diventando fondamentali per gli sforzi di tokenizzazione e monetizzazione dei dati[5].