URL base:https://api.cybertemp.xyzEl nivel gratuito tiene velocidad de procesamiento estándar; suscríbete para acceso prioritario.
API Pública: Acceso a datos generales
Los endpoints como getMail o getDomains tienen dos modos:
X-API-KEY . Esto te da respuestas instantáneas y límites más altos según tu plan.X-API-KEY: your_subscription_api_key_hereToken Bearer (para endpoint privado)
Usa el encabezado Authorization: Bearer <token> solo para el endpoint privado /private/emails. Genera este token en tu panel. Te autentica como un usuario específico para acceder a tus correos personales vía API.
Authorization: Bearer your_generated_dashboard_token_hereCómo obtener una clave API
Las claves API están disponibles para todos los usuarios. Nota: el acceso instantáneo/sin retraso solo se otorga cuando la clave API está vinculada a un plan de suscripción de pago activo; de lo contrario, las solicitudes se tratan como públicas (sujetas a velocidad estándar y límites del nivel gratuito).
Inicia sesión en tu cuenta
Inicia sesión en tu cuenta CyberTemp usando tu correo y contraseña.
Accede a Configuración
Haz clic en tu avatar de perfil en la esquina superior derecha, luego selecciona "Configuración" en el menú desplegable.
Generar clave API
Desplázate hasta la sección "Claves API" y haz clic en el botón "Generar nueva clave". Copia y guarda tu clave API de forma segura.
X-API-KEY = GRATIS (Cola no prioritaria). Con suscripción activa = PRIORIDAD (Instantáneo)./private/emails): Usa Authorization: Bearer <token> (requerido).¿Necesitas acceso API instantáneo? Suscríbete:
Ver planes de suscripciónNuestra API requiere una clave API para todo acceso. El nivel gratuito tiene velocidad de procesamiento estándar en cada solicitud y aplican límites. Los usuarios suscritos obtienen acceso instantáneo con límites más altos:
Nivel Gratuito
Clave API requerida
Plan Eco
€1.99/mes
Plan Core
€2.99/mes
Plan Elite
€4.99/mes
Team
€49/mes · 5 plazas · funciones de Elite en cada plaza
// Public endpoint: Use X-API-KEY
async function getEmails(email, apiKey = null, limit = 25, offset = 0) {
const headers = apiKey ? { 'X-API-KEY': apiKey } : {};
const params = new URLSearchParams({ email });
if (limit !== 25) params.append('limit', limit.toString());
if (offset > 0) params.append('offset', offset.toString());
const url = `https://api.cybertemp.xyz/getMail?${params}`;
const response = await fetch(url, { headers });
if (!response.ok) { const err = await response.text(); throw new Error('HTTP error! ' + response.status + ': ' + err); }
return response.json();
}¿Prefieres una biblioteca cliente? Ve a Bibliotecas cliente
message.receivedLlega un nuevo email a una de tus bandejas.inbox.createdSe aprovisiona una nueva bandeja en tu cuenta.test.pingDisparado desde el botón «Probar» del panel — útil para verificar tu endpoint antes de que lleguen mensajes reales.{
"event": "message.received",
"delivery_id": "7c4f...",
"timestamp": 1731234567,
"data": {
"inbox_id": "5d2f...",
"inbox": "[email protected]",
"message_id": "9a1b...",
"from": "[email protected]",
"to": ["[email protected]"],
"subject": "Your verification code",
"received_at": "2026-05-17T09:31:00Z",
"size_bytes": 4732,
"encrypted": true
}
}Calcula un HMAC del cuerpo crudo con tu secreto y compáralo con la cabecera X-Cybertemp-Signature usando comparación a tiempo constante.
import crypto from "node:crypto";
import express from "express";
const app = express();
app.use("/webhooks/cybertemp",
express.raw({ type: "application/json" }));
app.post("/webhooks/cybertemp", (req, res) => {
const header = req.header("x-cybertemp-signature") || "";
const expected = "sha256=" + crypto
.createHmac("sha256", process.env.CT_WEBHOOK_SECRET)
.update(req.body)
.digest("hex");
if (!crypto.timingSafeEqual(
Buffer.from(header), Buffer.from(expected)
)) return res.status(401).end();
const event = JSON.parse(req.body.toString("utf8"));
// ...handle event...
res.status(200).end();
});Ante 5xx o timeout reintentamos con backoff exponencial (1min, 5min, 30min, 6h). Tras 10 fallos consecutivos pausamos el webhook y mostramos un aviso en el panel. Un 2xx se trata como éxito y reinicia el contador de fallos.
Gestiona tus endpoints y secretos de firma
Abrir Ajustes → Webhookspip install cybertempfrom cybertemp import CyberTemp
client = CyberTemp(api_key="tk_...")
emails = client.get_email_content("[email protected]")
domains = client.get_domains()go get github.com/sexfrance/cybertemp-goimport cybertemp "github.com/sexfrance/cybertemp-go"
c := cybertemp.New("tk_...")
inbox, _ := c.CreateInbox(ctx, nil)
msg, _ := c.WaitForMessage(ctx, inbox.ID, 60*time.Second, nil)cargo add cybertemp tokio --features tokio/fulluse cybertemp::Client;
use std::time::Duration;
let client = Client::new("tk_...");
let inbox = client.create_inbox().await?;
let msg = client.wait_for_message(&inbox.id, Duration::from_secs(60)).await?;No necesitas ningún paquete: Node 18+ incluye fetch.
const res = await fetch(
"https://api.cybertemp.xyz/[email protected]",
{ headers: { "X-API-KEY": process.env.CYBERTEMP_API_KEY! } },
);
const emails = await res.json(); // [{ id, from, subject, text, html, date }]¡API de correo todo en uno! Este único endpoint hace todo lo que necesitas:
Cómo funciona getEmails:
Autenticación:
emailDirección de correo objetivo (ej. [email protected]). Se crea auto si es nueva.
limitNúmero de correos a devolver (defecto 25, máx 100).
offsetDesplazamiento de paginación (defecto 0).
GET /[email protected]&limit=50&offset=100
X-API-KEY: your_api_key_here[
{
"id": "email:xyz",
"from": "[email protected]",
"to": "[email protected]",
"subject": "Test Email",
"text": "Email content",
"html": "<p>Email content</p>",
"date": "2024-01-01T00:00:00.000Z"
}
]