Home > Applications and Services > OGC web services

OGC web services

Get Sentinel data in your on-line or desktop GIS application

Using our WMS/WMTS/WCS service you can avoid the complexities of Sentinel satellite data. No need to download imagery from SciHub, use the JP2 format, process, re-project, or mosaic. No need for large storage volumes and lots of processing power. Simply add a new datasource in your GIS application (ArcGIS, QGIS, OpenLayers, Google Earth or any other app supporting standard services) and start using the data right away!

    OGC web services

    Check which operations can be used with WMS, WMTS, WFS or WCS requests:

    WMS request    WMTS request    WFS request    WCS request

    Custom service URL parameters

    In addition to the standard request parameters, the WMS services also supports many custom URL parameters.

    Custom URL parameters

    WMS configuration

    Since WMS parameters (for historical lookup, cloud coverage filtering, advanced styles, etc.) are not supported by all GIS clients, we have implemented our own WMS configuration tool, which allows you to configure WMS instances to your needs.

    Every registered user can add as many unique-named instances as he/she chooses. An instance acts as a separate WMS/WMTS/WFS/WCS service and each can be configured to provide a certain set of layers with different settings. It is therefore possible to create multiple instances each with a different set of layers fulfilling various needs. Instances may contain an arbitrary number of layers. Each layer is associated with either one of the raw Sentinel-2 bands or the products (such as TRUE_COLOR) and product styles. Layers are also additionally configurable using the settings defined above, such as MAXCC, TIME, the max area limitation, etc. The instance itself also has some global settings for default values on all layers, like image quality.

    To configure your instances and layers, go to:

    WMS configurator

    To use the WMS or WMTS service use the provided WMS or WMTS URL which contains the selected instance's ID.

    Output image formats

    For the requests that provide image output, Sentinel-2 WMS/WMTS/WCS services can generate these output formats:

    • image/png - lossless image format for 1 (grayscale) or 3 (RGB) components, with optional alpha channel (when TRANSPARENT=1)
    • image/jpeg - lossy image format for 1 (grayscale) or 3 (RGB) components, without alpha channel. The quality can be controlled via the "QUALITY" URL parameter.
    • image/jp2 - JPEG2000 JP2 image format, with embedded GML metadata. Single layered.
    • image/jpx - JPEG2000 JPX image format, with embedded GML metadata. Each Sentinel tile is represented as a separate JPX layer.
    • image/tiff - lossless image format for any number of the components, with optional alpha channel (when TRANSPARENT=1). The precision can be selected:
      • image/tiff;depth=8 - force 8-bit output
      • image/tiff;depth=16 - force 16-bit output
      • image/tiff;depth=32f - force 32-bit float output

    When precision is not defined, is it automatically selected from the style used. Reflectance and sensor styles will generate 32-bit float output, but RGB, grayscale, color gradients and color maps will generate 16-bit output.

    • image/raw - raw file output, without any header, with interleaved components. The precision can be selected:
      • image/raw;depth=8 - force 8-bit output
      • image/raw;depth=16 - force 16-bit output
      • image/raw;depth=32f - force 32-bit float (little-endian) output

    When precision is not defined, is it automatically selected from the style used. Reflectance and sensor styles will generate 32-bit float output, but RGB, grayscale, color gradients and color maps will generate 16-bit output.

    Atmospheric correction

    It is possible to get of a good estimation of bottom-of-the-atmosphere reflectance as opposed to top-of-the-atmosphere reflectance (which is the default) by enabling the atmospheric correction filter. This filter is a runtime-optimised version of ESA's provided Sen2Cor processor (Sen2Cor is applied at product-scale level and then statistically distributed to tiles).

    To enable, either set the Atmospheric correction to 'Full' within the Style Parameters in the WMS Configurator, or add the ATMFILTER parameter to you request URL with the value ATMCOR. Example:


    There are two atmospheric correction filters available, both of which use precomputed data:

    • DOS1 being simpler and somewhat less accurate as well as available only for RGB bands.
    • ATMCOR is the one based on Sen2cor and is available for all bands, with the exception of band 10, but might not be available for all tiles. In this case the system will use DOS1 calculation instead for those tiles.

    These filters can be used with any Sentinel imagery product, however if a filter will only affect bands for which it has data. This should not be a problem with ATMCOR but makes NDVI only partially corrected with DOS1, for example, since it will adjust the R band but not the NIR band.

    Preview modes

    Preview modes make it possible to receive data from across all zoom levels. This is done by adding the URL parameter PREVIEW. Optional, default="0". Supported values:

    Values info


    Only high resolution data from Sentinel-2 is used. This corresponds to real world distances up to 200m/pixel.


    Up to 200m/pixel it displays the same data as would PREVIEW=0. In addition to this it uses lower resolution data for real world distances up to 1500m/pixel.


    Up to 1500m/pixel it displays the same data as would PREVIEW=1. It uses a pregenerated image pyramid at views larger than 1500m/pixel and will only display TRUE_COLOR data, regardless of the layer choice. Because the pyramid is pregenerated this also means that at these scales we are unable to use other Custom service URL parameters.

    Custom evaluation script usage

    A custom evaluation script can be used by adding the URL parameter EVALSCRIPT=<base64_encoded_script>. Note that the base64 encoded script must also be escaped into valid URL syntax; '+' becomes '%2B', '/' becomes '%2F' and '=' becomes '%3D'. It is also possible to select the "Custom" product for the layer in the WMS configurator which enables the option to edit the custom script; here all that is needed is the raw Javascript code while the system handles the rest internally. In both case the script must be valid Javascript. The script can use any Javascript function or language structures, as long as a valid array of numbers with fixed number of elements is returned at any point. The number of the returned array elements represent the number of the components in the output image. Note that JPEG and PNG can only support 1 or 3 components. The returned numbers must be normalized into 0..1 range, where 0 will become blackest component value and 1 will become the whitest one. The values outside this range will be clamped back into 0..1 range. The script can use any or all of the Sentinel-2 bands, which are represented as B01 to B12 (including B8A) variables. Band variable are normalized into 0..1 range, where 0 represent the minimum and 1 the maximum input value.


    return [B04, B03, B02]

    var value = (B05 - B02) / (B05 + B02);
    return [value, 1 - value, 0.5]

    Beside the standard Javascript functions, Sentinel WMS service also provides two additional utility functions:

    Utility functions info

    colorMap(inputNumber, indexArray, outputValueArray)

    This method returns the value in "outputValueArray" at the same index as is the location of "inputValue" in the "indexArray". For example, when indexArray = [0, 0.2, 0.4], inputValue in the interval [0, 0.2) will make coloMap to return the outputValueArray value at index 0, inputValue in the interval [0.2, 0.4) will return value at index 1, etc. InputValue lesser than the first indexArray value will return the first value in outputValueArray and inputValue greater than the last indexArray value will return the last outputValueArray value. outputValueArray can contains single numbers or even arrays of numbers (in which case, colorMap will return an array instead of a single number).

    colorBlend(inputNumber, indexArray, outputValueArray)

    similar to colorMap, except the returned value is interpolated between two consecutive values in outputValueArray.


    var value = colorMap(B04, [0, 0.2, 0.4, 0.6, 0.8, 1], [0, 0.1, 0.25, 0.4, 0.75, 1]); return [value, value, value];

    return colorBlend(B04, [0, 0.2, 0.4, 0.6, 0.8, 1], [[0,0,0], [0.1,0.2,0.5], [0.25,0.4,0.5], [0.4,0.6,0.5], [0.75,0.8,0.5], [1,1,0.5]]);


    Sentinel data is free. However, we still have to cover the infrastructure for processing this and distributing them to you. Prices start with 20 EUR per month for consumers and research users and 99 EUR per month for commercial users.

    Enterprise level service and in-house deployments are available as well.

    Check Pricing page

    Apply for trial account here.