IndexFacile Docs

API v1

Complete IndexFacile REST API reference — authentication, endpoints, examples. Available on PRO and Cabinet plans.

The v1 API lets you integrate IndexFacile into your tools (Excel, ERP, scripts) for direct access to indices and calculations.

Required plans: PRO or Cabinet. The Solo plan does not include API access.

Authentication

All API requests (except POST /api/v1/revision) require an API key:

Authorization: Bearer if_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Get an API key

From My account → API Key → Generate an API key.

The key is in the format if_ followed by 48 hexadecimal characters. It is tied to your account and plan.

Revoke a key

From My account → API Key → Revoke. All integrations using this key stop working immediately.


Rate limiting

EndpointLimit
All API v1 endpoints (with key)100 req/min per key
POST /api/v1/revision (no key)30 req/min per IP

When exceeded: 429 Too Many Requests response.


Endpoints

GET /api/v1/series

Lists all active index series.

Authentication: required

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

Response 200:

{
  "series": [
    { "code": "BT01", "name": "Building all trades", "category": "BT" },
    { "code": "SYNTEC", "name": "Syntec index", "category": "SYNTEC" }
  ],
  "count": 42
}

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

Latest published value for an index.

Authentication: required

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

Response 200:

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

Possible statuses: FINAL, PROVISIONAL, ESTIMATED


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

Value history for an index with period filtering.

Authentication: required

Query parameters:

  • from (optional) — start period, format YYYY-MM
  • to (optional) — end period, format YYYY-MM
curl "https://indexfacile.fr/api/v1/series/BT01/values?from=2024-01&to=2024-12" \
  -H "Authorization: Bearer if_..."

Response 200:

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

POST /api/v1/revision

Calculates a one-off revision. No API key required (rate-limited to 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
  }'

Request body:

ParameterTypeRequiredDescription
formula_typestringCcagTravaux, Syntec, Ilc, Ilat, Irl, Free
p0numberInitial price
i0numberReference index value
i_currentnumberCurrent index value
alphanumberα coefficient (default 0.15 for CCAG)
betanumberβ coefficient (default 0.85 for CCAG)

Response 200:

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

Error codes

CodeHTTPDescription
MISSING_API_KEY401Authorization header missing
INVALID_API_KEY401Invalid or revoked key
SUBSCRIPTION_INACTIVE403Expired subscription
PLAN_DOES_NOT_INCLUDE_API_ACCESS403Solo plan — API not included
RATE_LIMIT_EXCEEDED429Too many requests
NOT_FOUND404Series or resource not found
INVALID_PARAMS400Invalid or missing parameters
CALCULATION_ERROR422Calculation error (I₀=0, etc.)

Excel example (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

See also the Excel Add-in page for native integration without Power Query.

On this page