← Retour

Documentation

Tout ce qu'il faut pour intégrer les données de marées dans votre application.

Authentification

Toutes les requêtes nécessitent une clé API transmise via le header Authorization.

Authorization: Bearer mk_votre-clé-api

Obtenez votre clé gratuitement sur la page d'accueil. Essai gratuit de 30 jours, 1 000 requêtes/mois.

URL de base

https://www.tide-data.com/api/v1

Endpoints

GET/api/v1/tides/{port}

Renvoie les horaires de marées, hauteurs d'eau et coefficient pour un port et une date donnés.

Paramètres

NomTypeRequisDescription
portstringouiIdentifiant ou nom du port (ex: brest, saint-malo). Voir /api/v1/harbors pour la liste.
datestringnonDate au format YYYY-MM-DD. Par défaut : aujourd'hui.

Exemple

GET https://www.tide-data.com/api/v1/tides/brest?date=2026-03-10
{
  "port": "Brest",
  "date": "2026-03-10",
  "coefficient": 48,
  "tides": [
    {
      "type": "basse_mer",
      "time": "02:55",
      "height_m": 2.49
    },
    {
      "type": "pleine_mer",
      "time": "08:40",
      "height_m": 5.61
    },
    {
      "type": "basse_mer",
      "time": "15:09",
      "height_m": 2.81
    },
    {
      "type": "pleine_mer",
      "time": "21:02",
      "height_m": 5.42
    }
  ]
}

Champs de la réponse

ChampTypeDescription
portstringNom du port
datestringDate (YYYY-MM-DD)
coefficientnumber | nullCoefficient de marée max du jour
tidesarrayListe des marées du jour
typestring"pleine_mer" ou "basse_mer"
timestringHeure (HH:MM, heure légale)
height_mnumberHauteur d'eau en mètres
GET/api/v1/harbors

Renvoie la liste de tous les ports disponibles avec leurs coordonnées.

Exemple de réponse

GET https://www.tide-data.com/api/v1/harbors
{
  "count": 145,
  "harbors": [
    {
      "id": "BREST",
      "name": "Brest",
      "lat": 48.383,
      "lon": -4.495
    },
    ...
  ]
}

Erreurs

Toutes les erreurs retournent un objet JSON avec un champ error.

CodeDescription
400Paramètre invalide (ex: format de date incorrect)
401Clé API manquante ou invalide
403Essai gratuit expiré
404Port introuvable
429Limite de requêtes mensuelle atteinte
502Erreur lors de la récupération des données
Exemple d'erreur
{
  "error": "Port \"xyz\" introuvable. Consultez /api/v1/harbors pour la liste."
}

Démarrage rapide

curl

curl -H "Authorization: Bearer mk_votre-clé" \
  https://www.tide-data.com/api/v1/tides/brest

JavaScript / TypeScript

const res = await fetch("https://www.tide-data.com/api/v1/tides/brest", {
  headers: { "Authorization": "Bearer mk_votre-clé" }
});
const data = await res.json();

Python

import requests

res = requests.get(
    "https://www.tide-data.com/api/v1/tides/brest",
    headers={"Authorization": "Bearer mk_votre-clé"}
)
data = res.json()

Limites

PlanDuréeRequêtes/mois
Essai gratuit30 jours1 000