Register for an Authorisation Key

Once you have completed the form below, a member of our team will be in touch to discuss your intended usage & costs..

Shoothill’s FloodAlerts API for England and Wales

The flood service (and API) is based on technology developed by Shoothill.

In most cases you will require an access & support licence to use the Shoothill API. This licence will require annual renewal. Once you have completed the form on the right, a member of our team will be in touch to discuss your intended usage & costs.

The service provides secure programmatic access to the Environment Agency Flood data and returns this data in either XML or JSON formats. The service’s data is updated every 15 minutes and provides the following capabilities:

  • Current full list of Flood Alerts – all flood alerts in force by the Environment Agency
  • Current full list of Flood Alerts filtered by Severity – All flood alerts that are of a specific state. States include Severe, Warning and Alert.
  • Current Tile set ID for the current Flood Alerts Tile Layer – Provides access to a tile layer for use on Web mapping platforms. The tile layer shows the extent of the flood warnings currently in force.
  • Get Proximity Flood Alerts by Lat\Long\Radius – Gets current flood alerts that are within a certain distance from a supplied latitude and longitude.
  • Current List of Polygon IDs that are flooding – Gives a list of all currently in force flood polygons.
  • Get Static map of area being flooded by Lat\Long – Gets a static map of current flood alerts.
  • Request full Polygon set ID – Gets the Identifier of a group of Polygons that are currently flooding.

You can access the API document help page here.

Getting Started

To use the API you will need an API key. This can be obtained by filling in the form above. Once you have obtained an API key then you can use this to query the API. The API is located at

Using the API with C#

  1. A sample request to get all flood alerts is shown below.
    using (WebClient wc = new WebClient())
         string response = wc.DownloadString("<your key here>");

Authenticating with the API using PHP

  1. Sample request is shown in PHP
    ini_set('display_errors', 1);
    $apiKey = '<your api key here>';
    $url = ''.$apiKey;
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_HTTPGET, 1);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HTTPHEADER,array('Content-Type: application/json'));
    $html = curl_exec($ch);
    echo $html;
    return $html;

Authenticating using CURL command line

  1. curl --insecure --request GET<your key here> --output authresponse.json