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.

Ottieni chiave API50 crediti gratuiti alla registrazione Vedi documentazioneVedi doc Prezzi
Provalo ora
// 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" }, ...]
13,441+
Stazioni di marea
180
Paesi
99.9%
Disponibilità
<200ms
Tempo di risposta

Routing intelligente

Stazioni calibrate quando sono vicine, modello globale FES2022 altrimenti. Automatico e trasparente.

Maree in qualsiasi punto del mare

NEW

Predizioni 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.

Pack Maree
GET /api/v1/tides Orari e altezze di marea

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.

ParametroTipoDescrizione
portstringSlug della stazione, es. aberdeen. Usa /ports per cercare.
countrystringOptional 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 / lonfloatRouting 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.
dateYYYY-MM-DDStart date (default: today).
daysint1-14 days (default: 1).
formatstringFormato di risposta: json, csv o geojson (predefinito: json).
Stazioni francesi — coefficienti di marea inclusi. Le risposte per le stazioni in Francia includono un oggetto 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

Stato: —

Esempio di risposta

{ "port": { "name": "Aberdeen", "slug": "aberdeen", "lat": 57.14, "lon": -2.08, "timezone": "Europe/London" }, "data_source": "ticon", "tide_source": { "type": "own_station", "confidence": "high" }, "date": "2026-03-27", "days": 3, "count": 12, "extremes": [ { "datetime": "2026-03-27T04:23:00+00:00", "height_m": 3.82, "type": "high" }, { "datetime": "2026-03-27T10:41:00+00:00", "height_m": 0.94, "type": "low" }, ... ] }

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:

{ "tide_source": { "type": "reference_port", // or "own_station" "reference_slug": "le-crouesty", "reference_name": "Le Crouesty", "distance_km": 10.9, "corrections_applied": true, "confidence": "medium", // high | medium | low "method": "harmonic_transfer_ram" } }
  • 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_slug and distance_km tell 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, station and attribution are given; credit them.
  • model_point — no tide gauge here: the FES2022 global model is read at the nearest modelled sea point, model_cell_distance_km away (medium within 4 km, otherwise low).

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:

{ "measured_accuracy": { "gauge": "uhslc-245", "window": "2026-06-16 to 2026-07-31", "high_water": { "time_min": 8.6, "height_cm": 4.9 }, "low_water": { "time_min": 8.3, "height_cm": 4.5 } } }

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 /currents endpoint 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 coefficient su ogni alta marea in extremes (assente nelle basse maree).
  • Un oggetto di primo livello coefficients con 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.

# Get tides + coefficients for Dunkerque, France GET /api/v1/tides?port=dunkerque&days=3&date=2026-05-14
Esempio di risposta (campi specifici per la Francia):
{ "port": { "name": "Dunkerque", "country": "France", ... }, "data_source": "ticon", "extremes": [ { "datetime": "2026-05-14T05:49:00+02:00", "height_m": 0.81, "type": "low" }, { "datetime": "2026-05-14T11:49:00+02:00", "height_m": 5.56, "type": "high", "coefficient": 71 }, { "datetime": "2026-05-14T18:25:00+02:00", "height_m": 0.89, "type": "low" }, { "datetime": "2026-05-15T00:09:00+02:00", "height_m": 5.61, "type": "high", "coefficient": 77 }, ... ], "coefficients": { "available": true, "source": "Computed from Brest harmonic constituents (French tidal coefficient scale)", "scale": "20 (neap) to 120 (extreme spring)", "coverage": "2026-01-01 to 2035-12-29", "daily": [ { "date": "2026-05-14", "morning": 71, "afternoon": 77, "max": 77 }, { "date": "2026-05-15", "morning": 83, "afternoon": 88, "max": 88 }, ... ] } }
GET /api/v1/tides/point Modello FES2022 esplicito alle coordinate esatte NEW

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.

ParametroTipoDescrizione
latfloatLatitude, decimal degrees, -90 to 90. Required.
lonfloatLongitude, decimal degrees, -180 to 180. Required.
dateYYYY-MM-DDStart date UTC (default: today).
daysint1-14 days (default: 1).
datumstringVertical reference: LAT (default, like the /tides endpoint) or MSL.
intervalintMinutes between samples, 5-60 (default: 10). Sets the spacing of the optional heights series and the resolution of extremes detection.
heightsboolSet to 1 to also return an interval-sampled height series — ideal for plotting the tide curve (default: off). Each point is { datetime, height_m }.
How it differs from /api/v1/tides: the /tides endpoint snaps your coordinates to the nearest of 18,000+ predefined stations. /tides/point computes the prediction directly at the exact coordinates you provide, using the FES2022 grid (~7 km resolution). Returns a 404 if the point is on land or outside the ocean mask.

Esempio di risposta

{ "query": { "lat": 48.383, "lon": -4.495, "date": "2026-05-13", "days": 1, "datum": "LAT" }, "model": "FES2022 (34 constituents) via pyfes", "datum": "LAT", "datum_offset_msl": -3.5268, "count": 4, "extremes": [ { "datetime": "2026-05-13T00:20:00+00:00", "height_m": 5.42, "type": "high" }, { "datetime": "2026-05-13T07:00:00+00:00", "height_m": 1.31, "type": "low" }, ... ], "attribution": { "source": "FES2022 by LEGOS/NOVELTIS/CLS, distributed by AVISO+ ..." } }
# Tides anywhere at sea — example: middle of Atlantic GET /api/v1/tides/point?lat=35&lon=-30&days=3 # Tide curve for plotting — sampled height every 30 min GET /api/v1/tides/point?lat=48.38&lon=-4.49&days=1&interval=30&heights=1 # → adds: "heights_count": 48, # "heights": [ { "datetime": "...", "height_m": 3.75 }, ... ]
GET /api/v1/ports Cerca stazioni

Cerca e visualizza le stazioni di marea disponibili nel mondo.

ParametroTipoDescrizione
searchstringSearch by name, e.g. aberdeen.
countrystringFilter by country slug, e.g. united-kingdom.
limitintMax results, 1-500 (default: 50).
formatstringFormato di risposta: json, csv o geojson (predefinito: json).
# Find all stations in Japan GET /api/v1/ports?country=japan&limit=100 # Search by name GET /api/v1/ports?search=tokyo
GET /api/v1/countries Elenco di tutti i paesi

Restituisce tutti i 188 paesi con il loro numero di stazioni.

{ "count": 188, "countries": [ { "name": "United Kingdom", "slug": "united-kingdom", "code_iso": "GB", "station_count": 238 }, { "name": "United States", "slug": "united-states", "code_iso": "US", "station_count": 156 }, ... ] }
Pack Meteo
GET /api/v1/weather Previsioni meteo

Restituisce le previsioni meteo orarie e giornaliere: temperatura, vento, precipitazioni, indice UV e condizioni.

Weather API: full page with examples
Data freshness: Forecasts come from our own weather engine (ECMWF AIFS multi-model blend). Each requested point is cached server-side for up to 3 hours, never across UTC days. If the engine is temporarily unavailable, the same day’s cached response is served automatically — check the cached and stale fields. A 502 response means no data is available at all for that location.
ParametroTipoDescrizione
portstringStation slug, e.g. brest-3-fra-refmar
lat / lonfloatCoordinates (alternative to port).
daysint1-7 days (default: 3).

Esempio di risposta

{ "lat": 48.39, "lon": -4.49, "timezone": "Europe/Paris", "source": "TidesAtlas weather engine — ECMWF-AIFS multi-model blend, bias-corrected & verified", "daily": [{ "date": "2026-03-27", "temperature_max_c": 12.3, "temperature_min_c": 7.3, "precipitation_mm": 1.5, "wind_max_kmh": 19.2, "uv_index_max": 3.35, "condition": "light_drizzle", "sunrise": "06:06", "sunset": "18:40" }], "hourly": [ { "datetime": "2026-03-27T00:00", "temperature_c": 7.3, "feels_like_c": 4.6, "humidity_pct": 78, "wind_speed_kmh": 4.5, "condition": "overcast", ... }, ... ] }

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
GET /api/v1/marine Previsioni oceano, onde e temperatura dell'acqua
Marine & sea temperature API: full page with examples

Restituisce altezza onde, mareggiata, onde da vento e stato del mare (modelli NOAA GFS-Wave / WaveWatch III).

Data freshness: Waves come from NOAA GFS-Wave / WaveWatch III, water temperature from MUR SST (NASA JPL). Each requested point is cached server-side for up to 3 hours, never across UTC days. If the engine is temporarily unavailable, the same day’s cached response is served automatically — check the cached and stale fields. A 502 means no data is available; an inland point returns 422.
ParametroTipoDescrizione
portstringStation slug, e.g. brest-3-fra-refmar
lat / lonfloatCoordinates (alternative to port).
daysint1-7 days (default: 3).

Esempio di risposta

{ "lat": 48.39, "lon": -4.49, "source": "TidesAtlas weather engine — NOAA GFS-Wave / WaveWatch III", "daily": [{ "date": "2026-03-27", "wave_height_max_m": 1.04, "wave_period_max_s": 10.05, "wave_direction_dominant": 268, "swell_height_max_m": 0.98, "swell_period_max_s": 9.2, "sea_state": "smooth" }], "hourly": [ { "datetime": "2026-03-27T00:00", "wave_height_m": 1.02, "wave_direction_deg": 275, "swell_height_m": 0.98, "sea_surface_temperature_c": 14.2, ... }, ... ] }

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
GET /api/v1/astronomy Dati sole e luna
Sun & moon API: full page with examples

Restituisce alba/tramonto, crepuscolo, fase lunare, illuminazione, sorgere/tramontare della luna.

ParametroTipoDescrizione
portstringStation slug, e.g. brest-3-fra-refmar
lat / lonfloatCoordinates (alternative to port).
dateYYYY-MM-DDStart date (default: today).
daysint1-7 days (default: 1).

Esempio di risposta

{ "lat": 48.39, "lon": -4.49, "data": [{ "date": "2026-03-27", "sun": { "sunrise": "06:06", "sunset": "18:41", "dawn": "05:35", "dusk": "19:12", "day_length": "12:35" }, "moon": { "phase": "first_quarter", "illumination_pct": 66.8, "age_days": 9, "moonrise": "13:45", "moonset": "03:12" } }] }
GET /api/v1/conditions Tutte le condizioni (unificato)

Restituisce dati meteo, marini e astronomici in una singola chiamata. Usa il parametro include per selezionare i dati.

ParametroTipoDescrizione
portstringStation slug, e.g. brest-3-fra-refmar
lat / lonfloatCoordinates (alternative to port).
daysint1-7 days (default: 3).
includestringComma-separated: weather,marine,astronomy (default: all).

Esempio di risposta

# All data in one call GET /api/v1/conditions?port=brest-3-fra-refmar&days=3 # Only weather + astronomy GET /api/v1/conditions?lat=48.39&lon=-4.49&include=weather,astronomy # Response contains: weather{}, marine{}, astronomy[]
GET /api/v1/radar Radar pioggia

Restituisce gli URL dei tile radar pioggia per mappe animate delle precipitazioni. Dati RainViewer, aggiornati ogni ~10 minuti.

ParametroTipoDescrizione
portstringStation slug, e.g. brest-3-fra-refmar
lat / lonfloatCoordinates (alternative to port).

Esempio di risposta

{ "lat": 48.39, "lon": -4.49, "generated": 1774697424, "source": "RainViewer (rainviewer.com)", "tile_size": 256, "max_zoom": 7, "color_scheme": 1, "frames": { "past": [ { "time": "2026-03-28T14:30:00Z", "timestamp": 1774690200, "tile_url": "https://tilecache.rainviewer.com/v2/radar/.../256/{z}/{x}/{y}/1/1_1.png" } ], "nowcast": [ { "time": "2026-03-28T15:00:00Z", "timestamp": 1774692000, "tile_url": "https://tilecache.rainviewer.com/v2/radar/.../256/{z}/{x}/{y}/1/1_1.png" } ] } }

Real-time data with ~10 minute delay. Tile URLs are standard slippy map format compatible with Leaflet, Mapbox GL, etc.

GET /api/v1/observations Osservazioni del livello del mare LIVE

Restituisce le altezze d'acqua osservate in tempo reale dai mareografi REFMAR/SHOM. Disponibile per ~100 stazioni francesi.

ParametroTipoDescrizione
portstringStation slug (French REFMAR stations only), e.g. brest
dateYYYY-MM-DDStart date (default: today).
daysint1-7 days (default: 1).

Esempio di risposta

{ "port": { "name": "Brest", "slug": "brest", "country": "France" }, "station_id": 3, "source": "REFMAR/SHOM (Licence Etalab 2.0)", "interval_minutes": 10, "data": [ { "date": "2026-03-28", "observations": [ { "datetime": "2026-03-28T00:00", "height_m": 9.15, "timestamp": 1774684800 }, ... ]} ] }

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.

GET /api/v1/currents Surface currents (open water)
Ocean currents API: full page with examples

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 / lonfloatPosition at sea (or port= a station slug, with optional country=).
daysint1–5 (default 3).
{ "scope": "open_water", // or "near_shore" — honesty flag "hours": [ { "t": "2026-09-17 14:00", "speed_kn": 0.24, "dir_deg": 47 } ], "model_point": { "distance_km": 3.1 } }

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.

Solo pack Complete
GET /api/v1/history Dati storici

Restituisce previsioni di maree e dati meteo storici. Maree via motore TICON, meteo via rianalisi ERA5 (ECMWF/Copernicus).

ParametroTipoDescrizione
portstringStation slug (required).
dateYYYY-MM-DDStart date in the past (required).
daysint1-365 for tides, 1-90 for weather (default: 7).
includestringComma-separated: tides,weather (default: tides).
formatstringFormato di risposta: json, csv o geojson (predefinito: json).

Provalo

Stato: —

Esempio di risposta

# Get historical tides and weather for Brest GET /api/v1/history?port=brest&date=2025-06-01&days=7&include=tides,weather
POST /api/v1/webhooks Webhooks

Crea, gestisci e testa webhook per avvisi in tempo reale su maree primaverili e allerte tempesta.

ParametroTipoDescrizione
actionstringlist, create, update, delete, test
idintWebhook 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.

# Create a webhook POST /api/v1/webhooks?action=create { "url": "https://example.com/webhook", "events": ["spring_tide", "storm_warning"], "port_slug": "brest" } # Test delivery POST /api/v1/webhooks?action=test&id=1

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.

cURL
JavaScript
Python
PHP
# Get 3-day tides for San Francisco curl -H "X-API-Key: YOUR_KEY" \ "https://tidesatlas.com/api/v1/tides?port=san-francisco&days=3"
const response = await fetch( 'https://tidesatlas.com/api/v1/tides?port=san-francisco&days=3', { headers: { 'X-API-Key': 'YOUR_KEY' } } ); const { extremes } = await response.json(); extremes.forEach(e => console.log(`${e.type}: ${e.datetime} — ${e.height_m}m`) );
import requests response = requests.get( 'https://tidesatlas.com/api/v1/tides', params={'port': 'san-francisco', 'days': 3}, headers={'X-API-Key': 'YOUR_KEY'} ) for e in response.json()['extremes']: print(f"{e['type']}: {e['datetime']} — {e['height_m']}m")
$ch = curl_init('https://tidesatlas.com/api/v1/tides?port=san-francisco&days=3'); curl_setopt($ch, CURLOPT_HTTPHEADER, ['X-API-Key: YOUR_KEY']); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $data = json_decode(curl_exec($ch), true); curl_close($ch); foreach ($data['extremes'] as $e) { echo "{$e['type']}: {$e['datetime']} — {$e['height_m']}m\n"; }

SDK ufficiali

Inizia più velocemente con le nostre librerie client ufficiali.

JavaScript / Node.js
npm install tidesatlas
const TidesAtlas = require('tidesatlas'); const api = new TidesAtlas('YOUR_KEY'); const data = await api.tides({ port: 'san-francisco', days: 3 }); console.log(data.extremes);
Python
pip install tidesatlas
from tidesatlas import TidesAtlas api = TidesAtlas("YOUR_KEY") data = api.tides(port="san-francisco", days=3) print(data["extremes"])

Server MCP per agenti IA

Collega TidesAtlas direttamente a Claude, Cursor o qualsiasi assistente IA compatibile MCP.

Endpoint MCP

https://tidesatlas.com/mcp

8 strumenti disponibili: tides, ports, countries, weather, marine, astronomy, conditions, history.

Configurazione Claude Desktop

{ "mcpServers": { "tidesatlas": { "url": "https://tidesatlas.com/mcp", "headers": { "X-API-Key": "YOUR_KEY" } } } }

Prezzi semplici e trasparenti

Inizia gratis. Scala quando ne hai bisogno. Nessun costo nascosto.

Tutti i 13 endpoint
Prova
$0
50 crediti una tantum
Inizia gratis
Free Web
$0
25 richieste / giorno
Uso non commerciale, citazione della fonte obbligatoria
Ottienilo gratis
Hobby
$7.99/mo
500 richieste / giorno
Inizia
Pro
$39/mo
10,000 richieste / giorno
Inizia
Business
$99/mo
50,000 richieste / giorno
Contattaci
Pagamento sicuro con Stripe
Annulla in qualsiasi momento
Crittografia HTTPS
Conforme al GDPR

Autenticazione e limiti di richieste

Autenticazione

Passa la tua chiave API tramite header (consigliato) o parametro di query:

# Header (recommended) curl -H "X-API-Key: YOUR_KEY" https://tidesatlas.com/api/v1/tides?port=aberdeen # Query parameter curl https://tidesatlas.com/api/v1/tides?port=aberdeen&api_key=YOUR_KEY

Header dei limiti di richieste

Ogni risposta include le tue informazioni di utilizzo:

X-RateLimit-LimitIl tuo limite giornaliero
X-RateLimit-RemainingRichieste rimanenti oggi
X-RateLimit-ResetOra di reset (Unix)

Si applicano due limiti — superarne uno restituisce 429 Too Many Requests:

Quota del pianoFree 50 totali · Hobby 500/giorno · Starter 1.000/giorno · Pro 10.000/giorno · Business 50.000/giorno
Frequenza per IP10 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_length is no longer null when sunset falls after midnight UTC (western longitudes).

Domande frequenti

Quale tecnologia alimenta le previsioni di TidesAtlas?
Abbiamo sviluppato un motore di previsione armonica proprietario che fonde tre set di dati complementari: TICON-4 (3.000+ stazioni di riferimento, fino a 60 componenti di marea), NOAA (1.075 stazioni americane, 37 componenti) e il modello oceanico globale FES2022 del LEGOS/CNES (8.400+ punti costieri, 8 componenti principali). Ogni fonte è stata individualmente calibrata, validata incrociata e integrata in una pipeline unificata — un lavoro di ingegneria considerevole che ha richiesto mesi di sviluppo. Risultato: 13.400+ stazioni in 180 paesi, tutte servite tramite un'unica API coerente. Per ~100 stazioni francesi, forniamo anche le osservazioni in tempo reale dalla rete di mareografi REFMAR/SHOM.
Quanto sono precise le previsioni?
Il nostro algoritmo esegue un'analisi armonica utilizzando fino a 60 componenti di marea per stazione, con allineamento automatico dei datum e correzioni nodali. Per le stazioni primarie (TICON-4, NOAA), la precisione è tipicamente di 5-10 minuti e 10-15 cm. Per le stazioni derivate dal modello (FES2022), è di 10-20 minuti e 15-25 cm. Validiamo continuamente i nostri risultati rispetto alle osservazioni in tempo reale quando disponibili. Le condizioni meteo (vento, pressione) possono causare deviazioni aggiuntive — per questo forniamo anche dati meteo marini per darvi un quadro completo.
Ho bisogno di una carta di credito per iniziare?
No. Il piano Prova ti offre 50 crediti una tantum senza carta di credito. Hai bisogno dei dati di pagamento solo quando passi a un piano a pagamento.
Posso usarlo per progetti commerciali?
Sì! Tutti i piani (incluso il gratuito) consentono l'uso commerciale. Sebbene sfruttiamo dataset aperti, il nostro motore di previsione, l'infrastruttura API e la pipeline dati sono interamente sviluppati internamente. Basta includere un'attribuzione a TidesAtlas da qualche parte nella tua applicazione.
Cosa succede se supero il mio limite giornaliero?
Riceverai un codice di stato 429. Il tuo limite si resetta a mezzanotte UTC. Puoi aggiornare il tuo piano in qualsiasi momento dalla dashboard per ottenere più richieste.
Posso ottenere previsioni di marea a coordinate esatte (non solo porti predefiniti)?
Sì. Passa ?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.
Esistono SDK o librerie per Python, Node.js o altri linguaggi?
Sì. Installa 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.
L'API fornisce la temperatura del mare (acqua)?
Sì. L'endpoint /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.
Posso ottenere le altezze di marea per tracciare una curva, non solo gli orari di alta/bassa marea?
Sì. Chiama /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).
Fornite previsioni di onde e mare lungo?
Sì. L'endpoint /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.

Ottieni la tua chiave API gratuita