/api/v2/energy/grid: hourly US operating data from the EIA-930 Hourly Electric Grid Monitor, EU bidding-zone load and generation from the ENTSO-E Transparency Platform, and US utility tariff schedules from the NREL / OpenEI Utility Rate Database (URDB) for the cost side. Along the way it shows how to line demand up against generation and interchange so the balance actually closes.x-api-key header on every call (Authentication).region namespace covers US balancing authorities (EIA codes such as US48, PJM, CISO), GB, DK1/DK2, six ENTSO-E zones (DE_LU, FR, NL, ES, IT_NORD, PL) and AU NEM regions. Start with the US lower-48 total:{
"data": {
"region": "US48", "region_name": "United States Lower 48",
"metric": "demand", "unit": "megawatthours", "count": 3,
"series": [
{"period": "2026-07-19T08", "value": 485080.0},
{"period": "2026-07-19T07", "value": 492434.0}
]
},
"meta": {"endpoint": "/api/v2/energy/grid", "data_time": "2026-07-19T08:00:00Z", "source": "eia"}
}frequency=local_hourly switches US regions to local time). Around 485 GWh was consumed in the latest reported hour.2026-07-19T08 while net generation stopped at 2026-07-18T03. To compare like with like, pin start and end instead of taking the head of each series:{
"data": {
"metric": "net_generation", "unit": "megawatthours", "count": 2,
"series": [
{"period": "2026-07-18T03", "value": 625870.0}
]
}
}total_interchange is the net flow out of the region, so negative values mean it imported power:{
"data": {"metric": "total_interchange", "unit": "megawatthours",
"series": [{"period": "2026-07-18T03", "value": -16034.0}]}
}metric=demand to the same hour returns 632258. Supply was 625870 generated plus 16034 imported, about 641.9 GWh against 632.3 GWh of demand; the roughly 1.5 percent residual is normal for preliminary EIA-930 submissions, so alert on trend, not on exact closure.{
"data": {
"region": "DE_LU", "region_name": "Germany-Luxembourg",
"metric": "demand", "unit": "MW", "resolution": "PT15M", "count": 3,
"series": [
{"period": "2026-07-19T07:15:00Z", "value": 44447.433629},
{"period": "2026-07-19T07:00:00Z", "value": 44007.59132}
]
},
"meta": {"source": "entsoe"}
}demand and day-ahead price here; generation lives on /grid/fuel-mix.{
"data": {
"region": "DE_LU", "unit": "MW", "resolution": "PT15M",
"latest_period": "2026-07-19T07:45:00Z",
"rows": [
{"period": "2026-07-19T07:30:00Z", "fuel_type": "B16", "fuel_type_name": "Solar",
"direction": "production", "value": 19960.104}
]
}
}latest_period carried a single fuel while the 07:30 slice was complete), so aggregate on the last complete interval. Here solar alone supplied about 20 GW of the roughly 44 GW load from step 4. Values preserve source direction: production positive, consumption (for example pumped storage) negative./api/v2/energy/tariffs returns URDB rate schedules. Select a utility by eiaid or name substring, or look up by coordinate:{
"data": {
"mode": "geo", "count": 2, "tariffs": [
{"name": "E-1 - Baseline Region Q", "utility": "Pacific Gas & Electric Co", "eiaid": 14328,
"sector": "Residential", "start_date": "2014-01-01", "end_date": "2014-07-31",
"energy": {"tiers_by_period": [[{"rate": 0.1323, "effective_rate": 0.1323, "max": 7.5, "unit": "kWh"}]]}}
]
}
}start_date / end_date for vintage and verify against the utility's published tariff sheet before any billing use.meta.source and rate-limit headers used throughout this recipe.