¿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.

×