API Marés, Clima & Oceano global
Marés, meteorologia, ondas, ondulação, temperatura da água, sol e lua para 18,230+ estações em 188 países. 12 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.
12 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. |
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
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.
cached and stale fields in the response. 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 Copernicus/ECMWF).
cached and stale fields. A 502 means no data is available 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
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 (~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.
Retorna previsões de marés e dados meteorológicos históricos. Marés via motor TICON, meteorologia via Open-Meteo Archive.
| 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 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 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 12 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.
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 marinho Copernicus/ECMWF via Open-Meteo./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 Copernicus/ECMWF.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.