CanalIQ
API
Probar Pro
Documentación · v1 · servicio en línea

API y MCP

Los mismos datos del dashboard en JSON simple con CORS abierto. Endpoints gratuitos sin key; historia completa, pronóstico y alertas en Pro; webhooks y watchlist en Desk.

Basehttps://api.canaliq.koomodo.app
Endpoints principales: método, ruta, descripción y nivel de acceso
MétodoRutaDescripciónNivel
GET/v1/opsCola oficial por categoría, proyección 24/48 h e historia recienteGratis · Gratis, sin key
GET/v1/lakeNivel del Gatún y de Alhajuela, serie recienteGratis · Gratis, sin key
GET/v1/draftCalado máximo vigente con su advisory de origenGratis · Gratis, sin key
GET/v1/advisoriesAdvisories estructurados con resumen ES/ENGratis · Gratis, sin key
GET/v1/chokepointsLos 28 pasos: tránsitos, disrupción y sparklineGratis · Gratis, sin key
POST/v1/askPregúntale al Canal en lenguaje natural5/día · 5 preguntas al día sin key; ilimitado con Pro
GET/v1/pro/forecastPronóstico de cola a 7 días con banda de confianzaPro · Requiere key Pro (o Desk/Data)
GET/v1/pro/opsHistoria completa de la cola, también en CSVPro · Requiere key Pro (o Desk/Data)
GET/v1/pro/meTu plan, vencimiento y funciones incluidasPro · Requiere key Pro (o Desk/Data)
POST/v1/pro/alert-targetsDestinos de alerta Slack, Teams o webhookDesk · Requiere plan Desk o Data (también el trial de 14 días)
POST/v1/pro/watchlistWatchlist de buques por IMO/MMSIDesk · Requiere plan Desk o Data (también el trial de 14 días)
GET/v1/pro/exportVolcado histórico paginado, point-in-timeData · Requiere plan Data
Todos los endpoints y ejemplos ↓
Planes

Del dashboard gratis a la mesa de operaciones

Todo lo público sigue gratis. Los planes de pago añaden alertas inmediatas, integración con tus herramientas y el histórico propio de CanalIQ.

  • Gratis

    US$0

    sin key ni registro

    Para quien sigue el Canal o lo cita en un informe.

    • Dashboard completo: Panamá y los 28 pasos del mundo.
    • Bitácora semanal por correo los lunes.
    • API pública /v1/* sin key, con CORS abierto.
    • Pregúntale al Canal: 5 preguntas al día.
    • Gráficos embebibles con atribución.
    Abrir el dashboard
  • Pro · Operaciones

    US$149 / mes

    o US$1,490 al año

    Para agencias navieras, operadores y analistas que deciden con el Canal.

    • Alertas inmediatas por correo: calado oficial de la ACP, advisories altos, saltos de cola, noticias de acción y huracanes.
    • Historia completa en JSON o CSV (/v1/pro/*).
    • Pronóstico de cola a 7 días con banda de confianza.
    • MCP server: 25 herramientas para agentes IA.
    • Pregúntale al Canal sin límite.
    Pedir acceso Pro
  • Desk

    Prueba de 14 días

    US$690 / mes

    o US$6,900 al año

    Para mesas de chartering y trading, brokers y equipos de operaciones.

    • Todo Pro, para hasta 5 usuarios (una key por persona).
    • Alertas en Slack, Teams o tu webhook, con tipos y umbral de cola propios.
    • Watchlist de hasta 25 buques por IMO/MMSI: aviso cuando el AIS detecta fondeo, salida del fondeadero o inicio de tránsito (cuando lo detectemos; cobertura AIS parcial).
    • Mensaje de prueba por destino y estado del último envío.
    Hablar del plan Desk
  • Data

    US$4,500 / año

    desde; según datasets y uso

    Para research, fondos, aseguradoras y consultoras que modelan el Canal.

    • Todo Desk.
    • /v1/pro/export: volcado histórico paginado en CSV o JSON.
    • Point-in-time: cada fila lleva la fecha en que CanalIQ la registró.
    • Cola DCR, Gatún, proyección, cupos, ranking, cuenca, ENSO y los 28 pasos.
    • Licencia de uso interno.
    Hablar del plan Data

Cobro manual por transferencia o ACH; factura a nombre de la empresa. Precios en dólares, sin impuestos. Al suscribirte a la bitácora recibes 14 días de prueba a nivel Desk.

Comparativa completa y preguntas frecuentes →
01 /

Endpoints gratuitos

ACCESO LIBRE · SIN AUTENTICACIÓN

Sin API key. Los mismos datos que alimentan el dashboard, en JSON.

  • GET/v1/ops

    Cola 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/lake

    Nivel 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/draft

    Calado 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=25

    Advisories 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=30

    Pulso 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/slots

    Utilizació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/ranking

    Top 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=hormuz

    Los 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=10

    Avisos 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=365

    Incidentes 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=suez

    Condiciones 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/cyclones

    Ciclones 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=10

    Pulso 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/ask

    Pregú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/waits

    Agregados 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/metrics

    Estado 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/health

    Latido del servicio. Útil para monitoreo.

    { "ok": true }
02 /

Embeber y citar

GRATIS · SVG / IFRAME

Charts citables del Canal para tu artículo, blog o dashboard: dos formatos que se actualizan solos.

  • SVG/v1/embed/queue.svg · /v1/embed/lake.svg

    Una 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=suez

    Trá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/lake

    La 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».

Vista previa en vivoCola del Canal de Panamá — CanalIQ
03 /

Tier Pro

BEARER ciq_… · HISTORIA COMPLETA
Acceso Pro
$149/ mes

o US$1,490 al año (2 meses gratis)

AutenticaciónAuthorization: Bearer ciq_…
  • GET/v1/pro/ops?days=3650

    Historia 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=36500

    Serie histórica completa del nivel del lago Gatún, sin recorte de ventana. También disponible en CSV con ?format=csv.

  • GET/v1/pro/forecast

    Pronó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/ranking

    Ranking 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=1000

    Advisories con el JSON estructurado completo: vessel_scope, parsed_json y todos los campos extraídos.

  • GET/v1/pro/waits?days=365

    Observaciones individuales de tiempo de espera por buque — el dato crudo detrás de los agregados.

  • GET/v1/pro/chokepoints?id=suez&days=3650&format=csv

    Histó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.

  • GET/v1/pro/me

    Tu plan, cliente, fecha de vencimiento, funciones incluidas (alertas por correo, webhooks, watchlist, export) y límites. Cualquier plan válido.

    {
      "client": "Naviera del Istmo S.A.", "plan": "desk", "plan_nombre": "Desk",
      "paid_until": "2026-11-05",
      "features": { "alertas_email": true, "webhooks": true, "watchlist": true, "export": false },
      "limites": { "targets": 5, "watchlist": 25 }
    }

Desk y Data usan la misma key (Authorization: Bearer ciq_…). Si el plan no alcanza, el endpoint responde HTTP 403 con el plan requerido y su precio. El trial de 14 días es nivel Desk.

  • GET · POST · DELETE/v1/pro/alert-targetsDesk

    Destinos de alerta propios (máx. 5 por key). POST {kind: slack|teams|webhook, url (https, ≤ 500 caracteres), events?, min_queue?}; events es una lista CSV de draft_official, advisory_high, queue_jump, news_action, hurricane, watch_vessel (vacío = todos); min_queue fija tu umbral para los saltos de cola. DELETE ?id=. Envíos con timeout de 5 s y sin reintentos; last_status guarda la respuesta.

    curl -X POST https://api.canaliq.koomodo.app/v1/pro/alert-targets \
      -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{"kind":"slack","url":"https://hooks.slack.com/services/…","events":"draft_official,queue_jump","min_queue":80}'
    
    # Payload del webhook genérico (kind=webhook)
    { "type": "queue_jump", "title": "…", "body": "…",
      "url": "https://canaliq.koomodo.app/panama#ops",
      "ts": "2026-10-06T14:07:00Z", "source": "CanalIQ" }
  • POST/v1/pro/alert-targets/test?id=1Desk

    Envía un mensaje de prueba al destino ?id= y devuelve el estado HTTP que respondió.

  • GET · POST · DELETE/v1/pro/watchlistDesk

    Watchlist de buques (máx. 25 por key). POST {imo? | mmsi?, name?}: con IMO se resuelve el MMSI desde la flota que ha visto CanalIQ (404 si no está). Avisa por correo y a tus destinos (tipo watch_vessel) cuando el AIS detecta fondeo, salida del fondeadero o inicio de tránsito en Panamá: cuando lo detectemos, la cobertura AIS es parcial. DELETE ?mmsi=.

    curl -X POST https://api.canaliq.koomodo.app/v1/pro/watchlist \
      -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
      -H "Content-Type: application/json" \
      -d '{"imo":"9811000","name":"Mi buque"}'
    
    curl -X DELETE -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
      "https://api.canaliq.koomodo.app/v1/pro/watchlist?mmsi=352000000"
  • GET/v1/pro/export?dataset=acp_daily&limit=5000&format=jsonData

    Volcado histórico paginado de los datasets propios: acp_daily, lake_levels, lake_projection, slot_snapshots, customer_ranking, chokepoint_daily, watershed_daily, enso. limit ≤ 5000, format=csv|json; la respuesta trae next (cursor para ?after=; en CSV, en la cabecera X-Next-Cursor). Cada fila incluye la fecha en que CanalIQ registró el dato (point-in-time).

    {
      "dataset": "acp_daily", "count": 5000, "limit": 5000,
      "next": "<cursor>",
      "rows": [ { "date": "2025-01-01", "queue_total": 71, …, "recorded_at": null } ]
    }
    
    # CSV: el cursor llega en la cabecera X-Next-Cursor
    curl -i -H "Authorization: Bearer ciq_xxxxxxxxxxxx" \
      "https://api.canaliq.koomodo.app/v1/pro/export?dataset=acp_daily&after=<next>&format=csv"
  • 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?»

Solicita tu API key ⇢

Facturación manual mientras dure el early access. Respuesta en menos de 24 h.

04 /

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/forecast

Fair 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 [email protected].