Carbon Intensity API Great Britain
Scroll down for code samples and responses.
Introduction
This is the Official Carbon Intensity API for Great Britain developed by National Energy System Operator (NESO). You can find out more about carbon intensity at carbonintensity.org.uk.
Summary
National Energy System Operator’s Carbon Intensity API provides an indicative trend of regional carbon intensity of the electricity system in Great Britain (GB) up to 2 days ahead of real-time. It provides programmatic and timely access to both forecast and estimated carbon intensity data. The Carbon Intensity forecast includes CO2 emissions related to electricity generation only. The includes emissions from all large metered power stations, interconnector imports, transmission and distribution losses, and accounts for national electricity demand, embedded wind and solar generation.
Base URL: api.carbonintensity.org.uk
Further Information
Methodology: National Forecast and Regional Forecast
Terms: API Terms of Use
Email: Lyndon Ruff
License: CC BY 4.0
Carbon Intensity - National
Carbon Intensity data
GET /intensity
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour
Get Carbon Intensity data for current half hour. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/date
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/date \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/date HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/date',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/date',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/date',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/date', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/date");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for today
Get Carbon Intensity data for today. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/date/{date}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/date/{date} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/date/{date} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/date/{date}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/date/{date}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/date/{date}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/date/{date}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/date/{date}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for specific date
Get Carbon Intensity data for a specific date. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| date | path | string | true | Date in YYYY-MM-DD format e.g. 2017-08-25 |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/date/{date}/{period}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/date/{date}/{period} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/date/{date}/{period} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/date/{date}/{period}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/date/{date}/{period}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/date/{date}/{period}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/date/{date}/{period}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/date/{date}/{period}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for specific date and period
Get Carbon Intensity data for a specific date and half hour settlement period. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| date | path | string | true | Date in YYYY-MM-DD format e.g. 2017-08-25 |
| period | path | string | true | Half hour settlement period between 1-48 e.g. 42 |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/factors
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/factors \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/factors HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/factors',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/factors',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/factors',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/factors', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/factors");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity factors for each fuel type
Get Carbon Intensity factors for each fuel type.
Example responses
{
"data":[
{
"Biomass": 120,
"Coal": 937,
"Dutch Imports": 474,
"French Imports": 53,
"Gas (Combined Cycle)": 394,
"Gas (Open Cycle)": 651,
"Hydro": 0,
"Irish Imports": 458,
"Nuclear": 0,
"Oil": 935,
"Other": 300,
"Pumped Storage": 0,
"Solar": 0,
"Wind": 0
}]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Factors |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/{from}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/{from} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/{from} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/{from}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/{from}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/{from}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/{from}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/{from}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for specific half hour period
Get Carbon Intensity data for specific half hour period. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/{from}/fw24h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/{from}/fw24h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/{from}/fw24h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/{from}/fw24h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/{from}/fw24h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/{from}/fw24h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/{from}/fw24h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/{from}/fw24h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data 24hrs forwards from specific datetime
Get Carbon Intensity data between the {from} datetime specified and 24hrs before. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/{from}/fw48h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/{from}/fw48h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/{from}/fw48h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/{from}/fw48h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/{from}/fw48h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/{from}/fw48h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/{from}/fw48h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/{from}/fw48h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data 48hrs forwards from specific datetime
Get Carbon Intensity data between the {from} datetime specified and 48hrs after. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/{from}/pt24h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/{from}/pt24h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/{from}/pt24h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/{from}/pt24h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/{from}/pt24h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/{from}/pt24h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/{from}/pt24h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/{from}/pt24h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data 24hrs in the past of a specific datetime
Get Carbon Intensity data between the {from} datetime specified and 24hrs before. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/{from}/{to}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/{from}/{to} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/{from}/{to} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/{from}/{to}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/{from}/{to}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/{from}/{to}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/{from}/{to}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/{from}/{to}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data between from and to datetime
Get Carbon Intensity data between the {from} and {to} datetimes. The maximum date range is limited to 14 days. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Intensity |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
Statistics
Carbon Intensity statistics
GET /intensity/stats/{from}/{to}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/stats/{from}/{to} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/stats/{from}/{to} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity statistics between from and to datetime
Get Carbon Intensity statistics (average, max, mean) between from and to datetime. The maximum date range is limited to 30 days. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-26T17:00Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"max": 320,
"average": 266,
"min": 180,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Statistics |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /intensity/stats/{from}/{to}/{block}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/intensity/stats/{from}/{to}/{block}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get block average Carbon Intensity statistics between from and to datetime
Get block average Carbon Intensity statistics (average, max, mean) between from and to datetime. The maximum date range is limited to 30 days. The block length must be between 1 and 24 hours and should be an integer. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. '2017-08-25T12:35Z' |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. '2017-08-26T17:00Z' |
| block | path | string | true | Block length in hours i.e. a block length of 2 hrs over a 24 hr period returns 12 items with the average, max, min for each 2 hr block e.g. 2017-08-26T17:00Z/2017-08-27T17:00Z/2 |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"max": 320,
"average": 266,
"min": 180,
"index": "moderate"
}
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Statistics |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
Generation Mixbeta
Generation Mix for the GB power system. Contains the following fuel types: gas, coal, nuclear, biomass, hydro, imports, solar, wind, other.
GET /generation
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/generation \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/generation HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/generation',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/generation',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/generation',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/generation', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/generation");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get generation mix for current half hour
Get generation mix for current half hour. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 1.1
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Generation |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /generation/{from}/pt24h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/generation/{from}/pt24h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/generation/{from}/pt24h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/generation/{from}/pt24h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/generation/{from}/pt24h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/generation/{from}/pt24h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/generation/{from}/pt24h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/generation/{from}/pt24h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get generation mix for the past 24 hours
Get generation mix for the past 24 hours. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 1.1
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Generation |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /generation/{from}/{to}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/generation/{from}/{to} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/generation/{from}/{to} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/generation/{from}/{to}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/generation/{from}/{to}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/generation/{from}/{to},
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/generation/{from}/{to}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/generation/{from}/{to}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get generation mix between from and to datetimes
Get generation mix between from and to datetimes. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Generation |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
Carbon Intensity - Regionalbeta
Regional Carbon Intensity data
GET /regional
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for GB regions
Get Regional Carbon Intensity data for current half hour. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/england
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/england \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/england',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/england',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/england',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/england', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/england");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for England
Get Carbon Intensity data for current half hour for England. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 15,
"dnoregion": "England",
"shortname": "England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/scotland
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/scotland \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/scotland',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/scotland',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/scotland',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/scotland', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/scotland");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for Scotland
Get Carbon Intensity data for current half hour for Scotland. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 16,
"dnoregion": "Scotland",
"shortname": "Scotland",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/wales
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/wales \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/wales',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/wales',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/wales',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/wales', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/wales");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for Wales
Get Carbon Intensity data for current half hour for Wales. All times provided in UTC (+00:00).
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 17,
"dnoregion": "Wales",
"shortname": "Wales",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/postcode/{postcode}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/postcode/{postcode} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/postcode/{postcode} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/postcode/{postcode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/postcode/{postcode}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/postcode/{postcode}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/postcode/{postcode}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/postcode/{postcode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for specified postcode
Get Regional Carbon Intensity data for current half hour for specified postcode. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| postcode | path | string | true | Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/regionid/{regionid}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/regionid/{regionid} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/regionid/{regionid} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/regionid/{regionid}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/regionid/{regionid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/regionid/{regionid}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/regionid/{regionid}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/regionid/{regionid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for current half hour for specified region
Get Regional Carbon Intensity data for current half hour for specified region. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| regionid | path | string | true | Region ID of GB region. See list of Region IDs here. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw24h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 24h for GB regions
Get Regional Carbon Intensity data for next 24h. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw24h/postcode/{postcode}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/postcode/{postcode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 24h for specified postcode
Get Regional Carbon Intensity data for next 24h for specified postcode. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| postcode | path | string | true | Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw24h/regionid/{regionid}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw24h/regionid/{regionid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 24h for specified region
Get Regional Carbon Intensity data for next 24h for specified region. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| regionid | path | string | true | Region ID of GB region. See list of Region IDs here. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw48h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 48h for GB regions
Get Regional Carbon Intensity data for next 48h. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw48h/postcode/{postcode}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/postcode/{postcode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 48h for specified postcode
Get Regional Carbon Intensity data for next 48h for specified postcode. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| postcode | path | string | true | Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/fw48h/regionid/{regionid}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/fw48h/regionid/{regionid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for next 48h for specified region
Get Regional Carbon Intensity data for next 48h for specified region. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| regionid | path | string | true | Region ID of GB region. See list of Region IDs here. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/pt24h
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for past 24h for GB regions
Get Regional Carbon Intensity data for past 24h. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/pt24h/postcode/{postcode}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/postcode/{postcode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for past 24h for specified postcode
Get Regional Carbon Intensity data for past 24h for specified postcode. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| postcode | path | string | true | Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/pt24h/regionid/{regionid}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/pt24h/regionid/{regionid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data for past 24h for specified region
Get Regional Carbon Intensity data for past 24h for specified region. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| regionid | path | string | true | Region ID of GB region. See list of Region IDs here. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/{to}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data between specified datetimes for GB regions
Get Regional Carbon Intensity data between specified datetimes. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
Example responses
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional From-To |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/{to}/postcode/{postcode}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/postcode/{postcode}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data between specified datetimes for specified postcode
Get Regional Carbon Intensity data between specified datetimes for specified postcode. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| postcode | path | string | true | Outward postcode i.e. RG41 or SW1 or TF8. Do not include full postcode, outward postcode only. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
GET /regional/intensity/{from}/{to}/regionid/{regionid}
Code samples
# You can also use wget
curl -X GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid} \
-H 'Accept: application/json'
GET https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid} HTTP/1.1
Host: api.carbonintensity.org.uk
Accept: application/json
var headers = {
'Accept':'application/json'
};
$.ajax({
url: 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid}',
method: 'get',
headers: headers,
success: function(data) {
console.log(JSON.stringify(data));
}
})
const request = require('node-fetch');
const headers = {
'Accept':'application/json'
};
fetch('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid}',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid}',
params: {}, headers: headers
p JSON.parse(result)
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get('https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid}', params={}, headers = headers)
print r.json()
URL obj = new URL("https://api.carbonintensity.org.uk/regional/intensity/{from}/{to}/regionid/{regionid}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
Get Carbon Intensity data between specified datetimes for specified region
Get Regional Carbon Intensity data between specified datetimes for specified region. All times provided in UTC (+00:00).
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| from | path | string | true | Start datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| to | path | string | true | End datetime in in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z |
| regionid | path | string | true | Region ID of GB region. See list of Region IDs here. |
Example responses
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix": [
{
"fuel": "gas",
"perc": 43.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 4.2
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.2
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.8
},
{
"fuel": "solar",
"perc": 18.1
}
]
}]
}]
}
{
"error":{
"code": "400 Bad Request",
"message": "string"
}
}
{
"error":{
"code": "500 Internal Server Error",
"message": "string"
}
}
Responses
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | 200 response | Regional ID |
| 400 | Bad Request | 400 response | Error |
| 500 | Internal Server Error | 500 response | Error |
Response Headers
| Status | Header | Type | Format | Description |
|---|---|---|---|---|
| 200 | Access-Control-Allow-Origin | string |
Schemas
Intensity
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"actual": 263,
"index": "moderate"
}
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| from | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:30Z. All times provided in UTC (+00:00). |
| to | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:30Z. All times provided in UTC (+00:00). |
| intensity | object | false | Carbon Intensity data (forecast, actual, index). |
| »forecast | number | false | The forecast Carbon Intensity for the half hour in units gCO2/kWh. |
| »actual | number | false | The estimated actual Carbon Intensity for the half hour in units gCO2/kWh. |
| »index | string | false | The index is a measure of the Carbon Intensity represented on a scale between 'very low', 'low', 'moderate', 'high', 'very high'. |
Factors
{
"data":[
{
"Biomass": 120,
"Coal": 937,
"Dutch Imports": 474,
"French Imports": 53,
"Gas (Combined Cycle)": 394,
"Gas (Open Cycle)": 651,
"Hydro": 0,
"Irish Imports": 458,
"Nuclear": 0,
"Oil": 935,
"Other": 300,
"Pumped Storage": 0,
"Solar": 0,
"Wind": 0
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| Biomass | number | false | Carbon intensity factor of average biomass power plants in gCO2/kWh. |
| Coal | number | false | Carbon intensity factor of average coal power plants in gCO2/kWh. |
| Dutch Imports | number | false | Carbon intensity factor of average long-term Dutch imports in gCO2/kWh. |
| French Imports | number | false | Carbon intensity factor of average long-term French imports in gCO2/kWh. |
| Gas (Combined Cycle) | number | false | Carbon intensity factor of average CCGT power plants in gCO2/kWh. |
| Gas (Open Cycle) | number | false | Carbon intensity factor of average OCGT power plants in gCO2/kWh. |
| Hydro | number | false | Carbon intensity factor of hydro in gCO2/kWh. |
| Irish Imports | number | false | Carbon intensity factor of average long-term Irish imports in gCO2/kWh. |
| Nuclear | number | false | Carbon intensity factor of nuclear in gCO2/kWh. |
| Oil | number | false | Carbon intensity factor of oil power plants in gCO2/kWh. |
| Other | number | false | Carbon intensity factor of power plants categorised as other in gCO2/kWh. |
| Pumped Storage | number | false | Carbon intensity factor of pumped hydro-electric storage in gCO2/kWh. |
| Solar | number | false | Carbon intensity factor of solar in gCO2/kWh. |
| Wind | number | false | Carbon intensity factor of wind in gCO2/kWh. |
Error
{
"error":{
"code": "string",
"message": "string"
}
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| error | object | false | Error object. |
| code | string | false | The HTTP error code produced. |
| message | string | false | The error message produced. |
Statistics
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"max": 320,
"average": 266,
"min": 180,
"index": "moderate"
}
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| from | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z. All times provided in UTC (+00:00). |
| to | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2017-08-25T12:35Z. All times provided in UTC (+00:00). |
| intensity | object | false | Carbon Intensity statistics (max, average, min, index). |
| »max | number | false | The maximum Carbon Intensity for the datetime range in units gCO2/kWh. Future periods use forecast data. Past data uses actual data. |
| »average | number | false | The average Carbon Intensity for the datetime range in units gCO2/kWh. Future periods use forecast data. Past data uses actual data. |
| »min | number | false | The maximum Carbon Intensity for the datetime range in units gCO2/kWh. Future periods use forecast data. Past data uses actual data. |
| »index | string | false | The index is a measure of the Carbon Intensity represented on a scale between 'very low', 'low', 'moderate', 'high', 'very high'. |
Regional From-To
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"regions":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix":[
{
"fuel": "gas",
"perc": 41.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 3.4
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 1.2
},
{
"fuel": "storage",
"perc": 0.8
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.9
},
{
"fuel": "solar",
"perc": 20.9
}
]
}]
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| from | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:00Z. All times provided in UTC (+00:00). |
| to | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:30Z. All times provided in UTC (+00:00). |
| regions | object | false | GB regions (regionid, dnoregion, shortname, intensity). |
| »regionid | number | false | Region ID 1-17. |
| »dnoregion | string | false | Name of Distribution Network Operator (DNO) in region. |
| »shortname | string | false | Name of region. |
| »postcode | string | false | Outward postcode i.e. RG10. |
| »intensity | object | false | Carbon Intensity data (forecast, actual, index). |
| »»forecast | number | false | The forecast Carbon Intensity for the half hour in units gCO2/kWh. |
| »»index | string | false | The index is a measure of the Carbon Intensity represented on a scale between 'very low', 'low', 'moderate', 'high', 'very high'. |
| »generationmix | object | false | Fuel types. |
| »»fuel | string | false | Name of fuel type. |
| »»perc | number | false | Generation output of fuel type as a percentage of total generation. |
Regional ID
{
"data":[
{
"regionid": 3,
"dnoregion": "Electricity North West",
"shortname": "North West England",
"postcode": "RG10",
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"intensity": {
"forecast": 266,
"index": "moderate"
}
"generationmix":[
{
"fuel": "gas",
"perc": 41.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 3.4
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 1.2
},
{
"fuel": "storage",
"perc": 0.8
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.9
},
{
"fuel": "solar",
"perc": 20.9
}
]
}]
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| regionid | number | false | Region ID 1-17. |
| dnoregion | string | false | Name of Distribution Network Operator (DNO) in region. |
| shortname | string | false | Name of region. |
| postcode | string | false | Outward postcode i.e. RG10. |
| data | object | false | GB regions (regionid, dnoregion, shortname, intensity). |
| »from | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:00Z. All times provided in UTC (+00:00). |
| »to | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:30Z. All times provided in UTC (+00:00). |
| »intensity | object | false | Carbon Intensity data (forecast, actual, index). |
| »»forecast | number | false | The forecast Carbon Intensity for the half hour in units gCO2/kWh. |
| »»index | string | false | The index is a measure of the Carbon Intensity represented on a scale between 'very low', 'low', 'moderate', 'high', 'very high'. |
| »generationmix | object | false | Fuel types. |
| »»fuel | string | false | Name of fuel type. |
| »»perc | number | false | Generation output of fuel type as a percentage of total generation. |
Generation
{
"data":[
{
"from": "2018-01-20T12:00Z",
"to": "2018-01-20T12:30Z",
"generationmix":[
{
"fuel": "gas",
"perc": 41.6
},
{
"fuel": "coal",
"perc": 0.7
},
{
"fuel": "biomass",
"perc": 3.4
},
{
"fuel": "nuclear",
"perc": 17.6
},
{
"fuel": "hydro",
"perc": 2.0
},
{
"fuel": "imports",
"perc": 6.5
},
{
"fuel": "other",
"perc": 0.3
},
{
"fuel": "wind",
"perc": 6.9
},
{
"fuel": "solar",
"perc": 20.9
}
]
}]
}
Properties
| Name | Type | Required | Description |
|---|---|---|---|
| data | object | false | Data object. |
| from | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:00Z. All times provided in UTC (+00:00). |
| to | string | false | Datetime in ISO8601 format YYYY-MM-DDThh:mmZ e.g. 2018-01-20T12:30Z. All times provided in UTC (+00:00). |
| generationmix | object | false | Fuel types. |
| »fuel | string | false | Name of fuel type. |
| »perc | number | false | Generation output of fuel type as a percentage of total generation. |
Regions
List of GB Regions
| Region ID | Shortname |
|---|---|
| 1 | North Scotland |
| 2 | South Scotland |
| 3 | North West England |
| 4 | North East England |
| 5 | Yorkshire |
| 6 | North Wales |
| 7 | South Wales |
| 8 | West Midlands |
| 9 | East Midlands |
| 10 | East England |
| 11 | South West England |
| 12 | South England |
| 13 | London |
| 14 | South East England |
| 15 | England |
| 16 | Scotland |
| 17 | Wales |