Primeros pasos
Autenticación
Todos los endpoints de la API de SubReply se autentican igual: una clave API personal, enviada como Bearer token.
No hay OAuth, ni cookie de sesión, ni firma de la petición. Una clave identifica a una sola cuenta de SubReply: es esa cuenta la que se cobra y cuyo saldo se comprueba.
Authorization: Bearer sr_live_VOTRE_CLE_APIGenerar una clave
- Abre la página Claves API de tu panel.
- Ponle a la clave el nombre de la herramienta que va a usarla («n8n prod», «script de scraping»…). Ese nombre es lo que te permitirá revocar la correcta.
- Copia el token que se muestra de inmediato: no volverá a ser legible nunca.
Formato de la clave
Una clave es el prefijo sr_live_ seguido de 64 caracteres hexadecimales — 72 caracteres en total, es decir 256 bits de entropía.
sr_live_3f9c1d7e08b64a25c1e0a7d4f6b93e28d5c40a1b8e73f602d9a45c8e1b027f3a
└──┬───┘└───────────────────── 64 caracteres hex ──────────────────────┘
prefijoA partir de ahí el panel solo muestra sr_live_ y los 8 primeros caracteres: suficiente para reconocer una clave en una lista, muy lejos de lo necesario para reconstruirla. Solo guardamos su huella SHA-256, así que ni siquiera nosotros podemos devolvértela.
Usar la clave
curl -X POST https://subreply.io/api/v1/scrape \
-H "Content-Type: application/json" \
-H "Authorization: Bearer sr_live_VOTRE_CLE_API" \
-d '{"subreddits": ["r/entrepreneur"], "keywords": ["leads"]}'En Node.js o en un nodo HTTP Request (n8n, Make) es la misma cabecera:
const response = await fetch("https://subreply.io/api/v1/scrape", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.SUBREPLY_API_KEY}`,
},
body: JSON.stringify({
subreddits: ["r/entrepreneur"],
keywords: ["leads"],
}),
});
const data = await response.json();Seguridad
- Nunca en el cliente. Una clave en JavaScript de navegador, en una app móvil o en un repositorio público es una clave comprometida: cualquiera puede quemar tus créditos y publicar con tu cuenta.
- Siempre en una variable de entorno (
SUBREPLY_API_KEY), o en el gestor de credenciales de tu herramienta de automatización. Nunca escrita en el código ni en una URL — las URL acaban en los logs. - Una clave por uso. Así un flujo de n8n comprometido se revoca sin romper tus scripts.
- Ante la duda, revoca. La revocación es inmediata y generar una clave nueva son dos clics. Una clave perdida no se recupera, se sustituye.
La clave da acceso a tus créditos
Errores de autenticación
| Código | Significado | Causa | Solución |
|---|---|---|---|
401 | Unauthorized | Cabecera ausente o mal formada, clave desconocida o revocada. | Comprueba la cabecera Authorization: Bearer sr_live_…, sin espacios de más ni saltos de línea. |
402 | Payment Required | La clave es válida pero el saldo de créditos es nulo o insuficiente para la acción pedida. | Recarga en subreply.io/billing. |
La comprobación se hace en dos tiempos: primero la clave (401), después el saldo (402). Un 402 es por tanto siempre la prueba de que tu clave sí es correcta.