API y MCP
Los mismos datos del dashboard en JSON simple con CORS abierto. Endpoints gratuitos sin key; historia completa y pronóstico en Pro.
https://api.canaliq.koomodo.app| Método | Ruta | Descripción | Nivel |
|---|---|---|---|
| GET | /v1/ops | Cola oficial por categoría, proyección 24/48 h e historia reciente | Gratis · Gratis, sin key |
| GET | /v1/lake | Nivel del Gatún y de Alhajuela, serie reciente | Gratis · Gratis, sin key |
| GET | /v1/draft | Calado máximo vigente con su advisory de origen | Gratis · Gratis, sin key |
| GET | /v1/advisories | Advisories estructurados con resumen ES/EN | Gratis · Gratis, sin key |
| GET | /v1/chokepoints | Los 28 pasos: tránsitos, disrupción y sparkline | Gratis · Gratis, sin key |
| POST | /v1/ask | Pregúntale al Canal en lenguaje natural | 5/día · 5 preguntas al día sin key; ilimitado con Pro |
| GET | /v1/pro/forecast | Pronóstico de cola a 7 días con banda de confianza | Pro · Requiere key Pro |
| GET | /v1/pro/ops | Historia completa de la cola, también en CSV | Pro · Requiere key Pro |
Endpoints gratuitos
ACCESO LIBRE · SIN AUTENTICACIÓNSin API key. Los mismos datos que alimentan el dashboard, en JSON.
- GET
/v1/opsCola oficial del Canal según datos oficiales de la ACP: lectura actual por categoría de buque, proyecciones a 24 y 48 horas, y serie histórica de hasta 60 filas diarias.
{ "latest": { "date": "2026-06-09", "queue_total": 60, "queue_neopanamax": 22, "queue_panamax_plus": 9, "queue_super": 14, "queue_regular": 15, "queue_proj_24h": 58, "queue_proj_48h": 55, "arrivals_total": 31, "transits_total": 34 }, "history": [ /* … */ ] } - GET
/v1/lakeNivel del lago Gatún (y Alhajuela cuando está disponible), últimos 60 días. Cota en pies sobre el nivel del mar.
{ "levels": [ { "date": "2026-06-08", "gatun_ft": 85.17, "alhajuela_ft": 218.43 }, { "date": "2026-06-07", "gatun_ft": 85.21, "alhajuela_ft": 218.51 } ] } - GET
/v1/draftCalado máximo autorizado vigente en las esclusas neopanamax, extraído del último advisory de calado de la ACP, con fecha de vigencia y enlace al documento de origen. max_draft_ft es null cuando no hay restricción publicada.
{ "max_draft_ft": 50.0, "advisory_number": "ADV-12-2026", "effective_date": "2026-05-28", "source_url": "https://pancanal.com/…" } - GET
/v1/advisories?limit=25Advisories de la ACP estructurados: número, tipo de documento, nivel de impacto y resúmenes propios en español e inglés, con enlace al documento oficial.
{ "advisories": [ { "advisory_number": "ADV-29-2025", "doc_type": "advisory", "impact_level": "high", "summary_es": "Reducción temporal de tránsitos en…", "summary_en": "Temporary transit reduction at…", "source_url": "https://pancanal.com/…" } ] } - GET
/v1/pulse?limit=30Pulso noticioso del Canal: titulares estructurados con categoría, severidad, score y resúmenes propios en español e inglés, con enlace a la fuente original. Filtra con ?categoria= y ?severidad=.
{ "items": [ { "title": "Panama Canal adjusts booking slots…", "source": "gCaptain", "published": "2026-06-09T14:02:00Z", "categoria": "tarifas-slots", "severidad": "watch", "score": 72, "resumen_es": "La ACP ajusta los cupos de reserva…", "resumen_en": "The ACP adjusts booking slots…", "url": "https://…" } ] } - GET
/v1/slotsUtilización del sistema de reservas: cupos ofrecidos, cupos tomados y porcentaje de utilización por ventana (d7/d30/d90/d365) y categoría de buque, con historia de la ventana de 30 días.
{ "as_of": "2026-06-09", "windows": [ { "window": "d30", "category": "neopanamax", "slots_total": 310, "slots_booked": 287, "utilization_pct": 92.6 } ], "history": [ { "as_of": "2026-06-02", "utilization_d30_pct": 90.1 } ] } - GET
/v1/rankingTop de clientes del Canal según el ranking mensual oficial de la ACP: posición, cliente y movimiento frente al mes anterior. La vista pública es un teaser; la serie completa vive en el tier Pro.
{ "month": "2026-05", "top": [ { "rank": 1, "client": "…", "weight": 18.4, "prev_rank": 2, "delta": 1 } ] } - GET
/v1/chokepoints · /v1/chokepoints?id=hormuzLos 28 canales y estrechos del mundo con tránsitos diarios de IMF PortWatch: media 7 y 30 días, línea base, interanual, índice de disrupción 0-100, capacidad (DWT/día), mezcla por tipo de buque y sparkline de 90 días. Con ?id=<slug> devuelve la serie diaria (~400 días) de un paso.
{ "latest": "2026-09-27", "source": "IMF PortWatch", "chokepoints": [ { "id": "suez", "avg7": 40, "avg30": 40.7, "baseline": 41, "yoy7_pct": -6.4, "vs_baseline_pct": -0.8, "disruption": 1, "capacity30": 1536803, "mix30": { "container": 26.6, "tanker": 39.9 }, "spark90": [47, 34, 44] } ] } - GET
/v1/imo?chokepoint=hormuz&limit=10Avisos oficiales de la Organización Marítima Internacional etiquetados por paso, con severidad (info/watch/action) y resumen propio de CanalIQ en ES/EN. Por los términos de imo.org solo se entrega titular, fecha, tipo y enlace al original. Filtros: ?chokepoint=<slug>&limit=.
{ "source": "IMO", "notices": [ { "url": "https://www.imo.org/en/mediacentre/…", "kind": "press", "title": "…", "published": "2026-09-30", "chokepoints": ["hormuz"], "severidad": "watch", "resumen_es": "…", "resumen_en": "…" } ] } - GET
/v1/security?chokepoint=malacca&days=365Incidentes de piratería y robo armado de ReCAAP ISC (cobertura solo Asia) asignados al paso más cercano: conteos a 90 y 365 días y categoría más grave por paso, más la lista de incidentes (fecha, tipo, buque, posición, CAT 1-4). Fuera de Asia la ausencia de datos es «sin cobertura», no «sin incidentes». Filtros: ?chokepoint=<slug>&days=.
{ "source": "ReCAAP ISC", "coverage": "asia", "by_chokepoint": [ { "chokepoint": "malacca", "n90": 5, "n365": 40, "worst_cat": 2, "last_date": "2026-09-17" } ], "incidents": [ { "id": "recaap-2026-001", "date": "2026-09-17", "incident_type": "Robbery/ Theft", "ship_type": "BULK CARRIER", "lat": 1.13, "lon": 103.52, "severity": 3, "chokepoint": "malacca" } ] } - GET
/v1/chokepoints/conditions?id=suezCondiciones en vivo de un paso (Open-Meteo, modelos NOAA/ECMWF): viento y rachas (kn) con dirección, visibilidad, temperatura del aire y del mar, código de tiempo WMO, ola, mar de fondo y periodo, más pronóstico de 3 días con máximos diarios. Fechas en la zona horaria local del paso (campo timezone). No se almacena: caché de 30 min. Dato de modelo, no apto para navegación. Parámetro: ?id=<slug>.
{ "id": "suez", "timezone": "Africa/Cairo", "source": "Open-Meteo (modelos NOAA/ECMWF)", "current": { "wind_kn": 6.6, "wind_dir": 208, "gust_kn": 8.9, "visibility_km": 38.5, "temp_c": 25.3, "weather_code": 0, "wave_m": 0.44, "wave_dir": 322, "wave_period_s": 4.7, "swell_m": 0.44, "sst_c": 26.8 }, "forecast": [ { "date": "2026-10-02", "wind_max_kn": 15.8, "gust_max_kn": 22, "precip_mm": 0.4, "weather_code": 3, "wave_max_m": 0.5, "swell_max_m": 0.5 } ] } - GET
/v1/cyclonesCiclones tropicales activos de todas las cuencas según GDACS (UE-JRC, ONU-OCHA): nombre, alerta Green/Orange/Red, posición del último boletín, país afectado, intensidad textual, enlace al informe de gdacs.org y pasos del catálogo a ≤800 nm (near_chokepoints con distancia). Complementa /v1/storms (NOAA NHC, Atlántico y Pacífico oriental). Caché de 30 min.
{ "source": "GDACS (UE-JRC, ONU-OCHA)", "count": 6, "cyclones": [ { "id": "TC-1001332", "name": "CHOI-WAN-26", "alert": "Green", "lat": 16.9, "lon": 145.1, "last_update": "2026-10-01T18:00:00", "severity_text": "Tropical Storm (…)", "report_url": "https://www.gdacs.org/report.aspx?…", "near_chokepoints": [ { "id": "luzon", "nm": 742 } ] } ] } - GET
/v1/chokepoints/news?id=hormuz&limit=10Pulso de noticias por paso: titulares de medios marítimos con severidad (info/watch/action) y puntuación asignadas por IA, y resumen propio de CanalIQ en ES/EN (nunca el texto del medio) con enlace al original. Panamá no se incluye: su pulso es /v1/pulse. Filtros: ?id=<slug>&severidad=&limit=.
{ "chokepoint": "hormuz", "items": [ { "url": "https://…", "source": "Lloyd's List", "title": "…", "published": "2026-09-30T08:10:00Z", "severidad": "watch", "score": 64, "resumen_es": "…", "resumen_en": "…" } ] } - POST
/v1/askPregúntale al Canal: respuesta en lenguaje natural (Claude Haiku) SOLO con los datasets de CanalIQ. Body JSON {question (máx. 500 caracteres), lang, chokepoint?}. Con chokepoint=<slug> el contexto incluye la serie de ese paso, sus avisos IMO, ReCAAP, condiciones y noticias, además del resumen mundial. Sin key: 5 preguntas/día por IP (HTTP 429 al agotarse); con key Pro, sin límite.
curl -X POST https://api.canaliq.koomodo.app/v1/ask \ -H "Content-Type: application/json" \ -d '{"question":"¿Cómo está el tráfico en Ormuz?","lang":"es","chokepoint":"hormuz"}' { "answer": "…", "model": "claude-haiku-4-5", "generated": "2026-10-01T23:00:00Z", "disclaimer": "…" } - GET
/v1/queue · /v1/queue/history · /v1/waitsAgregados derivados de AIS: snapshots de buques en fondeaderos, historia de la cola observada y tiempos de espera. Muestreo cada 15 minutos — no son posiciones crudas.
- GET
/v1/status · /v1/lake/normals · /v1/metricsEstado del pipeline: frescura de cada dataset (último dato, edad, umbral) y última corrida de cada job de ingesta. Además: normales históricas del Gatún por día del año y métricas diarias por fondeadero.
- GET
/healthLatido del servicio. Útil para monitoreo.
{ "ok": true }
Embeber y citar
GRATIS · SVG / IFRAMECharts citables del Canal para tu artículo, blog o dashboard: dos formatos que se actualizan solos.
- SVG
/v1/embed/queue.svg · /v1/embed/lake.svgUna imagen que se redibuja con cada lectura; ideal para artículos, READMEs y newsletters.
<img src="https://api.canaliq.koomodo.app/v1/embed/queue.svg?theme=light" width="640" alt="Cola del Canal de Panamá — CanalIQ"> - SVG
/v1/embed/chokepoint.svg?id=suezTránsitos diarios de cualquiera de los 28 pasos (IMF PortWatch) como SVG embebible. Parámetros: id=<slug> (obligatorio), theme=light|dark, lang=es|en, days=7–400 (90 por defecto). Caché de 15 min.
<a href="https://canaliq.koomodo.app/mundo/suez"><img src="https://api.canaliq.koomodo.app/v1/embed/chokepoint.svg?id=suez&theme=light&lang=es" width="640" alt="Tránsitos diarios del Canal de Suez — CanalIQ"></a> - IFRAME
/embed/queue · /embed/lakeLa versión compacta del dashboard, en vivo dentro de tu página.
<iframe src="https://canaliq.koomodo.app/embed/queue?theme=light" width="640" height="360" frameborder="0"></iframe>
Variantes para el lago Gatún: sustituye queue por lake (/v1/embed/lake.svg y /embed/lake). Parámetros: ?theme=light|dark y ?lang= (13 idiomas).
Embeber es gratis; al citar en artículos: «según datos de CanalIQ».
Tier Pro
BEARER ciq_… · HISTORIA COMPLETAAuthorization: Bearer ciq_…- GET
/v1/pro/ops?days=3650Historia completa de la cola oficial con todas las métricas oficiales: categorías, proyecciones, llegadas y tránsitos, día a día. Añade ?format=csv para descargarla como CSV lista para hoja de cálculo o ETL.
- GET
/v1/pro/lake?days=36500Serie histórica completa del nivel del lago Gatún, sin recorte de ventana. También disponible en CSV con ?format=csv.
- GET
/v1/pro/forecastPronóstico de la cola del Canal a 7 días generado por CanalIQ: predicción central y banda de confianza (lo/hi) por fecha, para planificar arribos y ventanas de reserva. Incluye short_term: predicción de cola a ≤3 días basada en llegadas observadas.
{ "forecast": [ { "date": "2026-06-10", "queue_pred": 57, "lo": 51, "hi": 64 }, { "date": "2026-06-11", "queue_pred": 55, "lo": 48, "hi": 63 } ], "short_term": [ { "date": "2026-06-10", "queue_pred": 56, "basis": "arrivals" } ] } - GET
/v1/pro/rankingRanking completo de clientes con historia mensual: las 15 posiciones con peso, posición previa y delta, listas para series de tiempo y análisis de cuota.
- GET
/v1/pro/advisories?limit=1000Advisories con el JSON estructurado completo: vessel_scope, parsed_json y todos los campos extraídos.
- GET
/v1/pro/waits?days=365Observaciones individuales de tiempo de espera por buque — el dato crudo detrás de los agregados.
- GET
/v1/pro/chokepoints?id=suez&days=3650&format=csvHistórico de tránsitos diarios por paso (IMF PortWatch): total, mezcla por tipo de buque y capacidad. ?id=<slug> (omitido = los 28 pasos), days=1–3650 (400 por defecto), format=csv para descargar.
- Historia profunda para modelos de demanda y backtesting.
- Datos listos para ETL: campos estables, JSON plano o CSV (?format=csv).
- Pronóstico de cola a 7 días con banda de confianza.
- Soporte directo con quien construye el sistema.
MCP — tu analista IA conectado al Canal
Conecta Claude u otros agentes de IA directamente a los datos del Canal y pregunta en lenguaje natural.
claude mcp add --transport http canaliq https://api.canaliq.koomodo.app/mcp \
--header "Authorization: Bearer ciq_TU_KEY"canal_queueCola oficial del Canal: lectura actual e historia oficial.canal_lakeNivel del lago Gatún, actual e histórico.canal_advisoriesAdvisories de la ACP estructurados, con resúmenes.canal_draftCalado máximo autorizado vigente en las esclusas.canal_forecastPronóstico de la cola a 7 días con banda de confianza.canal_transitHoras oficiales en aguas del Canal (CWT) por categoría y espera estimada en fondeadero.canal_waitsTiempos de espera observados por buque.canal_maritimeCondiciones marítimas en vivo en ambas entradas: viento, oleaje, marea, sol y luna.canal_projectionProyección oficial de la ACP a 60 días del nivel del Gatún y el calado máximo.canal_pulsePulso noticioso del Canal, estructurado por categoría y severidad.canal_slotsUtilización de cupos de reserva por ventana y categoría.canal_rankingRanking mensual oficial de clientes del Canal.canal_chokepointsTránsitos y disrupción de los 28 canales y estrechos del mundo (IMF PortWatch).canal_securityPiratería y robo armado por paso (ReCAAP ISC, solo Asia).canal_imoAvisos oficiales de la IMO por paso (titular, fecha, severidad y enlace).canal_chokepoint_conditionsCondiciones en vivo y pronóstico de 3 días de un paso (Open-Meteo).canal_cyclonesCiclones activos de todas las cuencas con los pasos cercanos (GDACS).canal_chokepoint_newsPulso de noticias de un paso con resumen propio ES/EN.
Pregunta de ejemplo«¿Cómo se compara la cola de hoy con el promedio de mayo?»
Facturación manual mientras dure el early access. Respuesta en menos de 24 h.
Ejemplos
CURL · CACHE RECOMENDADO 15 MIN# Gratuito — cola oficial del Canal
curl https://api.canaliq.koomodo.app/v1/ops
# Gratuito — advisories estructurados
curl "https://api.canaliq.koomodo.app/v1/advisories?limit=10"
# Gratuito — calado máximo vigente
curl https://api.canaliq.koomodo.app/v1/draft
# Pro — historia completa de la cola (CSV con ?format=csv)
curl -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
"https://api.canaliq.koomodo.app/v1/pro/ops?days=3650&format=csv"
# Pro — pronóstico de cola a 7 días
curl -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
https://api.canaliq.koomodo.app/v1/pro/forecastFair use: los datos provienen de fuentes oficiales, verificadas a diario contra los originales, y de muestreo AIS propio; CanalIQ no está afiliado a la Autoridad del Canal de Panamá. Las series se actualizan a ritmo diario o cada 15 minutos según la fuente — cachea las respuestas al menos 15 minutos y enlaza el documento oficial al citar advisories.
¿Dudas técnicas? Escribe a canaliq@koomodo.app.