¿Qué es una API Key? Definición, Uso, Mejores Prácticas

Una API key es un string único que identifica la aplicación llamando. Usado para auth, rate limiting, billing, pero más débil que OAuth.

¿Qué es una API key?

Una API key es un string único de caracteres que identifica y autentica la aplicación o usuario haciendo un request a una API. Es la forma más simple de autenticación API: incluir el key en el header request (o a veces query string), y el servidor lo chequea contra una base datos.

Las API keys se usan comúnmente para: identificar qué app/equipo está llamando, aplicar rate limits, trackear uso para billing y autorización básica.

Cómo se ve una API key

API_KEY="sk_live_4eC39HqLyjWDarjtT1zdp7dc"

Cómo se envían API keys

MétodoEjemploNotas
Header AuthorizationAuthorization: Bearer YOUR_API_KEYMás común, recomendado
Header customX-API-Key: YOUR_API_KEYPattern común
Query string?api_key=YOUR_API_KEYMenos seguro
Body requestCampo JSONRaro para REST

API key vs otros métodos auth

MétodoStrengthCuándo usar
API keyBajoServer-to-server, simple
OAuth 2.0AltoApps user-facing
JWTMedio-altoMicroservicios
mTLSAltoService-to-service
Basic AuthBajoLegacy
HMAC signingAltoWebhooks

Ejemplo generación API key

import crypto from 'crypto';

function generateApiKey(prefix = 'sk_live_') {
  return prefix + crypto.randomBytes(24).toString('hex');
}

const hash = crypto.createHash('sha256').update(key).digest('hex');
await db.apiKeys.insert({ user_id: userId, key_hash: hash });

Mejores prácticas seguridad API key

  • Tratar keys como secretos.
  • Usar environment variables.
  • Rotar regularmente.
  • Scopear con permisos.
  • IP allowlist.
  • Keys diferentes por entorno.
  • Hashear, no raw.
  • Mostrar key una vez en creación.
  • Rate limit per key.
  • Loguear uso key.
  • Revocar on demand.

Pitfalls API key comunes

  • Keys en código client-side.
  • Keys en historia git.
  • Keys en URLs.
  • Single key para todo.
  • Sin rotación.
  • Sin rate limiting.
  • Almacenar keys raw en DB.
  • Compartir keys vía Slack/email.

Casos uso API key

Caso usoPor qué API key funciona
Auth server-to-serverSin interacción usuario
APIs read públicasIdentificar caller
Webhooks (sending)Autenticar sender
Integraciones third-partyMás simple que OAuth flow
Auth microservicio internoSi mTLS overkill

FAQ: API keys

¿Son seguras las API keys?

Menos que OAuth 2.0 o mTLS.

¿API key vs OAuth: cuál usar?

API key para server-to-server. OAuth para apps user-facing.

¿Cómo roto una API key?

Generar nuevo key, ambos válidos durante transición, revocar viejo.

¿Deberían las API keys expirar?

Sí. 90 días típico.

¿Dónde guardo API keys?

Secrets manager.

¿Cómo detecto una API key leaked?

GitHub secret scanning, gitleaks.

¿Puedo usar API keys en apps mobile?

Riesgoso.

Testea endpoints API-key-protegidos con LoadFocus

LoadFocus corre scripts JMeter y k6 que envían API keys a escala. Regístrate en loadfocus.com/signup.

¿Qué tan rápido es tu sitio web?

Mejora su velocidad y SEO sin problemas con nuestra Prueba de Velocidad gratuita.

Prueba de velocidad de sitio web gratis

Analice la velocidad de carga de su sitio web y mejore su rendimiento con nuestro comprobador de velocidad de página gratuito.

×