API Mareas, Clima y Océano global
Mareas, tiempo, olas, mar de fondo, temperatura del agua, sol y luna para 18,230+ estaciones en 188 países. 12 endpoints REST. Una sola clave API. Basado en TICON-4, NOAA y modelos FES2022.
// Fetch today's tides in San Francisco const res = await fetch( 'https://tidesatlas.com/api/v1/tides?port=san-francisco&days=3', { headers: { 'X-API-Key': 'YOUR_KEY' } } ); const { extremes } = await res.json(); // [{ datetime: "2026-03-27T05:12:00-07:00", height_m: 1.82, type: "high" }, ...]
Enrutamiento inteligente
Estaciones calibradas cuando están cerca, modelo global FES2022 cuando no. Automático y transparente.
Mareas en cualquier punto del mar
NEWPredicciones en coordenadas exactas, sin estación requerida. Diseñado para navegación oceánica e investigación.
Observaciones en tiempo real
Sensores REFMAR/SHOM en directo fusionados con las predicciones para puertos franceses.
Listo para producción
Caché agresivo, webhooks, rate limiting, 99,9 % de uptime.
Diseñado para todos los usos de mareas
Desde aplicaciones meteorológicas personales hasta plataformas marinas empresariales.
Navegación marítima
Planificación de entrada/salida de puerto, cálculos de calado y timing de paso.
Apps de pesca
Ventanas de pesca óptimas basadas en fase de marea, altura y corriente.
Surf y deportes acuáticos
Reportes de surf con datos de mareas, planificadores de kayak y guías de actividades de playa.
Inmobiliaria costera
Análisis de riesgo de inundación, datos de propiedades costeras y evaluaciones de seguros.
Investigación y ciencia
Conjuntos de datos oceanográficos, trabajo de campo en biología marina y modelado climático.
Clima y viajes
Integre mareas en paneles meteorológicos, planificadores de viaje y dispositivos IoT.
12 endpoints, posibilidades infinitas
Respuestas JSON limpias. Sin XML, sin SOAP, sin complicaciones.
Devuelve los horarios de pleamar y bajamar con alturas. Use un slug de estación para una predicción calibrada, o pase coordenadas y TidesAtlas elige automáticamente la mejor fuente.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Slug de estación, p. ej. aberdeen. Use /ports para buscar. |
lat / lon | float | Enrutamiento inteligente: si hay una estación calibrada a menos de 50 km, devuelve su predicción (data_source: "ticon"). Si no, usa el modelo oceánico global FES2022 en sus coordenadas exactas (data_source: "fes2022"). Sin redirección silenciosa a una estación lejana. |
date | YYYY-MM-DD | Start date (default: today). |
days | int | 1-14 days (default: 1). |
format | string | Formato de respuesta: json, csv o geojson (predeterminado: json). |
coefficients (mañana/tarde/máx por día, del 2026-01-01 al 2035-12-29) y un campo coefficient en cada pleamar (escala francesa, 20 = mareas muertas → 120 = mareas vivas excepcionales). No aplicable fuera de Francia. Probar
Ejemplo de respuesta
Francia: coeficientes de marea (escala francesa)
Para las estaciones en Francia, la respuesta incluye el coeficiente de marea francés — un número adimensional de 20 (mareas muertas) a 120 (mareas vivas excepcionales), usado comúnmente en el contexto marítimo francés. El campo aparece en dos lugares:
- Un campo
coefficienten cada pleamar enextremes(ausente en las bajamares). - Un objeto de primer nivel
coefficientscon valores diarios mañana/tarde/máx para el rango de fechas solicitado.
Cobertura: 2026-01-01 → 2035-12-29. Fuente: computed in-house from Brest harmonic constituents. Geografía: French stations only — the fields are omitted for stations outside France.
Leyenda: < 45 = mareas muertas, 45-70 = medias, 70-95 = por encima de la media, 95-110 = mareas vivas, > 110 = mareas vivas excepcionales.
Ejemplo de respuesta (campos específicos de Francia):
Siempre usa el modelo FES2022 (34 constituyentes armónicos) en las coordenadas exactas que proporciona — nunca recurre a una estación. Útil cuando necesita explícitamente la salida del modelo (investigación, comparaciones, navegación oceánica). Para la mayoría de las apps, /api/v1/tides?lat=&lon= es mejor porque elige automáticamente la mejor fuente.
| Parámetro | Tipo | Descripción |
|---|---|---|
lat | float | Latitude, decimal degrees, -90 to 90. Required. |
lon | float | Longitude, decimal degrees, -180 to 180. Required. |
date | YYYY-MM-DD | Start date UTC (default: today). |
days | int | 1-14 days (default: 1). |
datum | string | Vertical reference: LAT (default, like the /tides endpoint) or MSL. |
interval | int | Minutes between samples, 5-60 (default: 10). Sets the spacing of the optional heights series and the resolution of extremes detection. |
heights | bool | Set to 1 to also return an interval-sampled height series — ideal for plotting the tide curve (default: off). Each point is { datetime, height_m }. |
404 if the point is on land or outside the ocean mask.
Ejemplo de respuesta
Busque y liste las estaciones de marea disponibles en todo el mundo.
| Parámetro | Tipo | Descripción |
|---|---|---|
search | string | Search by name, e.g. aberdeen. |
country | string | Filter by country slug, e.g. united-kingdom. |
limit | int | Max results, 1-500 (default: 50). |
format | string | Formato de respuesta: json, csv o geojson (predeterminado: json). |
Devuelve los 188 países con su número de estaciones.
Devuelve el pronóstico meteorológico por horas y diario: temperatura, viento, precipitaciones, índice UV y condiciones.
cached and stale fields in the response. A 502 response means no data is available at all for that location.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Ejemplo de respuesta
Valores posibles de condition
El campo condition siempre devuelve uno de estos valores (asigna un icono a cada uno, incluido unknown):
clearmostly_clearpartly_cloudyovercastfogfreezing_foglight_drizzledrizzleheavy_drizzlefreezing_drizzleheavy_freezing_drizzlelight_rainrainheavy_rainfreezing_rainheavy_freezing_rainlight_snowsnowheavy_snowsnow_grainslight_showersshowersheavy_showerssnow_showersheavy_snow_showersthunderstormthunderstorm_hailheavy_thunderstorm_hailunknown Devuelve la altura del oleaje, marejada, olas de viento y estado del mar (modelos Copernicus/ECMWF).
cached and stale fields. A 502 means no data is available for that location.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Ejemplo de respuesta
Each hourly entry also includes sea_surface_temperature_c — the sea-surface (water) temperature in °C, from satellite SST (MUR / GHRSST, ~1 km), accurate near coasts.
Valores posibles de sea_state
El campo sea_state se basa en la escala de Douglas (según la altura de las olas) y siempre devuelve uno de estos valores:
calm_glassycalm_rippledsmoothslightmoderateroughvery_roughhighvery_highunknown Devuelve salida/puesta del sol, amanecer, crepúsculo, fase lunar, iluminación, salida/puesta de luna.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
date | YYYY-MM-DD | Start date (default: today). |
days | int | 1-7 days (default: 1). |
Ejemplo de respuesta
Devuelve datos meteorológicos, marinos y astronómicos en una sola llamada. Use el parámetro include para seleccionar los datos.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
include | string | Comma-separated: weather,marine,astronomy (default: all). |
Ejemplo de respuesta
Devuelve URLs de mosaicos de radar de lluvia para mapas animados de precipitación. Datos de RainViewer, actualizados cada ~10 minutos.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
Ejemplo de respuesta
Real-time data with ~10 minute delay. Tile URLs are standard slippy map format compatible with Leaflet, Mapbox GL, etc.
Devuelve alturas de agua observadas en tiempo real desde los mareógrafos REFMAR/SHOM. Disponible para ~100 estaciones francesas.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug (French REFMAR stations only), e.g. brest |
date | YYYY-MM-DD | Start date (default: today). |
days | int | 1-7 days (default: 1). |
Ejemplo de respuesta
Only available for French REFMAR stations (~100 tide gauges). Observations are sub-sampled to 10-minute intervals. Heights are aligned with our prediction datum. The /api/v1/tides endpoint also includes an observations field for REFMAR stations.
Devuelve predicciones de mareas y datos meteorológicos históricos. Mareas via motor TICON, meteorología via Open-Meteo Archive.
| Parámetro | Tipo | Descripción |
|---|---|---|
port | string | Station slug (required). |
date | YYYY-MM-DD | Start date in the past (required). |
days | int | 1-365 for tides, 1-90 for weather (default: 7). |
include | string | Comma-separated: tides,weather (default: tides). |
format | string | Formato de respuesta: json, csv o geojson (predeterminado: json). |
Probar
Ejemplo de respuesta
Crea, gestiona y prueba webhooks para alertas en tiempo real sobre mareas vivas y alertas de tormenta.
| Parámetro | Tipo | Descripción |
|---|---|---|
action | string | list, create, update, delete, test |
id | int | Webhook ID (for update/delete/test). |
Eventos soportados
spring_tide— Alerta de marea viva (altura > 4m)storm_warning— Alerta de tormenta (viento > 60km/h o olas > 4m)
Todas las entregas están firmadas con HMAC-SHA256. Verifica el header X-TidesAtlas-Signature.
Los webhooks se desactivan tras 3 fallos consecutivos.
Fuentes de datos y atribuciones
TidesAtlas construye la capa de enrutamiento, caché e integración sobre estos conjuntos de datos científicos abiertos. Cada fuente está listada con su licencia.
FES2022
Global finite-element ocean tide model. Used for the /api/v1/tides/point endpoint and for 13,360+ FES2022-derived stations.
Produced by LEGOS, NOVELTIS and CLS. Distributed by AVISO+ with support from CNES. Use requires citation per AVISO+ license. Product page →
TICON
Harmonic constants for 3,000+ tide gauges worldwide. Used for the /api/v1/tides endpoint.
Sourced from the GESLA/PANGAEA database. License: CC BY 4.0 — commercial use permitted. Dataset →
NOAA CO-OPS
Harmonic constants for 1,000+ US tide stations.
Public domain (US government work). NOAA CO-OPS →
REFMAR / SHOM
Live observations from ~100 French tide gauges. Used to enrich /tides responses for French ports.
License: Etalab 2.0. REFMAR →
Weather & marine
NOAA GFS (weather) and Copernicus Marine / ECMWF (waves, marine state) via Open-Meteo.
License: CC BY 4.0. Open-Meteo →
Rain radar
Live rain radar tiles via RainViewer.
Attribution required, commercial use permitted. RainViewer →
¿Cita TidesAtlas en su trabajo? Enlace a tidesatlas.com y acredite la fuente upstream (p. ej. «FES2022 vía TidesAtlas») cuando el modelo de marea sea el dato principal.
Inicio rápido en tu lenguaje favorito
Copia, pega y empieza a construir en menos de 60 segundos.
SDKs oficiales
Empieza más rápido con nuestras bibliotecas cliente oficiales.
npm install tidesatlas
pip install tidesatlas
Servidor MCP para agentes IA
Conecta TidesAtlas directamente a Claude, Cursor o cualquier asistente IA compatible con MCP.
Endpoint MCP
8 herramientas disponibles: tides, ports, countries, weather, marine, astronomy, conditions, history.
Configuración Claude Desktop
Precios simples y transparentes
Empieza gratis. Escala cuando lo necesites. Sin cargos ocultos.
Los 12 endpoints
Autenticación y límites de peticiones
Autenticación
Pase su clave API mediante header (recomendado) o parámetro de consulta:
Headers de límite de peticiones
Cada respuesta incluye su información de uso:
X-RateLimit-Limit | Su límite diario |
X-RateLimit-Remaining | Peticiones restantes hoy |
X-RateLimit-Reset | Hora de reinicio (Unix) |
Se aplican dos límites — superar cualquiera devuelve 429 Too Many Requests:
| Cuota del plan | Free 50 en total · Hobby 500/día · Starter 1.000/día · Pro 10.000/día · Business 50.000/día |
| Tasa por IP | 10 solicitudes/segundo por IP (ráfagas cortas hasta 30), máx. 20 conexiones simultáneas |
Ante un 429, espera antes de reintentar (ver Retry-After / X-RateLimit-Reset). Se recomienda backoff exponencial.
Preguntas frecuentes
?lat=&lon= a /api/v1/tides y TidesAtlas elige automáticamente la mejor fuente: si hay una estación calibrada a menos de 50 km, devuelve su predicción; en caso contrario, usa el modelo oceánico global FES2022 en sus coordenadas exactas. Para una respuesta exclusivamente del modelo (sin redirección a una estación), use /api/v1/tides/point. Ambos funcionan en cualquier punto de los océanos del mundo, sin estación necesaria.pip install tidesatlas (Python) o npm install tidesatlas (Node.js). También publicamos un servidor MCP en tidesatlas.com/mcp para agentes de IA, y la API es REST estándar — utilizable desde cualquier lenguaje con HTTP. Código fuente disponible en GitHub bajo @TidesAtlas./api/v1/marine devuelve la temperatura de la superficie del mar (agua) en °C por hora (sea_surface_temperature_c), junto con la altura de las olas, el mar de fondo, las olas de viento y el estado del mar. Datos del modelo marino Copernicus/ECMWF vía Open-Meteo./api/v1/tides/point con ?heights=1&interval=30 para obtener una serie de alturas muestreada ({ datetime, height_m } cada 5–60 minutos), todo lo necesario para dibujar una curva de marea suave. Sin ese parámetro solo obtienes los extremos (pleamar/bajamar)./api/v1/marine devuelve, por hora y por día, la altura de las olas, el período y la dirección, el mar de fondo, las olas de viento, el estado del mar (escala Douglas) y la temperatura de la superficie del mar — de los modelos oceánicos Copernicus/ECMWF.Empiece a construir con datos de mareas, clima y océano hoy
Clave API gratuita en 30 segundos. Sin tarjeta de crédito.