api-maree.fr

Endpoints et exemples d'utilisation

Six endpoints permettent d'obtenir la liste des sites disponibles, les horaires de pleine mer et basse mer avec coefficients, les hauteurs d'eau au format JSON, les instants où une hauteur d'eau cible est atteinte, les horaires de lever et de coucher du soleil, ainsi que les coefficients de marée groupés par jour sans les horaires.

Cette documentation présente la structure des requêtes et des réponses pour intégrer facilement l'API dans un site, une application ou un traitement automatisé.

Le quota horaire est dimensionné pour couvrir largement les besoins de la quasi-totalité des intégrations. La mise en cache des données récurrentes est autorisée, recommandée, et contribue à maintenir une bonne qualité de service.

360 requêtes / heure 1500 hauteurs max / requête Intervalles disponibles : 1, 5, 10, 15, 20, 30, 60 min

Pour une introduction plus guidée, consultez aussi API marée : comment récupérer des hauteurs d'eau en JSON.

Vous pouvez également revenir sur la page d'accueil de l'API pour tester une requête directement.

Pour les assistants compatibles MCP, consultez la documentation du serveur MCP api-maree.fr.

GET

/sites

Retourne la liste des sites disponibles avec leur identifiant et leurs coordonnées.

Exemple de requête

GET /sites

Exemple de réponse

{
  "sites": [
    {
      "site_id": "port-en-bessin",
      "site_name": "Port-en-Bessin",
      "latitude": 49.352565,
      "longitude": -0.749206
    }
  ]
}
GET

/water-levels

Retourne une série temporelle de hauteurs d'eau pour un site et une période donnés.

Référentiel vertical : les hauteurs sont en mètres au-dessus du zéro hydrographique (ZH) local du site, conformément au référentiel des cartes marines et des annuaires de marée.

Paramètres

`key`Clé API du compte
La clé est disponible sur la page d’accueil lorsque vous êtes connecté.
`site`Identifiant du site
`from`Date/heure de début
`to`Date/heure de fin
`step`Pas de temps en minutes
`tz``Europe/Paris` ou `UTC`

Contraintes

  • Le quota s'applique par compte et par heure.
  • La mise en cache des réponses est autorisée et recommandée.
  • Une requête ne peut pas dépasser 1500 hauteurs d'eau.
  • Les dates demandées doivent rester dans la fenêtre J-30 à J+30.

Exemple de requête

GET /water-levels?site=port-en-bessin&from=2026-03-24T00:00&to=2026-03-25T00:00&step=10&tz=Europe/Paris&key=00000000000000000000000000000000

Exemple de réponse

{
  "site_id": "port-en-bessin",
  "site_name": "Port-en-Bessin",
  "timezone": "Europe/Paris",
  "from": "2026-03-24T00:00:00+01:00",
  "to": "2026-03-25T00:00:00+01:00",
  "step_minutes": 10,
  "unit": "m",
  "data": [
    { "time": "2026-03-24T00:00:00+01:00", "height": 6.454 },
    { "time": "2026-03-24T00:10:00+01:00", "height": 6.605 },
    { "time": "2026-03-24T00:20:00+01:00", "height": 6.730 }
  ]
}
GET

/tide-extrema

Retourne les pleines mers, basses mers, hauteurs associées et coefficients de marée estimés pour un site et une période exprimée en jours.

Paramètres

`key`Clé API du compte
La clé est disponible sur la page d’accueil lorsque vous êtes connecté.
`site`Identifiant du site
`from`Premier jour demandé, inclus, au format YYYY-MM-DD
`to`Dernier jour demandé, inclus, au format YYYY-MM-DD
`tz``Europe/Paris` ou `UTC`

Contraintes

  • from et to doivent être des dates strictes, sans heure.
  • La période est inclusive sur les jours, contrairement à une borne datetime de fin.
  • Les dates demandées doivent rester dans la fenêtre J-30 à J+30.
  • Le quota s'applique par compte et par heure.
  • La mise en cache des réponses est autorisée et recommandée.

Exemple de requête

GET /tide-extrema?site=port-en-bessin&from=2026-03-24&to=2026-03-24&tz=Europe/Paris&key=00000000000000000000000000000000

Exemple de réponse

{
  "site_id": "port-en-bessin",
  "site_name": "Port-en-Bessin",
  "timezone": "Europe/Paris",
  "from": "2026-03-24T00:00:00+01:00",
  "to": "2026-03-25T00:00:00+01:00",
  "unit": "m",
  "data": [
    {
      "date": "2026-03-24",
      "extrema": [
        { "type": "PM", "time": "01:04", "height": 6.967, "coef": 83 },
        { "type": "BM", "time": "08:12", "height": 1.434 },
        { "type": "PM", "time": "13:29", "height": 6.708, "coef": 75 },
        { "type": "BM", "time": "20:34", "height": 1.782 }
      ]
    }
  ]
}

Champs des extrema

`type`PM pour pleine mer, BM pour basse mer
`time`Heure locale au format HH:MM
`height`Hauteur en mètres au-dessus du zéro hydrographique local
`coef`Coefficient de marée, présent uniquement sur les pleines mers ; valeur non officielle et impropre à la navigation

Erreurs courantes

  • invalid_date si from ou to n'est pas au format YYYY-MM-DD.
  • invalid_range si from est postérieur à to.
  • invalid_timezone si le fuseau horaire n'est pas reconnu.
  • outside_allowed_window si la période sort de la fenêtre autorisée.
GET

/height-search

Retourne tous les instants où la hauteur d'eau modélisée atteint une hauteur cible, avec le sens de la marée (montante ou descendante), pour un site et une période donnés.

Référentiel vertical : la hauteur cible s'exprime en mètres au-dessus du zéro hydrographique (ZH) local du site, comme pour /water-levels.

Paramètres

`key`Clé API du compte
La clé est disponible sur la page d’accueil lorsque vous êtes connecté.
`site`Identifiant du site
`from`Date/heure de début, incluse, au format YYYY-MM-DDTHH:MM
`to`Date/heure de fin, incluse, au format YYYY-MM-DDTHH:MM
`height`Hauteur cible en mètres
`tz``Europe/Paris` ou `UTC`

Contraintes

  • from doit être antérieur à to.
  • La période doit rester dans la fenêtre J-30 à J+30.
  • height doit être numérique.
  • Le quota s'applique par compte et par heure.
  • La mise en cache des réponses est autorisée et recommandée.

Exemple de requête

GET /height-search?site=port-en-bessin&from=2026-03-24T00:00&to=2026-03-25T00:00&height=4.5&tz=Europe/Paris&key=00000000000000000000000000000000

Exemple de réponse

{
  "site_id": "port-en-bessin",
  "site_name": "Port-en-Bessin",
  "timezone": "Europe/Paris",
  "from": "2026-03-24T00:00+01:00",
  "to": "2026-03-25T00:00+01:00",
  "target_height": 4.5,
  "unit": "m",
  "data": [
    {
      "date": "2026-03-24",
      "results": [
        { "time": "05:00", "dir": "down" },
        { "time": "11:07", "dir": "up" },
        { "time": "17:27", "dir": "down" },
        { "time": "23:31", "dir": "up" }
      ]
    }
  ]
}

Champs des résultats

`date`Journée locale au format YYYY-MM-DD ; chaque journée n'apparaît qu'une seule fois
`time`Heure locale arrondie à la minute, au format HH:MM
`dir`up pour une marée montante, down pour une marée descendante

Erreurs courantes

  • invalid_date si from ou to n'est pas au format YYYY-MM-DDTHH:MM.
  • invalid_range si from est postérieur ou égal à to.
  • invalid_height si height n'est pas numérique.
  • invalid_timezone si le fuseau horaire n'est pas reconnu.
  • outside_allowed_window si la période sort de la fenêtre autorisée.
GET

/sun-times

Retourne les horaires de lever et de coucher du soleil pour un site et une période donnés, calculés à partir des coordonnées géographiques du site.

Paramètres

`key`Clé API du compte
La clé est disponible sur la page d’accueil lorsque vous êtes connecté.
`site`Identifiant du site
`from`Premier jour demandé, inclus, au format YYYY-MM-DD
`to`Dernier jour demandé, inclus, au format YYYY-MM-DD
`tz``Europe/Paris` ou `UTC`

Contraintes

  • from et to doivent être des dates strictes, sans heure.
  • La période est inclusive sur les jours, contrairement à une borne datetime de fin.
  • Les dates demandées doivent rester dans la fenêtre J-30 à J+30.
  • La mise en cache des réponses est autorisée et recommandée.

Exemple de requête

GET /sun-times?site=port-en-bessin&from=2026-03-24&to=2026-03-24&tz=Europe/Paris&key=00000000000000000000000000000000

Exemple de réponse

{
  "site_id": "port-en-bessin",
  "site_name": "Port-en-Bessin",
  "latitude": 49.352565,
  "longitude": -0.749206,
  "timezone": "Europe/Paris",
  "from": "2026-03-24T00:00:00+01:00",
  "to": "2026-03-25T00:00:00+01:00",
  "data": [
    {
      "date": "2026-03-24",
      "sunrise": "06:57",
      "sunset": "19:22"
    }
  ]
}

Champs des résultats

`date`Journée locale au format YYYY-MM-DD ; une entrée par jour dans la période demandée
`sunrise`Heure locale du lever du soleil, au format HH:MM, ou null si pas de lever ce jour
`sunset`Heure locale du coucher du soleil, au format HH:MM, ou null si pas de coucher ce jour

Erreurs courantes

  • invalid_date si from ou to n'est pas au format YYYY-MM-DD.
  • invalid_range si from est postérieur à to.
  • invalid_timezone si le fuseau horaire n'est pas reconnu.
  • outside_allowed_window si la période sort de la fenêtre autorisée.
  • missing_coordinates si le site ne dispose pas de coordonnées géographiques.
GET

/tide-coefficients

Retourne les coefficients de marée de toutes les pleines mers d'un site, groupés par jour local, sans les horaires. Une seule requête peut couvrir jusqu'à deux années (fenêtre J-365 à J+365 autour de la date du jour).

Paramètres

`key`Clé API du compte
La clé est disponible sur la page d’accueil lorsque vous êtes connecté.
`site`Identifiant du site
`from`Premier jour demandé, inclus, au format YYYY-MM-DD
`to`Dernier jour demandé, inclus, au format YYYY-MM-DD
`tz``Europe/Paris` ou `UTC`

Contraintes

  • from et to sont obligatoires et doivent être des dates strictes, sans heure.
  • La période est inclusive sur les jours.
  • La fenêtre autorisée est de J-365 à J+365 (jusqu'à 730 jours en une seule requête).
  • Le quota s'applique par compte et par heure.
  • La mise en cache des réponses est autorisée et recommandée.

Exemple de requête

GET /tide-coefficients?site=port-en-bessin&from=2026-03-24&to=2026-03-26&tz=Europe/Paris&key=00000000000000000000000000000000

Exemple de réponse

{
  "site_id": "port-en-bessin",
  "site_name": "Port-en-Bessin",
  "timezone": "Europe/Paris",
  "from": "2026-03-24",
  "to": "2026-03-26",
  "unit": "coefficient",
  "data": [
    { "date": "2026-03-24", "coefs": [83, 75] },
    { "date": "2026-03-25", "coefs": [66, 57] },
    { "date": "2026-03-26", "coefs": [51, 46] }
  ]
}

Champs des résultats

`date`Journée locale au format YYYY-MM-DD ; une entrée par jour dans la période demandée
`coefs`Liste des coefficients des pleines mers de ce jour, sans les horaires (1 à 4 valeurs selon le site)

Erreurs courantes

  • invalid_date si from ou to n'est pas au format YYYY-MM-DD.
  • invalid_range si from est postérieur à to.
  • invalid_timezone si le fuseau horaire n'est pas reconnu.
  • outside_allowed_window si la période sort de la fenêtre J-365 à J+365.
  • invalid_api_key / invalid_site si la clé ou le site est invalide.