Saltar al contenido
CyberTemp
Desarrolladores

La API de correo temporal hecha para desarrolladores

Bandejas desechables que puedes controlar desde código: lee el correo con una API REST sencilla, recibe webhooks firmados con HMAC y conéctalas a agentes MCP. Todas las cuentas tienen una clave API gratuita; los planes de pago desde 1,99 €/mes amplían los límites.

# Any address on a CyberTemp domain works: the inbox is created on first read.
curl "https://api.cybertemp.xyz/[email protected]" \
  -H "X-API-KEY: tk_..."

# [{"id":"...","from":"[email protected]","subject":"Your code is 482917",
#   "text":"...","html":"...","date":"2026-05-17T09:31:00.000Z"}]

Pensado para estos flujos de trabajo

La mayoría de quienes usan la API de CyberTemp hacen una de estas tres cosas.

Pruebas de correo en CI/CD
Usa bandejas desechables en tus ejecuciones de Playwright, Puppeteer o Cypress. Sin bandejas compartidas ni secretos filtrados en los fixtures de prueba.
Flujos de OTP para automatización de QA
Dirige tu flujo de registro a una dirección nueva, consulta GET /getMail y lee el código del mensaje más reciente. Sin bandejas compartidas ni servidores de correo de prueba poco fiables.
Agentes de IA e integraciones MCP
Conecta nuestro servidor MCP a Claude o Cursor en segundos. Los agentes pueden registrarse, confirmar y actuar por su cuenta en flujos que dependen del correo.

Funciones

Autenticación con clave de API

Claves por cuenta y tokens de CLI por dispositivo. Revocables desde el panel.

Webhooks

Recibe avisos de mensajes nuevos en tu endpoint. Firmados con HMAC.

Extracción de OTP

Lee el mensaje más reciente con un solo GET y extrae el código con una expresión regular corta. Consulta los ejemplos de abajo.

IMAP

Conecta tus clientes de correo y herramientas actuales.

Dominios personalizados

Usa el tuyo propio: incluye ayuda con la configuración DNS.

Servidor MCP

Herramientas listas para usar en Claude Desktop y Cursor.

CLI

Próximamente. Hasta que se publique, usa la API REST o el servidor MCP.

SDKs

Bibliotecas cliente para Python, Go y Rust, o HTTP directo desde cualquier lenguaje.

Código real, no pseudocódigo

Esperar un OTP en una prueba de Playwright

import { test, expect } from "@playwright/test";

const API = "https://api.cybertemp.xyz";
const headers = { "X-API-KEY": process.env.CYBERTEMP_API_KEY! };

// Polls /getMail until the newest message contains a 4-8 digit code.
async function waitForOtp(email: string, timeoutMs = 30_000) {
  const deadline = Date.now() + timeoutMs;
  while (Date.now() < deadline) {
    const res = await fetch(`${API}/getMail?email=${encodeURIComponent(email)}`, { headers });
    const mails: { subject: string; text: string }[] = await res.json();
    const otp = mails[0] && `${mails[0].subject}\n${mails[0].text}`.match(/\b\d{4,8}\b/);
    if (otp) return otp[0];
    await new Promise((r) => setTimeout(r, 2000));
  }
  throw new Error("Timed out waiting for the OTP email");
}

test("signup verifies via OTP", async ({ page }) => {
  const email = `e2e${Date.now()}@cybertemp.xyz`;
  await page.goto("https://example.com/signup");
  await page.fill("#email", email);
  await page.click("button[type=submit]");

  const otp = await waitForOtp(email);
  await page.fill("#otp", otp);
  await expect(page).toHaveURL(/dashboard/);
});

Receptor de webhooks (planes Elite y Team)

Suscribe un endpoint HTTPS para recibir POST firmados con HMAC-SHA256 cada vez que llegue un mensaje a cualquiera de tus bandejas. Reintentamos con retroceso exponencial (1 min, 5 min, 30 min, 6 h) ante errores 5xx o tiempos de espera, y pausamos automáticamente tras 10 fallos seguidos.

Tipos de evento
  • message.received — llega un correo nuevo a una de tus bandejas
  • inbox.created — se ha creado una bandeja nueva en tu cuenta
  • test.ping — lanzado desde el botón «Probar» del panel
Cabeceras que enviamos
  • X-Cybertemp-Signature: sha256=<hmac_hex>
  • X-Cybertemp-Event: message.received
  • X-Cybertemp-Delivery: <unique_id>
  • X-Cybertemp-Timestamp: <unix_seconds>
  • Content-Type: application/json
Estructura del payload
{
  "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
  }
}
Verifica la firma
import crypto from "node:crypto";
import express from "express";

const app = express();
// IMPORTANT: keep the raw buffer for HMAC. Express's json() throws it away.
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)         // req.body is a Buffer thanks to express.raw
    .digest("hex");

  if (!crypto.timingSafeEqual(Buffer.from(header), Buffer.from(expected))) {
    return res.status(401).end();
  }

  const event = JSON.parse(req.body.toString("utf8"));
  console.log(event.data.from, "→", event.data.subject);
  res.status(200).end();
});

Gestiona los endpoints y los secretos de firma en Ajustes → Webhooks. Cada endpoint tiene un botón Probar que envía un evento de prueba, para que puedas comprobar la verificación de la firma sin esperar a un correo real.

Flujo de agente mediante MCP

User: Sign me up at acme.test with a throwaway email.
Wait for the verification code and paste it back.

Agent:
- create_inbox()                      -> [email protected]
- POST acme.test/signup { email: [email protected] }
- wait_for_message([email protected], timeout=60)
                                      -> "Your code is 482917"
- POST acme.test/verify { otp: 482917 }
Done.

Servidor MCP

Empieza en 3 pasos

Paso 1
Registrarse

Crea una cuenta gratuita. No se requiere tarjeta de crédito.

Registrarse
Paso 2
Conseguir una clave de API

Cualquier cuenta puede crear claves en Ajustes → Claves API. Las claves gratuitas tienen los límites del plan gratuito; los planes de pago los amplían.

Conseguir una clave de API
Paso 3
Hacer una petición
curl -H "X-API-KEY: tk_..." \
  "https://api.cybertemp.xyz/[email protected]"
Leer la documentación de la API

Desde 1,99 €/mes

Empieza gratis con una clave API. Los planes de pago amplían los límites de peticiones y de bandejas; Elite añade webhooks.