API Marés, Clima & Oceano global
Marés, meteorologia, ondas, ondulação, temperatura da água, sol e lua para 13,441+ estações em 180 países. 13 endpoints REST. Uma única chave API. Baseado em TICON-4, NOAA e 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" }, ...]
Roteamento inteligente
Estações calibradas quando próximas, modelo global FES2022 caso contrário. Automático e transparente.
Marés em qualquer ponto do mar
NEWPrevisões em coordenadas exatas, sem estação necessária. Feito para navegação oceânica e pesquisa.
Observações em tempo real
Sensores REFMAR/SHOM ao vivo fundidos com as previsões para portos franceses.
Pronto para produção
Cache agressivo, webhooks, rate limiting, 99,9% de uptime.
Concebido para todos os usos de marés
De aplicações meteorológicas pessoais a plataformas marinhas empresariais.
Navegação marítima
Planeamento de entrada/saída de porto, cálculos de calado e timing de passagem.
Apps de pesca
Janelas de pesca ideais baseadas na fase de maré, altura e corrente.
Surf e desportos aquáticos
Relatórios de surf com dados de maré, planificadores de kayak e guias de atividades de praia.
Imobiliário costeiro
Análise de risco de inundação, dados de propriedades costeiras e avaliações de seguros.
Investigação e ciência
Conjuntos de dados oceanográficos, trabalho de campo em biologia marinha e modelação climática.
Meteorologia e viagens
Integre marés em painéis meteorológicos, planificadores de viagem e dispositivos IoT.
13 endpoints, possibilidades infinitas
Respostas JSON limpas. Sem XML, sem SOAP, sem complicações.
Retorna os horários de preia-mar e baixa-mar com alturas. Use um slug de estação para uma previsão calibrada de porto, ou passe coordenadas e o TidesAtlas escolhe automaticamente a melhor fonte.
| Parâmetro | Tipo | Descrição |
|---|---|---|
port | string | Slug da estação, ex. aberdeen. Use /ports para pesquisar. |
country | string | Optional ISO-2 country code to disambiguate a slug shared by several cities (e.g. port=san-juan&country=PH). When a slug is ambiguous, the response sets tide_source.slug_ambiguous: true and names the country served. Also accepted on /history and /observations. |
lat / lon | float | Roteamento inteligente: se uma estação calibrada estiver a até 50 km, retorna sua previsão (data_source: "ticon"). Caso contrário, usa o modelo oceânico global FES2022 nas suas coordenadas exatas (data_source: "fes2022"). Sem redirecionamento silencioso para estações distantes. |
date | YYYY-MM-DD | Start date (default: today). |
days | int | 1-14 days (default: 1). |
format | string | Formato de resposta: json, csv ou geojson (padrão: json). |
coefficients (manhã/tarde/máx por dia, de 2026-01-01 a 2035-12-29) e um campo coefficient em cada preia-mar (escala francesa, 20 = marés mortas → 120 = marés vivas excecionais). Não aplicável fora de França. Experimentar
Exemplo de resposta
The tide_source field
Every /api/v1/tides response tells you exactly which station's curve you are receiving, so you can decide how much to trust it:
own_station/high— the port has its own tide model. Highest accuracy.reference_port/medium— a secondary port; the reference curve is transferred with harmonic corrections rebuilt from the Shom Références Altimétriques Maritimes (open data).reference_sluganddistance_kmtell you the source.reference_port/low— curve inherited from the reference port without a local correction yet. Use with care.official_data/high— curve computed from the data of a national agency (South Korea: KHOA harmonic constants; Hong Kong: Hong Kong Observatory predictions; Taiwan: Central Weather Administration official forecasts, checked against its tide gauges).agency,stationandattributionare given; credit them.model_point— no tide gauge here: the FES2022 global model is read at the nearest modelled sea point,model_cell_distance_kmaway (mediumwithin 4 km, otherwiselow).
For a reference_port, place_type tells you why the curve comes from somewhere else: gauge — a real tide gauge a few km away; estuary — the place is on a tidal river or estuary, the tide arrives later than at the reference and its height differs; inland — there is no tide at this place (confidence: none), the curve is that of the nearest coast.
Attribution for corrected French ports: Shom, 2025. Références Altimétriques Maritimes, doi:10.17183/MAREE_COURANTS_RAM (Licence Ouverte 2.0).
Measured accuracy (tide_source.measured_accuracy)
For stations that sit next to a public tide gauge, we continuously compare our predictions against actual observations and publish the result. When a recent verification exists (≤ 60 days), the response includes:
Median absolute errors versus gauge observations over the stated window. Informational only — not a warranty, and never a substitute for official navigation documents. Gauge data: University of Hawaii Sea Level Center (Caldwell et al. 2015, doi:10.7289/V5V40S7W) and NOAA CO-OPS.
What this API does not provide
- Fine-scale currents in channels and passes — the
/currentsendpoint provides open-water surface currents at ~8 km resolution; it cannot resolve tidal races, narrow passes or harbour entrances — and says so in every response. - Storm surge / weather-driven water level — predictions are astronomical tide only; meteorological effects are not included.
- Navigation-grade certification — always cross-check with official sources before any safety-critical decision.
França: coeficientes de maré (escala francesa)
Para estações em França, a resposta inclui o coeficiente de maré francês — um número adimensional de 20 (marés mortas) a 120 (marés vivas excecionais), comummente utilizado no contexto marítimo francês. O campo aparece em dois locais:
- Um campo
coefficientem cada preia-mar emextremes(ausente nas baixa-mares). - Um objeto de topo
coefficientscom valores diários manhã/tarde/máx para o intervalo de datas solicitado.
Cobertura: 2026-01-01 → 2035-12-29. Fonte: computed in-house from Brest harmonic constituents. Geografia: French stations only — the fields are omitted for stations outside France.
Legenda: < 45 = marés mortas, 45-70 = médias, 70-95 = acima da média, 95-110 = marés vivas, > 110 = marés vivas excecionais.
Exemplo de resposta (campos específicos da França):
Sempre usa o modelo FES2022 (34 constituintes harmônicos) nas coordenadas exatas que você fornece — nunca recorre a uma estação. Use quando precisar especificamente da saída do modelo (pesquisa, comparações, navegação oceânica). Para a maioria das apps, /api/v1/tides?lat=&lon= é melhor pois escolhe a melhor fonte automaticamente.
| Parâmetro | Tipo | Descrição |
|---|---|---|
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.
Exemplo de resposta
Pesquise e liste as estações de maré disponíveis no mundo.
| Parâmetro | Tipo | Descrição |
|---|---|---|
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 resposta: json, csv ou geojson (padrão: json). |
Retorna os 188 países com o seu número de estações.
Retorna a previsão meteorológica horária e diária: temperatura, vento, precipitação, índice UV e condições.
Weather API: full page with examplescached and stale fields. A 502 response means no data is available at all for that location.
| Parâmetro | Tipo | Descrição |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Exemplo de resposta
Valores possíveis de condition
O campo condition retorna sempre um destes valores (associe um ícone a cada um, incluindo 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 Retorna altura das ondas, ondulação, ondas de vento e estado do mar (modelos NOAA GFS-Wave / WaveWatch III).
cached and stale fields. A 502 means no data is available; an inland point returns 422.
| Parâmetro | Tipo | Descrição |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Exemplo de resposta
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 possíveis de sea_state
O campo sea_state baseia-se na escala de Douglas (a partir da altura das ondas) e retorna sempre um destes valores:
calm_glassycalm_rippledsmoothslightmoderateroughvery_roughhighvery_highunknown Retorna nascer/pôr do sol, amanhecer, crepúsculo, fase lunar, iluminação, nascer/pôr da lua.
| Parâmetro | Tipo | Descrição |
|---|---|---|
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). |
Exemplo de resposta
Retorna dados meteorológicos, marinhos e astronômicos numa única chamada. Use o parâmetro include para selecionar os dados.
| Parâmetro | Tipo | Descrição |
|---|---|---|
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). |
Exemplo de resposta
Retorna URLs de tiles de radar de chuva para mapas animados de precipitação. Dados do RainViewer, atualizados a cada ~10 minutos.
| Parâmetro | Tipo | Descrição |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
Exemplo de resposta
Real-time data with ~10 minute delay. Tile URLs are standard slippy map format compatible with Leaflet, Mapbox GL, etc.
Retorna alturas de água observadas em tempo real dos marégrafos REFMAR/SHOM. Disponível para ~100 estações francesas.
| Parâmetro | Tipo | Descrição |
|---|---|---|
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). |
Exemplo de resposta
Only available for French REFMAR stations that have their own tide gauge (~100 stations). A secondary port with no gauge of its own returns 404 — check tide_source.reference_slug in /api/v1/tides for the nearest gauged station. Observations are sub-sampled to 10-minute intervals and aligned with our prediction datum. The /api/v1/tides response exposes has_observations (true only for stations with their own gauge) and, when true, an observations field.
Hourly total surface currents (ocean circulation + tide + Stokes drift) up to 5 days ahead, anywhere at sea. Speed in knots, direction the current flows towards.
lat / lon | float | Position at sea (or port= a station slug, with optional country=). |
days | int | 1–5 (default 3). |
The model grid is ~8 km: reliable offshore, indicative only near shore — tidal races, narrow passes and harbour entrances are NOT resolved, and small islands or reefs may be invisible to the model. Every response carries a scope flag and this warning. Not for navigation.
Generated using E.U. Copernicus Marine Service Information — GLOBAL_ANALYSISFORECAST_PHY_001_024, doi:10.48670/moi-00016.
Retorna previsões de marés e dados meteorológicos históricos. Marés via motor TICON, meteorologia via reanálise ERA5 (ECMWF/Copernicus).
| Parâmetro | Tipo | Descrição |
|---|---|---|
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 resposta: json, csv ou geojson (padrão: json). |
Experimentar
Exemplo de resposta
Crie, gerencie e teste webhooks para alertas em tempo real sobre marés vivas e alertas de tempestade.
| Parâmetro | Tipo | Descrição |
|---|---|---|
action | string | list, create, update, delete, test |
id | int | Webhook ID (for update/delete/test). |
Eventos suportados
spring_tide— Alerta de maré viva (altura > 4m)storm_warning— Alerta de tempestade (vento > 60km/h ou ondas > 4m)
Todas as entregas são assinadas com HMAC-SHA256. Verifique o header X-TidesAtlas-Signature.
Os webhooks são desativados após 3 falhas consecutivas.
Fontes de dados e atribuições
O TidesAtlas constrói a camada de roteamento, cache e integração sobre estes conjuntos de dados científicos abertos. Cada fonte é listada com sua licença.
FES2022
Global finite-element ocean tide model. Used for the /api/v1/tides/point endpoint and for 8,100+ 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. French secondary ports are corrected with the Shom Références Altimétriques Maritimes (RAM).
License: Etalab 2.0 (RAM: Shom, 2025, doi:10.17183/MAREE_COURANTS_RAM). REFMAR →
National agencies
Official tide data from national agencies: South Korea (KHOA harmonic constants and tidal bench marks), Hong Kong (Hong Kong Observatory predictions), Taiwan (Central Weather Administration forecasts, checked against its tide gauges), Canada (Canadian Hydrographic Service predictions) and England (Environment Agency estuary tide gauges). Used for the /api/v1/tides endpoint.
KHOA: Korea Open Government License Type 1 · HKO via DATA.GOV.HK · CWA (Ministry of Transportation and Communications): Open Government Data License v1.0 · CHS (Fisheries and Oceans Canada): Open Government Licence – Canada · Environment Agency: Open Government Licence v3.0.
Copernicus Marine
Tide-gauge records from the Copernicus Marine in-situ network (Global Ocean delayed-mode sea level product), on which TidesAtlas fits its own harmonic constants. Used for the /api/v1/tides endpoint.
Generated using E.U. Copernicus Marine Service Information (doi:10.17882/93670). Product page →
Weather & marine
Powered by our own weather engine: an ECMWF-AIFS multi-model blend (ECMWF AIFS · DWD ICON-EU · NOAA HRRR/GFS), bias-corrected against live observations and continuously verified. Waves & sea state from NOAA WaveWatch III.
Upstream data: ECMWF (CC-BY-4.0), DWD & NOAA (open data / public domain).
Rain radar
Live rain radar tiles via RainViewer.
Attribution required, commercial use permitted. RainViewer →
Cita o TidesAtlas no seu trabalho? Inclua um link para tidesatlas.com e credite a fonte upstream (ex.: «FES2022 via TidesAtlas») quando o modelo de maré for o dado principal.
Início rápido na sua linguagem favorita
Copie, cole e comece a construir em menos de 60 segundos.
SDKs oficiais
Comece mais rápido com as nossas bibliotecas cliente oficiais.
npm install tidesatlas
pip install tidesatlas
Servidor MCP para agentes IA
Conecte o TidesAtlas diretamente ao Claude, Cursor ou qualquer assistente IA compatível com MCP.
Endpoint MCP
8 ferramentas disponíveis: tides, ports, countries, weather, marine, astronomy, conditions, history.
Configuração Claude Desktop
Preços simples e transparentes
Comece grátis. Escale quando precisar. Sem custos ocultos.
Todos os 13 endpoints
Autenticação e limites de pedidos
Autenticação
Passe a sua chave API via header (recomendado) ou parâmetro de query:
Headers de limite de pedidos
Cada resposta inclui as suas informações de utilização:
X-RateLimit-Limit | O seu limite diário |
X-RateLimit-Remaining | Pedidos restantes hoje |
X-RateLimit-Reset | Hora de reset (Unix) |
Aplicam-se dois limites — exceder qualquer um retorna 429 Too Many Requests:
| Quota do plano | Free 50 no total · Hobby 500/dia · Starter 1.000/dia · Pro 10.000/dia · Business 50.000/dia |
| Taxa por IP | 10 requisições/segundo por IP (picos curtos até 30), máx. 20 conexões simultâneas |
Em um 429, aguarde antes de tentar novamente (veja Retry-After / X-RateLimit-Reset). Recomenda-se backoff exponencial.
Changelog
- 2026-10-18 —
/weather,/marine,/conditions: cached responses are now computed for your exact coordinates and never reused across days. Previously a cached response could belong to a nearby point (same 1° cell) or start on the previous day. Responses are also faster. No change to fields or formats. - 2026-10-18 —
/astronomy:day_lengthis no longernullwhen sunset falls after midnight UTC (western longitudes).
Perguntas frequentes
?lat=&lon= a /api/v1/tides e o TidesAtlas escolhe automaticamente a melhor fonte: se uma estação calibrada estiver a até 50 km, retorna a sua previsão; caso contrário, usa o modelo oceânico global FES2022 nas suas coordenadas exatas. Para uma resposta exclusivamente do modelo (sem fallback para uma estação), use /api/v1/tides/point. Ambos funcionam em qualquer ponto dos oceanos do mundo, sem estação necessária.pip install tidesatlas (Python) ou npm install tidesatlas (Node.js). Também publicamos um servidor MCP em tidesatlas.com/mcp para agentes de IA, e a API é REST padrão — utilizável a partir de qualquer linguagem com HTTP. Código-fonte disponível no GitHub sob @TidesAtlas./api/v1/marine devolve a temperatura da superfície do mar (água) em °C, hora a hora (sea_surface_temperature_c), juntamente com a altura das ondas, ondulação, ondas de vento e estado do mar. Dados do modelo NOAA WaveWatch III./api/v1/tides/point com ?heights=1&interval=30 para obter uma série de alturas amostrada ({ datetime, height_m } a cada 5–60 minutos), tudo o que precisa para desenhar uma curva de maré suave. Sem esse parâmetro, obtém apenas os extremos (preia-mar/baixa-mar)./api/v1/marine devolve, hora a hora e por dia, a altura das ondas, período e direção, ondulação, ondas de vento, estado do mar (escala de Douglas) e temperatura da superfície do mar — dos modelos oceânicos NOAA GFS-Wave / WaveWatch III (temperatura da água: MUR SST, NASA JPL).Comece a construir com dados de marés, clima & oceano hoje
Chave API gratuita em 30 segundos. Sem cartão de crédito necessário.