Live Detailed Power Cuts

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=a1365982-4e05-463c-8304-8323a2ba0ccd&limit=5

Results containing 'jones':
https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search?resource_id=a1365982-4e05-463c-8304-8323a2ba0ccd&q=jones

Examples
  
    curl -X POST 'https://connecteddata.nationalgrid.co.uk/api/3/action/datastore_search' \
      -H "Content-Type: application/json" \
      -d '{
        "resource_id": "a1365982-4e05-463c-8304-8323a2ba0ccd",
        "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 = "a1365982-4e05-463c-8304-8323a2ba0ccd", // 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: 'a1365982-4e05-463c-8304-8323a2ba0ccd', // 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=a1365982-4e05-463c-8304-8323a2ba0ccd&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' => 'a1365982-4e05-463c-8304-8323a2ba0ccd', // 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
category text Not provided- Not provided- Not provided-
confirmed_off numeric Not provided- Not provided- Not provided-
date_of_completion text Not provided- Not provided- Not provided-
date_of_reported_fault timestamp Not provided- Not provided- Not provided-
date_of_restoration text Not provided- Not provided- Not provided-
etr timestamp Not provided- Not provided- Not provided-
fault_id text Not provided- Not provided- Not provided-
last_updated timestamp Not provided- Not provided- Not provided-
licence_area text Not provided- Not provided- Not provided-
location_latitude numeric Not provided- Not provided- Not provided-
location_longitude numeric Not provided- Not provided- Not provided-
number_of_psr_critical_customers numeric Not provided- Not provided- Not provided-
number_of_psr_customers numeric Not provided- Not provided- Not provided-
planned text Not provided- Not provided- Not provided-
planned_outage_end_date timestamp Not provided- Not provided- Not provided-
planned_outage_off numeric Not provided- Not provided- Not provided-
planned_outage_reason text Not provided- Not provided- Not provided-
planned_outage_start_date timestamp Not provided- Not provided- Not provided-
postcode text Not provided- Not provided- Not provided-
predicted_off numeric Not provided- Not provided- Not provided-
resource_status text Not provided- Not provided- Not provided-
restored numeric Not provided- Not provided- Not provided-
status text Not provided- Not provided- Not provided-
upload_date timestamp Not provided- Not provided- Not provided-
voltage text Not provided- Not provided- Not provided-