tariffs live
?
Free
API Key stk_...
Requests today 0 / 100
Total requests
0
Country
Live · 9 EVU · UTC

Swiss Dynamic Electricity Tariffs — real time

One normalized API for all Swiss dynamic electricity tariffs. Updated daily, 96 × 15-min slots per day, three price components per slot.

9Active EVU
96Slots / day
3Price components
UTCNormalized timezone
CHFCurrency / kWh
Supported providers
Everything you need to integrate Swiss dynamic tariffs
Real-time prices
Energy, grid and residual prices updated daily. 96 × 15-min UTC slots per tariff.
Normalized API
Single REST API for all Swiss EVU. Same format, same schema, regardless of provider.
9 providers, one call
CKW, EKZ, AEM, Groupe E, Primeo, AVAG, ELAG and more — all in a single endpoint.
Secure API key access
Personal API key with rate limiting, single-session enforcement and plan-based access control.
Smart analytics
Daily summary, monthly stats, Smart view with best/worst hours and interactive dashboard.
Multilingual dashboard
Full interface in Italian, German, French and English. Interactive map of Swiss municipalities.
Simple, transparent plans
Free
CHF 0/ month
For personal use and exploration. Pick one tariff and get full access to it.
  • 1 tariff of your choice (permanent)
  • Today's prices — all 96 slots
  • Smart view for your tariff
  • Interactive map (your zone)
  • 100 API requests / day
  • 1 API key
  • All tariffs simultaneously
  • Historical data (unlimited)
  • Monthly summary & metrics
Enterprise
From CHF 300/ year
For companies whose teams share one account across many API keys. Pay only for the keys and requests you choose.
  • Everything in Pro
  • As many keys as you need — one per employee
  • Requests/day sized to your usage
  • Per-key usage tracking
  • Shared account-level limit
  • Company invoicing with VAT
  • Pay only for what you configure
Valid VAT number required. Subject to approval.
Seleziona tariffa
loading...
Upgrade to see slot details Log in or upgrade to Pro to inspect individual 15-min price slots.
Coverage map
Dynamic tariff providers by Swiss municipality · source: ElCom 2026
Loading municipality boundaries…
Grey municipalities have no dynamic tariff available in 2026. 457 out of 2,148 Swiss municipalities covered. Source: ElCom open data.
🔑
API Access
Log in to access the documentation and live playground.
Don't have an account? Request access
Request API Access
Free tier: 500 requests/day.
← Back
API Reference
API Reference GET /api/v1/tariffs
GET /api/v1/tariffs
Authentication API key required
Plan Free & Pro

Parameters
No parameters — returns all tariffs in a single call.
Response fields
Field Type Description
tariff_id string

Unique slug identifier.

Example ckw_home_dynamic
tariff_name string

Human-readable name.

Example CKW Dynamic Home
provider_name string

Swiss energy utility (EVU).

Example CKW
zip_ranges integer[]

Swiss postal codes served.

daily_update_time_utc string

Daily price refresh time (UTC).

Example 17:30
datetime_available_from_utc datetime

First UTC datetime with data.

valid_until_utc datetime nullable

null if currently active.

time_resolution_minutes integer

Slot resolution in minutes.

Example 15
sgr_compliant boolean

SmartGridready (SGr) certified.

Note
Try it out
GET /api/v1/tariffs
Code sample

              

              

            
Response
[
  {
    "tariff_id": "ckw_home_dynamic",
    "tariff_name": "CKW Dynamic Home",
    "provider_name": "CKW",
    "zip_ranges": [6000, 6002, 6003],
    "daily_update_time_utc": "11:05",
    "datetime_available_from_utc": "2026-01-01T00:00:00+00:00",
    "valid_until_utc": null,
    "time_resolution_minutes": 15,
    "sgr_compliant": true
  }
]

            
API Reference GET /api/v1/prices
GET /api/v1/prices
Authentication API key required
Plan Free & Pro

Query parameters
Field Type Description
tariff_id string

Tariff identifier.

zip_code integer

start_timerequired datetime

Start of window in UTC.

Example 2026-08-27T00:00:00Z
end_time datetime

End of window in UTC. Defaults to start_time + 24 h.

Response fields
Field Type Description
tariff_id string

Tariff slug identifier.

Example ckw_home_dynamic
date string

Swiss local date of the data.

Example 2026-08-27
start_time datetime

UTC start of the actual day window returned.

end_time datetime

UTC end of the actual day window returned.

energy_price_utc object[]

Energy component (CHF/kWh).

grid_price_utc object[]

Grid/network component (CHF/kWh).

residual_price_utc object[]

Residual charges (CHF/kWh).

slot_count integer

Number of 15-min slots returned (96 = full day).

Identifying the tariff
Timezone & DST
Plan behaviour
Try it out
GET /api/v1/prices?tariff_id=...&start_time=2026-08-27T00:00:00Z
Code sample

              

              

            
Response
{
  "tariff_id": "ckw_home_dynamic",
  "date": "2026-08-27",
  "start_time": "2026-08-27T23:00:00+00:00",
  "end_time": "2026-08-27T23:00:00+00:00",
  "slot_count": 96,
  "energy_price_utc": [
    {"2026-06-18T22:00:00+00:00": 0.0842},
    {"2026-06-18T22:15:00+00:00": 0.0791},
    ... 94 more slots
  ],
  "grid_price_utc": [
    {"2026-06-18T22:00:00+00:00": 0.0412},
    ... 95 more slots
  ],
  "residual_price_utc": [
    {"2026-06-18T22:00:00+00:00": 0.0051},
    ... 95 more slots
  ]
}

            
API Reference GET /api/v1/prices/all
GET /api/v1/prices/all all tariffs
Authentication API key required
Plan Pro only

Query parameters
Field Type Description
start_timerequired datetime

Start of window in UTC.

Example 2026-08-27T00:00:00Z
end_time datetime

End of window in UTC. Defaults to start_time + 24 h.

Response structure
Note
Response is a JSON object keyed by tariff_id.
Field Type Description
energy_price_utc object[]

Energy component slots (CHF/kWh).

grid_price_utc object[]

Grid component slots (CHF/kWh).

residual_price_utc object[]

Residual charges slots (CHF/kWh).

slot_count integer

Number of 15-min slots for this tariff.

Plan behaviour
Try it out
GET /api/v1/prices/all?start_time=2026-08-27T00:00:00Z
No tariff_id — returns every active tariff in one call.
Code sample

              

              

            
Response
{
  "ckw_home_dynamic": {
    "date": "2026-08-27",
    "slot_count": 96,
    "energy_price_utc": [
      {"2026-06-18T22:00:00+00:00": 0.0842},
      ... 95 more
    ],
    "grid_price_utc": [...],
    "residual_price_utc": [...]
  },
  "ekz_dynamisch": {
    "date": "2026-08-27",
    "slot_count": 96,
    "energy_price_utc": [...],
    "grid_price_utc": [...],
    "residual_price_utc": [...]
  },
  ... all active tariffs
}

            
API Reference GET /api/v1/summary/daily
GET /api/v1/summary/daily
Authentication API key required
Plan Free & Pro

Query parameters
Field Type Description
tariff_idrequired string

days integer

Response fields
Field Type Description
tariff_id string

days object[]

Plan behaviour
Try it out
GET
Code sample

              

              

            
Response
{
  "tariff_id": "ckw_home_dynamic",
  "days": [
    {
      "date": "2026-08-27",
      "avg_price": 0.1284,
      "min_price": 0.0912,
      "max_price": 0.1873,
      "slot_count": 96
    },
    ... one entry per day
  ]
}

            
API Reference GET /api/v1/summary/monthly
GET /api/v1/summary/monthly
Authentication API key required
Plan Pro only

Query parameters
Field Type Description
tariff_idrequired string

months integer

Response fields
Field Type Description
tariff_id string

months object[]

Plan behaviour
Try it out
GET
Code sample

              

              

            
Response
{
  "tariff_id": "ckw_home_dynamic",
  "months": [
    {
      "month": "2026-06",
      "avg_price": 0.1197,
      "min_price": 0.0688,
      "max_price": 0.2011,
      "slot_count": 2880
    },
    ... one entry per month
  ]
}

            
API Reference GET /api/v1/smart
GET /api/v1/smart
Authentication API key required
Plan Pro only

Query parameters
Field Type Description
date_str string

Response fields
Field Type Description
date string

tariffs object[]

Plan behaviour
Try it out
GET
Defaults to today (Swiss time) if omitted.
Code sample

              

              

            
Response
{
  "date": "2026-08-27",
  "tariffs": [
    {
      "tariff_id": "ckw_home_dynamic",
      "provider_name": "CKW",
      "cheapest_window": {
        "time": "03:15",
        "price": 0.0688
      },
      "most_expensive_window": {
        "time": "19:00",
        "price": 0.2011
      },
      "avg_today": 0.1284
    },
    ... one entry per active tariff
  ]
}

            
Create your account
Free plan · CHF 0 · No credit card required
Already have an account?  Log in →
📬
Request sent!
We'll review your request and send your API key by email within 24 hours.
Closing in 10s...
Enterprise plan
Request Enterprise access
One account for your whole team, with a dedicated API key per employee and shared limits.
API keys One per employee
Requests / day Shared across all keys
Estimated price CHF 0/ year
Swiss UID format: CHE-123.456.789
PRO PLAN
CHF19
Monthly billing · cancel anytime
2 000 requests / day
Full price history
All providers — /prices/all
Monthly summaries + /metrics
30 req / min
Priority support
🔒 Secure payment · Cancel anytime before next billing date.
SSL 256-bit
PCI compliant
GDPR
Complete your subscription
Secure payment · Instant activation
Billing details
Payment method
Swiss Tariff Hub AI
Online · Dynamic Tariffs Expert