Documentation IndexFacile

API v1

Référence complète de l'API REST IndexFacile — authentification, endpoints, exemples. Disponible sur les plans PRO et Cabinet.

L'API v1 permet d'intégrer IndexFacile dans vos outils (Excel, ERP, scripts) en accès direct aux indices et aux calculs.

Plans requis : PRO ou Cabinet. Le plan Solo ne donne pas accès à l'API.

Authentification

Toutes les requêtes API (sauf POST /api/v1/revision) nécessitent une clé API :

Authorization: Bearer if_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Obtenir une clé API

Depuis Mon compte → Clé API → Générer une clé API.

La clé est au format if_ suivi de 48 caractères hexadécimaux. Elle est liée à votre compte et à votre plan.

Révoquer une clé

Depuis Mon compte → Clé API → Révoquer. Toutes les intégrations utilisant cette clé cessent immédiatement de fonctionner.


Rate limiting

EndpointLimite
Tous les endpoints API v1 (clé)100 req/min par clé
POST /api/v1/revision (sans clé)30 req/min par IP

En cas de dépassement : réponse 429 Too Many Requests.


Endpoints

GET /api/v1/series

Liste toutes les séries d'indices actives.

Authentification : requise

curl https://indexfacile.fr/api/v1/series \
  -H "Authorization: Bearer if_..."

Réponse 200 :

{
  "series": [
    { "code": "BT01", "name": "Bâtiment tous corps d'état", "category": "BT" },
    { "code": "SYNTEC", "name": "Indice Syntec", "category": "SYNTEC" }
  ],
  "count": 42
}

GET /api/v1/series/{code}/latest

Dernière valeur publiée pour un indice.

Authentification : requise

curl https://indexfacile.fr/api/v1/series/BT01/latest \
  -H "Authorization: Bearer if_..."

Réponse 200 :

{
  "code": "BT01",
  "value": 1247.3,
  "period": "2025-10",
  "status": "FINAL"
}

Statuts possibles : FINAL, PROVISIONAL, ESTIMATED


GET /api/v1/series/{code}/values

Historique des valeurs d'un indice avec filtrage par période.

Authentification : requise

Paramètres de requête :

  • from (optionnel) — période de début, format YYYY-MM
  • to (optionnel) — période de fin, format YYYY-MM
curl "https://indexfacile.fr/api/v1/series/BT01/values?from=2024-01&to=2024-12" \
  -H "Authorization: Bearer if_..."

Réponse 200 :

{
  "code": "BT01",
  "values": [
    { "period": "2024-12", "value": 1238.1, "status": "FINAL" },
    { "period": "2024-11", "value": 1235.4, "status": "FINAL" }
  ]
}

POST /api/v1/revision

Calcule une révision ponctuelle. Ne requiert pas de clé API (rate-limité à 30 req/min/IP).

curl -X POST https://indexfacile.fr/api/v1/revision \
  -H "Content-Type: application/json" \
  -d '{
    "formula_type": "CcagTravaux",
    "p0": 100000,
    "i0": 1198.5,
    "i_current": 1247.3
  }'

Corps de la requête :

ParamètreTypeRequisDescription
formula_typestringCcagTravaux, Syntec, Ilc, Ilat, Irl, Free
p0numberPrix initial
i0numberValeur indice de référence
i_currentnumberValeur indice actuelle
alphanumberCoefficient α (défaut 0,15 pour CCAG)
betanumberCoefficient β (défaut 0,85 pour CCAG)

Réponse 200 :

{
  "new_price": 103460.0,
  "revision_coefficient": 1.0346,
  "revision_percent": 3.46,
  "formula_applied": "P = P₀ × (0.15 + 0.85 × I/I₀)",
  "warnings": []
}

Codes d'erreur

CodeHTTPDescription
MISSING_API_KEY401En-tête Authorization absent
INVALID_API_KEY401Clé invalide ou révoquée
SUBSCRIPTION_INACTIVE403Abonnement expiré
PLAN_DOES_NOT_INCLUDE_API_ACCESS403Plan Solo — API non incluse
RATE_LIMIT_EXCEEDED429Trop de requêtes
NOT_FOUND404Série ou ressource inexistante
INVALID_PARAMS400Paramètres invalides ou manquants
CALCULATION_ERROR422Erreur de calcul (I₀=0, etc.)

Exemple Excel (Power Query)

let
  ApiKey = "if_...",
  Url = "https://indexfacile.fr/api/v1/series/BT01/latest",
  Headers = [Authorization = "Bearer " & ApiKey],
  Response = Json.Document(Web.Contents(Url, [Headers = Headers])),
  Value = Response[value]
in
  Value

Voir aussi la page Add-in Excel pour l'intégration native sans Power Query.

On this page