API Maree, Meteo & Oceano globale
Maree, meteo, onde, mare lungo, temperatura dell'acqua, sole e luna per 13,441+ stazioni in 180 paesi. 13 endpoint REST. Una sola chiave API. Basato su TICON-4, NOAA e modelli 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" }, ...]
Routing intelligente
Stazioni calibrate quando sono vicine, modello globale FES2022 altrimenti. Automatico e trasparente.
Maree in qualsiasi punto del mare
NEWPredizioni a coordinate esatte, senza stazione richiesta. Pensato per la navigazione al largo e la ricerca.
Osservazioni in tempo reale
Sensori REFMAR/SHOM live fusi con le previsioni per i porti francesi.
Pronto per la produzione
Cache aggressiva, webhook, rate limiting, 99,9% di uptime.
Progettato per ogni uso legato alle maree
Dalle app meteo personali alle piattaforme marine aziendali.
Navigazione marittima
Pianificazione ingresso/uscita dal porto, calcoli del pescaggio e tempi di passaggio.
App di pesca
Finestre di pesca ottimali basate su fase di marea, altezza e corrente.
Surf e sport acquatici
Report surf con dati di marea, pianificatori di kayak e guide per attività in spiaggia.
Immobiliare costiero
Analisi del rischio alluvione, dati su proprietà costiere e valutazioni assicurative.
Ricerca e scienza
Dataset oceanografici, lavoro sul campo in biologia marina e modellazione climatica.
Meteo e viaggi
Integra le maree in dashboard meteo, pianificatori di viaggio e dispositivi IoT.
13 endpoint, possibilità infinite
Risposte JSON pulite. Niente XML, niente SOAP, niente complicazioni.
Restituisce gli orari di alta e bassa marea con le altezze. Usa uno slug di stazione per una predizione calibrata al porto, oppure passa le coordinate e TidesAtlas sceglie automaticamente la fonte migliore.
| Parametro | Tipo | Descrizione |
|---|---|---|
port | string | Slug della stazione, es. aberdeen. Usa /ports per cercare. |
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 | Routing intelligente: se una stazione calibrata è entro 50 km, restituisce la sua previsione (data_source: "ticon"). Altrimenti usa il modello oceanico globale FES2022 alle tue coordinate esatte (data_source: "fes2022"). Nessun reindirizzamento silenzioso a stazioni lontane. |
date | YYYY-MM-DD | Start date (default: today). |
days | int | 1-14 days (default: 1). |
format | string | Formato di risposta: json, csv o geojson (predefinito: json). |
coefficients (mattina/pomeriggio/max al giorno, dal 2026-01-01 al 2035-12-29) e un campo coefficient su ogni alta marea (scala francese, 20 = quadrature → 120 = sizigie eccezionali). Non applicabile fuori dalla Francia. Provalo
Esempio di risposta
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.
Francia: coefficienti di marea (scala francese)
Per le stazioni in Francia, la risposta include il coefficiente di marea francese — un numero adimensionale da 20 (quadrature) a 120 (sizigie eccezionali), comunemente usato nel contesto marittimo francese. Il campo appare in due punti:
- Un campo
coefficientsu ogni alta marea inextremes(assente nelle basse maree). - Un oggetto di primo livello
coefficientscon i valori giornalieri mattina/pomeriggio/max per l'intervallo di date richiesto.
Copertura: 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 = quadrature, 45-70 = medie, 70-95 = sopra la media, 95-110 = sizigie, > 110 = sizigie eccezionali.
Esempio di risposta (campi specifici per la Francia):
Usa sempre il modello FES2022 (34 costituenti armonici) alle coordinate esatte che fornisci — non passa mai a una stazione. Da usare quando vuoi esplicitamente l'output del modello (ricerca, confronti, navigazione al largo). Per la maggior parte delle app, /api/v1/tides?lat=&lon= è preferibile perché sceglie la fonte migliore automaticamente.
| Parametro | Tipo | Descrizione |
|---|---|---|
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.
Esempio di risposta
Cerca e visualizza le stazioni di marea disponibili nel mondo.
| Parametro | Tipo | Descrizione |
|---|---|---|
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 di risposta: json, csv o geojson (predefinito: json). |
Restituisce tutti i 188 paesi con il loro numero di stazioni.
Restituisce le previsioni meteo orarie e giornaliere: temperatura, vento, precipitazioni, indice UV e condizioni.
Weather API: full page with examplescached and stale fields. A 502 response means no data is available at all for that location.
| Parametro | Tipo | Descrizione |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Esempio di risposta
Valori possibili di condition
Il campo condition restituisce sempre uno di questi valori (associa un'icona a ciascuno, incluso 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 Restituisce altezza onde, mareggiata, onde da vento e stato del mare (modelli NOAA GFS-Wave / WaveWatch III).
cached and stale fields. A 502 means no data is available; an inland point returns 422.
| Parametro | Tipo | Descrizione |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
days | int | 1-7 days (default: 3). |
Esempio di risposta
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.
Valori possibili di sea_state
Il campo sea_state si basa sulla scala di Douglas (in base all'altezza delle onde) e restituisce sempre uno di questi valori:
calm_glassycalm_rippledsmoothslightmoderateroughvery_roughhighvery_highunknown Restituisce alba/tramonto, crepuscolo, fase lunare, illuminazione, sorgere/tramontare della luna.
| Parametro | Tipo | Descrizione |
|---|---|---|
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). |
Esempio di risposta
Restituisce dati meteo, marini e astronomici in una singola chiamata. Usa il parametro include per selezionare i dati.
| Parametro | Tipo | Descrizione |
|---|---|---|
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). |
Esempio di risposta
Restituisce gli URL dei tile radar pioggia per mappe animate delle precipitazioni. Dati RainViewer, aggiornati ogni ~10 minuti.
| Parametro | Tipo | Descrizione |
|---|---|---|
port | string | Station slug, e.g. brest-3-fra-refmar |
lat / lon | float | Coordinates (alternative to port). |
Esempio di risposta
Real-time data with ~10 minute delay. Tile URLs are standard slippy map format compatible with Leaflet, Mapbox GL, etc.
Restituisce le altezze d'acqua osservate in tempo reale dai mareografi REFMAR/SHOM. Disponibile per ~100 stazioni francesi.
| Parametro | Tipo | Descrizione |
|---|---|---|
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). |
Esempio di risposta
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.
Restituisce previsioni di maree e dati meteo storici. Maree via motore TICON, meteo via rianalisi ERA5 (ECMWF/Copernicus).
| Parametro | Tipo | Descrizione |
|---|---|---|
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 di risposta: json, csv o geojson (predefinito: json). |
Provalo
Esempio di risposta
Crea, gestisci e testa webhook per avvisi in tempo reale su maree primaverili e allerte tempesta.
| Parametro | Tipo | Descrizione |
|---|---|---|
action | string | list, create, update, delete, test |
id | int | Webhook ID (for update/delete/test). |
Eventi supportati
spring_tide— Allerta marea primaverile (altezza > 4m)storm_warning— Allerta tempesta (vento > 60km/h o onde > 4m)
Tutte le consegne sono firmate con HMAC-SHA256. Verifica l'header X-TidesAtlas-Signature.
I webhook vengono disattivati dopo 3 errori consecutivi.
Fonti dati e attribuzioni
TidesAtlas costruisce il livello di routing, cache e integrazione sopra questi dataset scientifici aperti. Ogni fonte è elencata con la sua licenza.
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 →
Citi TidesAtlas nel tuo lavoro? Inserisci un link a tidesatlas.com e accredita la fonte upstream (es. «FES2022 via TidesAtlas») quando il modello di marea è il dato principale.
Avvio rapido nel tuo linguaggio preferito
Copia, incolla e inizia a costruire in meno di 60 secondi.
SDK ufficiali
Inizia più velocemente con le nostre librerie client ufficiali.
npm install tidesatlas
pip install tidesatlas
Server MCP per agenti IA
Collega TidesAtlas direttamente a Claude, Cursor o qualsiasi assistente IA compatibile MCP.
Endpoint MCP
8 strumenti disponibili: tides, ports, countries, weather, marine, astronomy, conditions, history.
Configurazione Claude Desktop
Prezzi semplici e trasparenti
Inizia gratis. Scala quando ne hai bisogno. Nessun costo nascosto.
Tutti i 13 endpoint
Uso non commerciale, citazione della fonte obbligatoria
Autenticazione e limiti di richieste
Autenticazione
Passa la tua chiave API tramite header (consigliato) o parametro di query:
Header dei limiti di richieste
Ogni risposta include le tue informazioni di utilizzo:
X-RateLimit-Limit | Il tuo limite giornaliero |
X-RateLimit-Remaining | Richieste rimanenti oggi |
X-RateLimit-Reset | Ora di reset (Unix) |
Si applicano due limiti — superarne uno restituisce 429 Too Many Requests:
| Quota del piano | Free 50 totali · Hobby 500/giorno · Starter 1.000/giorno · Pro 10.000/giorno · Business 50.000/giorno |
| Frequenza per IP | 10 richieste/secondo per IP (picchi brevi fino a 30), max 20 connessioni simultanee |
In caso di 429, attendi prima di riprovare (vedi Retry-After / X-RateLimit-Reset). Si consiglia un backoff esponenziale.
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).
Domande frequenti
?lat=&lon= a /api/v1/tides e TidesAtlas sceglie automaticamente la fonte migliore: se una stazione calibrata è entro 50 km, restituisce la sua previsione; altrimenti usa il modello oceanico globale FES2022 alle tue coordinate esatte. Per una risposta esclusivamente del modello (senza fallback a una stazione), usa /api/v1/tides/point. Entrambi funzionano in qualsiasi punto degli oceani del mondo, senza stazione richiesta.pip install tidesatlas (Python) o npm install tidesatlas (Node.js). Pubblichiamo anche un server MCP su tidesatlas.com/mcp per agenti AI, e l'API è REST standard — utilizzabile da qualsiasi linguaggio con HTTP. Codice sorgente disponibile su GitHub sotto @TidesAtlas./api/v1/marine restituisce la temperatura della superficie del mare (acqua) in °C, ora per ora (sea_surface_temperature_c), insieme all'altezza delle onde, al mare lungo, alle onde di vento e allo stato del mare. Dati dal modello NOAA WaveWatch III./api/v1/tides/point con ?heights=1&interval=30 per ottenere una serie di altezze campionata ({ datetime, height_m } ogni 5–60 minuti), tutto ciò che serve per disegnare una curva di marea continua. Senza questo parametro ottieni solo gli estremi (alta/bassa marea)./api/v1/marine restituisce, ora per ora e per giorno, altezza delle onde, periodo e direzione, mare lungo, onde di vento, stato del mare (scala Douglas) e temperatura della superficie del mare — dai modelli oceanici NOAA GFS-Wave / WaveWatch III (temperatura dell'acqua: MUR SST, NASA JPL).Inizia a costruire con dati maree, meteo & oceano oggi
Chiave API gratuita in 30 secondi. Nessuna carta di credito necessaria.