Documentation

AquaSignal API v1

REST API for accessing real-time water data — water stress, risks, compliance.

v1.0REST / JSON

Authentication

All requests must include your API key in the Authorization header.

Authorization: Bearer aqsig_YOUR_API_KEY

Enterprise plan required

API keys are available for Enterprise accounts only. View plans →

Base URL

https://aquasignal.fr

Manage your API keys

Generate, list, and revoke your keys in Settings → API

Rate limits

PlanRequests / minuteRequests / day
Enterprise12050 000

Endpoints

GET/api/v1/stressWater stress by département

Returns the water stress index (0-5) and alert level for French départements.

Parameters

deptstringoptionalDépartement code (e.g.: 13, 34). If omitted, returns all départements.

cURL example

curl -X GET "https://aquasignal.fr/api/v1/stress?dept=13" \
  -H "Authorization: Bearer aqsig_YOUR_API_KEY"

Response

{
  "count": 96,
  "updatedAt": "2026-03-25T08:00:00.000Z",
  "data": [
    {
      "dept": "13",
      "name": "Bouches-du-Rhône",
      "stressIndex": 4.5,
      "level": "crise"
    }
  ]
}
GET/api/v1/risqueWater risk score by département

Returns flood, drought, and overall risk scores (0-100) with SURGE™ rating.

Parameters

deptstringoptionalDépartement code. If omitted, returns all départements.

cURL example

curl -X GET "https://aquasignal.fr/api/v1/risque?dept=34" \
  -H "Authorization: Bearer aqsig_YOUR_API_KEY"

Response

{
  "dept": "34",
  "name": "Hérault",
  "flood": 65,
  "drought": 86,
  "overall": 80,
  "rating": "B",
  "updatedAt": "2026-03-25T08:00:00.000Z"
}
GET/api/v1/hydroriskSURGE™ history

Returns your account's SURGE™ analysis history.

Parameters

limitintegeroptionalNumber of results (max 100, default 20)
offsetintegeroptionalOffset for pagination (default 0)

cURL example

curl -X GET "https://aquasignal.fr/api/v1/hydrorisk?limit=10" \
  -H "Authorization: Bearer aqsig_YOUR_API_KEY"

Response

{
  "total": 12,
  "limit": 20,
  "offset": 0,
  "data": [
    {
      "id": "clx...",
      "companyName": "Acme SAS",
      "sectorCode": "C10",
      "deptCode": "34",
      "globalScore": 62.4,
      "rating": "BB",
      "createdAt": "2026-03-20T10:30:00.000Z"
    }
  ]
}
GET/api/v1/conformiteWater Audit 360° history

Returns your account's compliance water audit history.

Parameters

limitintegeroptionalNumber of results (max 100, default 20)
offsetintegeroptionalOffset for pagination (default 0)

cURL example

curl -X GET "https://aquasignal.fr/api/v1/conformite" \
  -H "Authorization: Bearer aqsig_YOUR_API_KEY"

Response

{
  "total": 5,
  "limit": 20,
  "offset": 0,
  "data": [
    {
      "id": "clx...",
      "companyName": "Industrie Eau SA",
      "sectorCode": "C17",
      "deptCode": "69",
      "score": 71.5,
      "globalRating": "A",
      "createdAt": "2026-03-15T14:00:00.000Z"
    }
  ]
}

Code examples

JavaScript / Node.js

const res = await fetch("https://aquasignal.fr/api/v1/stress?dept=13", {
  headers: {
    "Authorization": "Bearer aqsig_YOUR_API_KEY",
    "Content-Type": "application/json"
  }
});
const data = await res.json();
console.log(data.stressIndex, data.level);

Python

import requests

headers = {"Authorization": "Bearer aqsig_YOUR_API_KEY"}
r = requests.get(
    "https://aquasignal.fr/api/v1/stress",
    params={"dept": "34"},
    headers=headers
)
data = r.json()
print(data["stressIndex"], data["level"])

Error codes

CodeDescription
401Missing or invalid API key
403Insufficient plan (Enterprise required)
404Resource not found
429Rate limit exceeded
500Internal server error
AquaSignal API v1 Documentation · Last updated: March 2026
contact@aquasignal.tech