DFES Energy Projections

This resource view is not available at the moment. Click here for more information.

Download resource

Integrate this resource

Access this data via a web API. Further information in the CKAN API guide (opens in new tab).

Endpoints

The Data API can be accessed via the following actions of the CKAN action API.

Create
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_create

Update / Insert
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_upsert

Query
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search

Querying
First 5 results:
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search?resource_id=7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1&limit=5

Results containing 'jones':
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search?resource_id=7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1&q=jones

Examples
  
    curl -X POST 'https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search' \
      -H "Content-Type: application/json" \
      -d '{
        "resource_id": "7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1",
        "limit": 5,
        "q": "jones"
      }'
  
  
    using System;
    using System.Net.Http;
    using System.Text;
    using System.Text.Json;
    using System.Threading.Tasks;

    var data = new {
      resource_id = "7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1", // the resource id
      limit = 5, // get 5 results
      q = "jones" // query for 'jones'
    };

    var url = "https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search";

    using var client = new HttpClient();
    var json = JsonSerializer.Serialize(data);
    var content = new StringContent(json, Encoding.UTF8, "application/json");

    try {
      var response = await client.PostAsync(url, content);
      response.EnsureSuccessStatusCode();
      var responseBody = await response.Content.ReadAsStringAsync();
      var result = JsonSerializer.Deserialize<JsonElement>(responseBody);
      Console.WriteLine($"Total results found: {result.GetProperty("result").GetProperty("total")}");
    } catch (HttpRequestException e) {
      Console.WriteLine($"Error fetching data: {e.Message}");
    }
  
  
    const data = {
      resource_id: '7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1', // the resource id
      limit: 5, // get 5 results
      q: 'jones' // query for 'jones'
    };

    const url = new URL('https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search');
    Object.keys(data).forEach(key => url.searchParams.append(key, data[key]));

    fetch(url)
      .then(response => response.json())
      .then(result => {
        console.log('Total results found: ' + result.result.total);
      })
      .catch(error => {
        console.error('Error fetching data:', error);
      });
  
  
    import urllib.request
    import urllib.error
    import json

    url = 'https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search?resource_id=7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1&limit=5&q=title:jones'  
    
    try:
        with urllib.request.urlopen(url) as response:
            data = json.loads(response.read().decode('utf-8'))
            print(f"Total results found: {data['result']['total']}")
    except urllib.error.URLError as e:
        print(f"Error fetching data: {e}")
  
  
    $data = [
      'resource_id' => '7f93dbe6-d4e0-4914-8ef5-2579e5c1f4a1', // the resource id
      'limit' => 5, // get 5 results
      'q' => 'jones' // query for 'jones'
    ];

    $url = 'https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search';

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
    curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);

    $response = curl_exec($ch);
    $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    curl_close($ch);

    if ($httpCode === 200) {
      $result = json_decode($response, true);
      echo "Total results found: " . $result['result']['total'];
    } else {
      echo "Error fetching data: HTTP " . $httpCode;
    }
  

Data Dictionary

Data Dictionary: Column definitions and metadata for this resource
Column Type Label Description Example
energy_type text Not provided-

Categorisation of whether the energy being described is being consumed or generated

Demand
local_authority text nan

Local authority area

Cheltenham
percentage_met_by_renewables numeric %

The percentage of the consumption in that area that is met by renewables

5.959
scenario text nan

DFES Scenario

Counterfactual
TWh_total numeric TWh

Total energy

0.764499
year numeric Date (YYYY)

Year of the forecast, where 0 is the baseline

2050