Alertas oficialesInformación verificada de fuentes oficiales.
Alertas comunitariasCreadas por la comunidad, para la comunidad.
Tú decidesSuscríbete a lo que realmente te importa.
EntrarCrear cuenta

API de Alartman

Cada canal tiene un token. Con él puedes emitir alertas desde cualquier sistema: un script, un cron, Zapier, n8n, tu propio backend.

Emitir una alerta

POST https://alartman.com/api/emit
Authorization: Bearer TOKEN_DEL_CANAL
Content-Type: application/json

{
  "title": "XRP cruzó $3.20",          // requerido, máx 160
  "body": "+4.1% en la última hora",   // opcional, máx 2000
  "url": "https://evanbank.com/...",    // opcional, se abre al tocar
  "priority": "high"                    // low | normal | high | critical
}

Respuesta: {"ok":true,"alert_id":123,"subscribers":418}. También acepta token como campo del JSON o cabecera X-Token. Límite: 60 alertas por canal cada 10 minutos.

Webhook entrante

Crea una fuente tipo Webhook en tu canal y obtendrás una URL única. Cualquier POST JSON con title (y opcionalmente body, url, priority) se convierte en alerta. Si el JSON no trae title, se usa message, text o subject.

curl -X POST https://alartman.com/api/webhook/TOKEN_WEBHOOK -H "Content-Type: application/json" -d '{"title":"Deploy OK","body":"v2.3.1 en producción"}'

Fuentes RSS / JSON

Sin código. Pega la URL del feed; Alartman la revisa cada N minutos y sólo envía elementos nuevos (la primera lectura indexa sin disparar). Para JSON indica la ruta a la lista ($, data.items) y las claves de título, cuerpo y URL.

Sismos en tiempo real

Fuente nativa, sin código: en tu canal agrega una fuente tipo Sismos en tiempo real, elige proveedor (USGS mundial/México o SSN-UNAM), magnitud mínima y cada cuántos minutos revisar. Cada sismo sobre el umbral se convierte en alerta con magnitud, lugar, hora, profundidad y enlace al reporte oficial; la prioridad sube con la magnitud.

Leer alertas desde tu sitio (API pública v1)

Sin llave, sin registro, CORS abierto (Access-Control-Allow-Origin: *), respuesta cacheable 60 s, límite de 300 peticiones por hora por IP. Sólo expone canales públicos; nunca alertas personales ni de grupos privados.

GET https://alartman.com/api/v1/alerts
GET https://alartman.com/api/v1/channels
GET https://alartman.com/api/v1/categories
GET https://alartman.com/api/v1/feed.xml          → RSS 2.0 listo para lectores y widgets

Parámetros de /api/v1/alerts

kind=official | community | all     (por defecto: official)
channel=sismos-mexico-ssn-unam      slug de un canal
category=sismos                     slug de categoría
priority=high                       mínimo: low | normal | high | critical
since_id=1234                        sólo alertas con id mayor (para sondeo incremental)
since=2026-08-21T00:00:00Z           ISO 8601 o cualquier formato que entienda strtotime
q=guadalajara                        busca en título y cuerpo
limit=20                             1 a 100
order=desc | asc

Respuesta

{
  "ok": true, "count": 2, "latest_id": 1876, "generated_at": "2026-08-21T13:40:02-06:00",
  "alerts": [{
    "id": 1876,
    "title": "Sismo M5.3 · 22 km SSW de Pinotepa Nacional",
    "body": "Hora: 2026-08-21 13:22 · Profundidad: 18 km · Fuente: SSN",
    "priority": "high",                       // low | normal | high | critical
    "source": "module",                       // manual | api | rss | json | webhook | quake | module
    "created_at": "2026-08-21T13:24:10-06:00",
    "link": "https://www.ssn.unam.mx/...",    // enlace de la fuente, puede ser null
    "image": "https://...",                   // puede ser null
    "permalink": "https://alartman.com/a/1876",
    "channel": { "slug": "sismos-mexico-ssn-unam", "name": "Sismos México (SSN-UNAM)", "icon": "〰️", "official": true, "url": "https://alartman.com/c/sismos-mexico-ssn-unam" },
    "category": { "slug": "sismos", "name": "Sismos" }
  }]
}

Ejemplos

// JavaScript en tu sitio
const r = await fetch('https://alartman.com/api/v1/alerts?kind=official&priority=high&limit=5');
const { alerts } = await r.json();
alerts.forEach(a => console.log(a.channel.icon, a.title, a.created_at));

# PHP
$j = json_decode(file_get_contents('https://alartman.com/api/v1/alerts?category=sismos&limit=10'), true);

# Sondeo incremental cada minuto (sin repetidos)
GET https://alartman.com/api/v1/alerts?since_id=1876   → usa "latest_id" de la respuesta anterior

Buenas prácticas: consulta como mucho una vez por minuto, guarda latest_id y usa since_id, y al mostrar las alertas cita la fuente (el campo channel.name) y enlaza al permalink. Las alertas oficiales reproducen datos de SSN, USGS, NOAA, CENAPRED y otros organismos: consérvalos íntegros y no los presentes como propios.

¿Vas a integrarlo con ayuda de una IA? Descarga instrucciones en Markdown listas para pegar en tu asistente.

Ejemplo PHP

$ch = curl_init('https://alartman.com/api/emit');
curl_setopt_array($ch, [CURLOPT_POST=>1, CURLOPT_RETURNTRANSFER=>1,
  CURLOPT_HTTPHEADER=>['Authorization: Bearer '.$token,'Content-Type: application/json'],
  CURLOPT_POSTFIELDS=>json_encode(['title'=>'Hola','priority'=>'normal'])]);
echo curl_exec($ch);