Documentation API

Tout ce qu'il faut pour intégrer RisquesAPI dans votre application.

URL de base

https://risquesapi.app/api/v1

Authentification

Le plan gratuit ne nécessite aucune authentification (100 requêtes/jour par IP). Les plans payants utilisent une clé API passée dans le header Authorization.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://risquesapi.app/api/v1/risques?address=..."

GET /api/v1/risques

Retourne tous les risques pour une adresse ou des coordonnées données.

Paramètres

ParamètreTypeRequisDescription
addressstring*Adresse en France (géocodée automatiquement)
latnumber**Latitude
lonnumber**Longitude
code_inseestring**Code INSEE de la commune

* Fournissez address OU ** (lat + lon + code_insee)

Exemple curl

terminalbash
curl "https://risquesapi.app/api/v1/risques?address=10+Rue+de+la+Paix,+75002+Paris"

Exemple JavaScript

index.jsjavascript
const response = await fetch(
  "https://risquesapi.app/api/v1/risques?" +
  new URLSearchParams({ address: "10 Rue de la Paix, 75002 Paris" })
);

const data = await response.json();

console.log(data.risk_score);  // 28
console.log(data.risk_level);  // "modéré"
console.log(data.risks.natural);  // [{ code: "13", label: "Inondation" }]

Exemple Python

main.pypython
import requests

resp = requests.get(
    "https://risquesapi.app/api/v1/risques",
    params={"address": "10 Rue de la Paix, 75002 Paris"}
)
data = resp.json()

print(f"Score: {data['risk_score']}/100 ({data['risk_level']})")
for risk in data["risks"]["natural"]:
    print(f"  - {risk['label']}")

GET /api/v1/erp

Génère un document HTML d'État des Risques et Pollutions (ERP) prêt à imprimer. Mêmes paramètres que /api/v1/risques.

terminalbash
# Ouvrir l'ERP dans le navigateur
open "https://risquesapi.app/api/v1/erp?address=10+Rue+de+la+Paix,+75002+Paris"

# Sauvegarder en HTML
curl -o erp.html "https://risquesapi.app/api/v1/erp?address=10+Rue+de+la+Paix,+75002+Paris"

Format de réponse complet

response.jsonjson
{
  "address": "10 Rue de la Paix, 75002 Paris",
  "coordinates": { "lat": 48.868989, "lon": 2.33115 },
  "code_insee": "75102",
  "risk_score": 28,
  "risk_level": "modéré",
  "risks": {
    "natural": [
      { "code": "13", "label": "Inondation" }
    ],
    "technological": [
      { "code": "27", "label": "Transport de matières dangereuses" }
    ],
    "radon": { "class": 1, "label": "Faible" },
    "cavities": [
      { "id": "IDF1234", "type": "Carrière", "location": "..." }
    ],
    "ground_movements": [
      { "id": "MVT567", "type": "Affaissement", "date": "2015-03-12" }
    ],
    "catnat_history": [
      {
        "code": "75-2016-01",
        "label": "Inondations et coulées de boue",
        "date_debut": "2016-06-01",
        "date_fin": "2016-06-05",
        "date_arrete": "2016-06-28"
      }
    ],
    "icpe_nearby": [
      {
        "name": "TOTAL ENERGIES",
        "commune": "PARIS",
        "regime": "Autorisation",
        "seveso": "Seuil haut",
        "priorite_nationale": "Oui"
      }
    ]
  },
  "erp_summary": "Niveau de risque global : modéré (28/100). ...",
  "sources": ["georisques.gouv.fr", "api-adresse.data.gouv.fr"],
  "generated_at": "2026-06-07T10:30:00.000Z"
}

Codes d'erreur

CodeDescription
400Paramètres manquants ou invalides
404Adresse introuvable
429Limite de requêtes atteinte
503Service Géorisques temporairement indisponible

Limites de débit

Les headers de réponse incluent les informations de rate limiting :

X-RateLimit-Limit: 100
X-RateLimit-Remaining: 99