API Reference
Forward-looking 48h demand, carbon intensity, and IEX forward price curves. Available on Pro and above.
Pro tier required
Every endpoint on this page returns 402 feature_not_in_plan for Trial and Starter keys. Upgrade to Pro to enable — see Pricing.
/developer/v1/forecast/demandpro+Next-48h hourly demand forecast. National by default; pass ?state=<key> for a per-state forecast. Returns the demand_mw point (= p50) with the p10/p50/p90 uncertainty band and a per-IST-day peak head. Honest provenance: source is 'model' only when the trained 48h model is promoted to serving, and served is strictly source == 'model' (otherwise a seasonal-naive / climatology baseline is served with served=false).
statestringmaharashtra / MH / Maharashtra). Omit for the national all-India forecast.horizonintegerdefault: 48{
"data": {
"scope": "national",
"state": "All India",
"issued_at": "2026-07-04T06:00:00+00:00",
"as_of": "2026-07-04T06:00:00+00:00",
"horizon_hours": 48,
"source": "model",
"served": true,
"model_version": "national-48h-v3",
"coverage": { "band": "p10-p90", "notes": "national-48h-v3; anchor=recent-median" },
"peaks": [
{ "date_ist": "2026-07-04", "peak_mw": 238412.0, "peak_hour_ist": 15 }
],
"hours": [
{ "target_hour_ist": "2026-07-04T12:00:00", "hour_ist": 12,
"demand_mw": 236010.0, "p10_mw": 219100.0, "p50_mw": 236010.0, "p90_mw": 252920.0 }
]
},
"meta": { "scope": "national", "source": "model", "served": true }
}demand_mw equals p50_mw exactly — the same number every Atlas surface (the forecast page, /states, and the daily email) reads for the same issue. The old /forecast/national and /forecast/state/{state_key} paths are aliases of this endpoint (identical response, retained for back-compat).
Supersedes the legacy 24h state forecast
This 48h forecast replaces the legacy 24h /api/intelligence/state-demand-forecast (now beta). New integrations should use /forecast/demand?state=<key>, which adds the p10/p50/p90 band and honest source/served provenance.
/developer/v1/forecast/carbon-intensitypro+Hour-by-hour carbon intensity forecast over the next 48 hours. Built from a weather-adjusted demand forecast and declared availability curves.
horizon_hintegerdefault: 24statestring{
"as_of": "2026-04-20T14:30:00Z",
"scope": "national",
"horizon_h": 24,
"forecast": [
{ "ts": "2026-04-20T15:00:00Z", "intensity_gco2_per_kwh": 688, "confidence": 0.91 },
{ "ts": "2026-04-20T16:00:00Z", "intensity_gco2_per_kwh": 701, "confidence": 0.89 }
]
}/developer/v1/forecast/iex-forward-curvepro+Expected DAM clearing price curve over the next 7 days, block by block. Built from historical patterns conditioned on the current weather and holiday calendar.
horizon_daysintegerdefault: 3marketenumdefault: damdam (default) or rtm.{
"as_of": "2026-04-20T14:30:00Z",
"market": "dam",
"horizon_days": 3,
"curve": [
{ "ts": "2026-04-20T15:00:00Z", "block": 61, "price": 4920, "p10": 3820, "p90": 6180 },
{ "ts": "2026-04-20T15:15:00Z", "block": 62, "price": 4880, "p10": 3780, "p90": 6090 }
],
"unit": "INR/MWh"
}p10 and p90 bound an 80% prediction interval. Use these for risk-aware bidding and BESS dispatch optimisation rather than the point forecast alone.