{"openapi":"3.1.0","info":{"title":"Carbon Intensity API","version":"1.0.0","description":"Great Britain\\x27s electricity grid carbon intensity as an API, from the official National Grid ESO Carbon Intensity service. Get the live national carbon intensity in grams of CO2 per kWh with its index (very low to very high), the current generation mix showing exactly how much of the grid is gas, wind, solar, nuclear, biomass, hydro, coal and imports right now (with the renewable and zero-carbon percentages worked out for you), today\\x27s half-hourly intensity timeline, the carbon intensity of all 18 GB regions, the intensity and fuel mix for any UK postcode, and the gCO2/kWh emission factor of each fuel type. This is exactly the data you need to shift EV charging, heat pumps, laundry and batteries to the greenest, cheapest half-hours. Perfect for smart-home and energy apps, EV-charging schedulers, sustainability dashboards, carbon-aware computing and climate tools. Covers Great Britain. No accounts, no upstream key.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/carbonintensity-api","description":"oanor gateway"}],"tags":[{"name":"Intensity"},{"name":"Regional"},{"name":"Reference"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/forecast":{"get":{"operationId":"get_v1_forecast","tags":["Intensity"],"summary":"Today half-hourly intensity","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":48,"periods":[{"to":"2026-05-31T23:30Z","from":"2026-05-31T23:00Z","index":"high","forecast":187},{"to":"2026-06-01T00:00Z","from":"2026-05-31T23:30Z","index":"high","forecast":183},{"to":"2026-06-01T00:30Z","from":"2026-06-01T00:00Z","index":"high","forecast":184},{"to":"2026-06-01T01:00Z","from":"2026-06-01T00:30Z","index":"high","forecast":183},{"to":"2026-06-01T01:30Z","from":"2026-06-01T01:00Z","index":"high","forecast":183},{"to":"2026-06-01T02:00Z","from":"2026-06-01T01:30Z","index":"high","forecast":180},{"to":"2026-06-01T02:30Z","from":"2026-06-01T02:00Z","index":"high","forecast":172},{"to":"2026-06-01T03:00Z","from":"2026-06-01T02:30Z","index":"moderate","forecast":109},{"to":"2026-06-01T03:30Z","from":"2026-06-01T03:00Z","index":"moderate","forecast":107},{"to":"2026-06-01T04:00Z","from":"2026-06-01T03:30Z","index":"moderate","forecast":111},{"to":"2026-06-01T04:30Z","from":"2026-06-01T04:00Z","index":"moderate","forecast":112},{"to":"2026-06-01T05:00Z","from":"2026-06-01T04:30Z","index":"moderate","forecast":112},{"to":"2026-06-01T05:30Z","from":"2026-06-01T05:00Z","index":"moderate","forecast":111},{"to":"2026-06-01T06:00Z","from":"2026-06-01T05:30Z","index":"moderate","forecast":108},{"to":"2026-06-01T06:30Z","from":"2026-06-01T06:00Z","index":"moderate","forecast":103},{"to":"2026-06-01T07:00Z","from":"2026-06-01T06:30Z","index":"moderate","forecast":99},{"to":"2026-06-01T07:30Z","from":"2026-06-01T07:00Z","index":"moderate","forecast":94},{"to":"2026-06-01T08:00Z","from":"2026-06-01T07:30Z","index":"moderate","forecast":90},{"to":"2026-06-01T08:30Z","from":"2026-06-01T08:00Z","index":"low","forecast":82},{"to":"2026-06-01T09:00Z","from":"2026-06-01T08:30Z","index":"low","forecast":78},{"to":"2026-06-01T09:30Z","from":"2026-06-01T09:00Z","index":"low","forecast":72},{"to":"2026-06-01T10:00Z","from":"2026-06-01T09:30Z","index":"moderate","forecast":114},{"to":"2026-06-01T10:30Z","from":"2026-06-01T10:00Z","index":"moderate","forecast":106},{"to":"2026-06-01T11:00Z","from":"2026-06-01T10:30Z","index":"moderate","forecast":98},{"to":"2026-06-01T11:30Z","from":"2026-06-01T11:00Z","index":"moderate","forecast":91},{"to":"2026-06-01T12:00Z","from":"2026-06-01T11:30Z","index":"low","forecast":86},{"to":"2026-06-01T12:30Z","from":"2026-06-01T12:00Z","index":"low","forecast":80},{"to":"2026-06-01T13:00Z","from":"2026-06-01T12:30Z","index":"low","forecast":77},{"to":"2026-06-01T13:30Z","from":"2026-06-01T13:00Z","index":"low","forecast":77},{"to":"2026-06-01T14:00Z","from":"2026-06-01T13:30Z","index":"low","forecast":79},{"to":"2026-06-01T14:30Z","from":"2026-06-01T14:00Z","index":"low","forecast":83},{"to":"2026-06-01T15:00Z","from":"2026-06-01T14:30Z","index":"moderate","forecast":94},{"to":"2026-06-01T15:30Z","from":"2026-06-01T15:00Z","index":"moderate","forecast":102},{"to":"2026-06-01T16:00Z","from":"2026-06-01T15:30Z","index":"moderate","forecast":111},{"to":"2026-06-01T16:30Z","from":"2026-06-01T16:00Z","index":"moderate","forecast":122},{"to":"2026-06-01T17:00Z","from":"2026-06-01T16:30Z","index":"moderate","forecast":127},{"to":"2026-06-01T17:30Z","from":"2026-06-01T17:00Z","index":"moderate","forecast":135},{"to":"2026-06-01T18:00Z","from":"2026-06-01T17:30Z","index":"moderate","forecast":140},{"to":"2026-06-01T18:30Z","from":"2026-06-01T18:00Z","index":"moderate","forecast":145},{"to":"2026-06-01T19:00Z","from":"2026-06-01T18:30Z","index":"moderate","forecast":148},{"to":"2026-06-01T19:30Z","from":"2026-06-01T19:00Z","index":"moderate","forecast":148},{"to":"2026-06-01T20:00Z","from":"2026-06-01T19:30Z","index":"moderate","forecast":147},{"to":"2026-06-01T20:30Z","from":"2026-06-01T20:00Z","index":"moderate","forecast":148},{"to":"2026-06-01T21:00Z","from":"2026-06-01T20:30Z","index":"moderate","forecast":145},{"to":"2026-06-01T21:30Z","from":"2026-06-01T21:00Z","index":"moderate","forecast":140},{"to":"2026-06-01T22:00Z","from":"2026-06-01T21:30Z","index":"moderate","forecast":135},{"to":"2026-06-01T22:30Z","from":"2026-06-01T22:00Z","index":"moderate","forecast":121},{"to":"2026-06-01T23:00Z","from":"2026-06-01T22:30Z","index":"moderate","forecast":116}]},"meta":{"timestamp":"2026-06-01T00:03:37.180Z","request_id":"81311a0a-e984-4292-8df9-b7cc8c8ab006"},"status":"ok","message":"Forecast retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/generation":{"get":{"operationId":"get_v1_generation","tags":["Intensity"],"summary":"Current generation mix","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":"2026-06-01T00:00Z","from":"2026-05-31T23:30Z","generation_mix":[{"fuel":"biomass","percent":11.2},{"fuel":"coal","percent":0},{"fuel":"imports","percent":16.2},{"fuel":"gas","percent":40.5},{"fuel":"nuclear","percent":10.2},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":22}],"renewable_percent":33.2,"zero_carbon_percent":43.4},"meta":{"timestamp":"2026-06-01T00:03:37.368Z","request_id":"c0463af2-8885-4bcd-8e5c-bd2ec99e9560"},"status":"ok","message":"Generation retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/intensity":{"get":{"operationId":"get_v1_intensity","tags":["Intensity"],"summary":"National carbon intensity now","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":"2026-06-01T00:00Z","from":"2026-05-31T23:30Z","unit":"gCO2/kWh","index":"high","forecast":183},"meta":{"timestamp":"2026-06-01T00:03:37.638Z","request_id":"19ffffca-12b1-437b-9dca-84e74c0473a3"},"status":"ok","message":"Intensity retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/postcode":{"get":{"operationId":"get_v1_postcode","tags":["Regional"],"summary":"Intensity by UK postcode","description":"","parameters":[{"name":"postcode","in":"query","required":true,"description":"UK outward code","schema":{"type":"string"},"example":"RG10"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":"2026-06-01T00:00Z","dno":"SSE South","from":"2026-05-31T23:30Z","name":"South England","region":{"dno":"SSE South","name":"South England","index":"very high","forecast":249,"region_id":12,"generation_mix":[{"fuel":"biomass","percent":5.1},{"fuel":"coal","percent":0},{"fuel":"imports","percent":29.8},{"fuel":"gas","percent":57.8},{"fuel":"nuclear","percent":1.3},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":6}]},"postcode":"RG10","region_id":12},"meta":{"timestamp":"2026-06-01T00:03:37.947Z","request_id":"e27eb139-edc2-4d3d-8b26-b05dc287f7d8"},"status":"ok","message":"Postcode retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/regional":{"get":{"operationId":"get_v1_regional","tags":["Regional"],"summary":"All 18 GB regions","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"to":"2026-06-01T00:00Z","from":"2026-05-31T23:30Z","count":18,"regions":[{"dno":"Scottish Hydro Electric Power Distribution","name":"North Scotland","index":"very low","forecast":0,"region_id":1,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":0},{"fuel":"nuclear","percent":0},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":100}]},{"dno":"SP Distribution","name":"South Scotland","index":"very low","forecast":0,"region_id":2,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":0},{"fuel":"nuclear","percent":21.3},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":78.7}]},{"dno":"Electricity North West","name":"North West England","index":"low","forecast":40,"region_id":3,"generation_mix":[{"fuel":"biomass","percent":4.8},{"fuel":"coal","percent":0},{"fuel":"imports","percent":9.6},{"fuel":"gas","percent":8.5},{"fuel":"nuclear","percent":34.2},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":42.9}]},{"dno":"NPG North East","name":"North East England","index":"very low","forecast":20,"region_id":4,"generation_mix":[{"fuel":"biomass","percent":16},{"fuel":"coal","percent":0},{"fuel":"imports","percent":43.7},{"fuel":"gas","percent":0},{"fuel":"nuclear","percent":24.2},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":16.1}]},{"dno":"NPG Yorkshire","name":"Yorkshire","index":"moderate","forecast":139,"region_id":5,"generation_mix":[{"fuel":"biomass","percent":49.8},{"fuel":"coal","percent":0},{"fuel":"imports","percent":5.7},{"fuel":"gas","percent":20},{"fuel":"nuclear","percent":3.1},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":21.4}]},{"dno":"SP Manweb","name":"North Wales & Merseyside","index":"low","forecast":39,"region_id":6,"generation_mix":[{"fuel":"biomass","percent":1.6},{"fuel":"coal","percent":0},{"fuel":"imports","percent":3.3},{"fuel":"gas","percent":9.3},{"fuel":"nuclear","percent":18.7},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":67}]},{"dno":"WPD South Wales","name":"South Wales","index":"very high","forecast":376,"region_id":7,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":95.3},{"fuel":"nuclear","percent":0},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":4.7}]},{"dno":"WPD West Midlands","name":"West Midlands","index":"high","forecast":213,"region_id":8,"generation_mix":[{"fuel":"biomass","percent":3.6},{"fuel":"coal","percent":0},{"fuel":"imports","percent":3.5},{"fuel":"gas","percent":53},{"fuel":"nuclear","percent":12.5},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":27.5}]},{"dno":"WPD East Midlands","name":"East Midlands","index":"high","forecast":227,"region_id":9,"generation_mix":[{"fuel":"biomass","percent":31.7},{"fuel":"coal","percent":0},{"fuel":"imports","percent":3.6},{"fuel":"gas","percent":47.9},{"fuel":"nuclear","percent":1.7},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":15}]},{"dno":"UKPN East","name":"East England","index":"high","forecast":208,"region_id":10,"generation_mix":[{"fuel":"biomass","percent":14.2},{"fuel":"coal","percent":0},{"fuel":"imports","percent":9.6},{"fuel":"gas","percent":47.3},{"fuel":"nuclear","percent":13.6},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0.1},{"fuel":"solar","percent":0},{"fuel":"wind","percent":15.3}]},{"dno":"WPD South West","name":"South West England","index":"very high","forecast":362,"region_id":11,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":91.8},{"fuel":"nuclear","percent":0},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":8.2}]},{"dno":"SSE South","name":"South England","index":"very high","forecast":249,"region_id":12,"generation_mix":[{"fuel":"biomass","percent":5.1},{"fuel":"coal","percent":0},{"fuel":"imports","percent":29.8},{"fuel":"gas","percent":57.8},{"fuel":"nuclear","percent":1.3},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":6}]},{"dno":"UKPN London","name":"London","index":"high","forecast":229,"region_id":13,"generation_mix":[{"fuel":"biomass","percent":3.3},{"fuel":"coal","percent":0},{"fuel":"imports","percent":35.2},{"fuel":"gas","percent":52.6},{"fuel":"nuclear","percent":2.3},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0.2},{"fuel":"solar","percent":0},{"fuel":"wind","percent":6.6}]},{"dno":"UKPN South East","name":"South East England","index":"high","forecast":228,"region_id":14,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":43.1},{"fuel":"gas","percent":52.1},{"fuel":"nuclear","percent":0},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0.3},{"fuel":"solar","percent":0},{"fuel":"wind","percent":4.5}]},{"dno":"England","name":"England","index":"high","forecast":175,"region_id":15,"generation_mix":[{"fuel":"biomass","percent":12},{"fuel":"coal","percent":0},{"fuel":"imports","percent":17.4},{"fuel":"gas","percent":39},{"fuel":"nuclear","percent":10.5},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0.1},{"fuel":"solar","percent":0},{"fuel":"wind","percent":21}]},{"dno":"Scotland","name":"Scotland","index":"very low","forecast":1,"region_id":16,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":0.2},{"fuel":"nuclear","percent":21},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":78.8}]},{"dno":"Wales","name":"Wales","index":"very high","forecast":325,"region_id":17,"generation_mix":[{"fuel":"biomass","percent":0},{"fuel":"coal","percent":0},{"fuel":"imports","percent":0},{"fuel":"gas","percent":82.4},{"fuel":"nuclear","percent":0},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":17.6}]},{"dno":"GB","name":"GB","index":"high","forecast":184,"region_id":18,"generation_mix":[{"fuel":"biomass","percent":11.2},{"fuel":"coal","percent":0},{"fuel":"imports","percent":16.2},{"fuel":"gas","percent":40.5},{"fuel":"nuclear","percent":10.2},{"fuel":"other","percent":0},{"fuel":"hydro","percent":0},{"fuel":"solar","percent":0},{"fuel":"wind","percent":22}]}]},"meta":{"timestamp":"2026-06-01T00:03:38.232Z","request_id":"0c78b6ab-3a35-49a9-9ee6-72ce8186024b"},"status":"ok","message":"Regional retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/factors":{"get":{"operationId":"get_v1_factors","tags":["Reference"],"summary":"Per-fuel emission factors","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"unit":"gCO2/kWh","factors":{"Oil":935,"Coal":937,"Wind":0,"Hydro":0,"Other":300,"Solar":0,"Biomass":120,"Nuclear":0,"Dutch Imports":474,"Irish Imports":458,"French Imports":53,"Pumped Storage":0,"Gas (Open Cycle)":651,"Gas (Combined Cycle)":394}},"meta":{"timestamp":"2026-06-01T00:03:40.214Z","request_id":"83f03b83-3180-4884-94a9-d4f58481b6fa"},"status":"ok","message":"Factors retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Usage notes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Great Britain electricity grid carbon intensity. /v1/intensity = the current national carbon intensity in gCO2/kWh (actual, forecast & index very low→very high); /v1/generation = the live generation mix by fuel (gas, wind, solar, nuclear, biomass, imports…) with renewable & zero-carbon percentages; /v1/forecast = today's half-hourly intensity timeline; /v1/regional = the 18 GB regions' intensity & mix; /v1/postcode?postcode=RG10 = intensity & mix for a UK postcode (outward code); /v1/factors = the gCO2/kWh emission factor of each fuel type. Covers Great Britain. Ideal for timing EV charging and appliances to the greenest hours.","source":"National Grid ESO Carbon Intensity API (carbonintensity.org.uk)","endpoints":["/v1/intensity","/v1/generation","/v1/forecast","/v1/regional","/v1/postcode","/v1/factors","/v1/meta"]},"meta":{"timestamp":"2026-06-01T00:03:40.269Z","request_id":"ce3f965a-f9b1-4d10-89b1-13fb1cc25194"},"status":"ok","message":"Meta retrieved","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":3400,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":410,"monthly_call_quota":44000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1340,"monthly_call_quota":212000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3820,"monthly_call_quota":1055000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/carbonintensity-api"}