The Sustainability Index, as JSON
Public sibling of the platform-admin sustainability-index endpoint — no auth, CC BY 4.0, edge-cached. The same document our own landing page consumes; the same document any researcher or regulator can wget, cite, or embed.
When to use
The Goable Sustainability Index is a session-weighted, per-zone measure of how much reported activity is carbon-neutral (wind / wave / gravity / ski-touring / paragliding) versus carbon-positive (motorised access, lift-served snow, boat excursions). Every zone that clears the k-anonymity floor is released with its neutral share, its electrification signal (when equipment data is present), and a folded 0–100 index.
Reach for this endpoint when you need the machine-readable artefact — annual regulatory filings, academic citation, dashboard embeds, or an ESG data-sourcing pipeline. The JSON is JSON-LD (Schema.org-typed), so it drops straight into a graph store or a knowledge-base ingestion loop.
Request
Query params (all times ISO 8601 UTC):
fromtozoneKmkExample request:
curl "https://api.goable.io/v1/public/sustainability-index?from=2025-07-01T00:00:00Z&to=2026-04-05T00:00:00Z"
No Authorization header, no X-Goable-Key — the sustainability index is deliberately open. The endpoint is edge-cached (cache-control: public, max-age=300) so heavy embedders do not amplify upstream compute.
Response
Content-Type: application/ld+json. Shape:
{
"@context": "https://schema.org",
"@type": "GoableSustainabilityIndex",
"generatedAt": "2026-07-04T09:12:04.812Z",
"period": {
"from": "2025-07-01T00:00:00Z",
"to": "2026-04-05T00:00:00Z"
},
"methodology": {
"indexFormula": "zoneIndex = 100 × (0.7 × carbonNeutralShare + …)",
"weights": {
"carbonNeutralShare": 0.7,
"electrificationShare": 0.3
},
"suppression": "Zones with < 10 sessions are suppressed …",
"notes": "Carbon-neutral = wind/wave/gravity …"
},
"overall": {
"index": 72.4,
"totalSessions": 14210,
"carbonNeutralSessions": 10864,
"carbonPositiveSessions": 3346,
"carbonNeutralShare": 0.764,
"zonesReleased": 18,
"zonesSuppressed": 7
},
"zones": [
{
"zoneKey": "36.00,-5.50",
"label": null,
"centroid": { "lat": 36.005, "lng": -5.505 },
"totalSessions": 1240,
"carbonNeutralShare": 0.921,
"electrificationShare": 0.14,
"seasonalConcentration": null,
"zoneIndex": 68.7
}
],
"license": "CC BY 4.0",
"attribution": "Goable Sustainability Index (goable.io/research)"
}Anonymisation
Three privacy safeguards are enforced inside the use case — you cannot bypass them by tuning the query:
- k-anonymity floor ≥ 10 sessions per zone. Zones below the threshold are suppressed and counted in
overall.zonesSuppressed. - Spatial truncation. Sessions are snapped to a
zoneKm-sided grid before any aggregation — exact coordinates never leave the server. - Publication lag of 90 days. The upper bound
tois clamped server-side to no closer than 90 days ago, so no single recent session can be timestamp-reconstructed.
License + citation
Published under Creative Commons Attribution 4.0 International (CC BY 4.0). Free to cite, embed, remix — the only ask is the attribution string carried on the document itself (attribution field). Recommended citation:
Goable Sustainability Index. Published {generatedAt}.
CC BY 4.0. https://goable.io/sustainability-indexErrors
422 VALIDATION_ERROR — malformed query (missing from / to, non-ISO datetime, zoneKm or k outside allowed range). 503 SERVICE_UNAVAILABLE — the research reader is not wired on this deployment (transient — the endpoint returns automatically once the reader is available).