The Sentinel Hub WMS service conforms to the WMS standard. It not only provides access to Sentinel-2's 13 unprocessed bands (B01 through B12 - with B8A following B08) but also to processed products such as true color imagery and NDVI. Access to the service is done via a custom server instance URL which will be provided to you upon registration.
See our OGC API Webinar, which will guide you through different OGC services, including WMS, help you understand the structure, show you how to run the requests in different environments and how it can be integrated with QGIS, ArcGIS and web applications.
It is possible to obtain multiple separate instances (which act as separate WMS services) each with their own configuration and list of layers which will likely be useful to advanced users.
The base URL for the WMS service:
https://services.sentinel-hub.com/ogc/wms/{INSTANCE_ID}
For example, a GetCapabilities
request can be done by changing the {INSTANCE_ID} to your provided instance ID and opening the following URL:
https://services.sentinel-hub.com/ogc/wms/{INSTANCE_ID}?REQUEST=GetCapabilities
Some of the most common provided products:
List of all available products available EO products
The service supports standard WMS requests: GetMap
, GetCapabilities
, GetFeatureInfo
, and also some custom requests. Supported WMS versions are 1.1.1 and 1.3.0.
If you want to force a specific output format (e.g. float 32 or uint 16) set sampleType
in your evalscript as explained here. Use dataMask
band in your evalscript as explained here to make pixels transparent.
For a list of supported coordinate reference systems check the GetCapabilities
result.
Standard common WMS URL parameters (parameter names are case insensitive, values are case sensitive):
WMS parameter | info |
---|---|
SERVICE |
Required, must be "WMS". |
VERSION |
WMS version standard. Optional, default: "1.3.0". Supported values: "1.1.1" and "1.3.0". |
REQUEST |
What is requested, valid values: |
TIME |
(when REQUEST = |
In addition to the standard WMS URL parameters, the WMS service also supports many custom URL parameters. See Custom service URL parameters for details.
Standard GetMap
request URL parameters:
WMS parameter | info |
---|---|
BBOX |
Specifies the bounding box of the requested image. Coordinates must be in the specified coordinate reference system. The four coordinates representing the top-left and bottom-right of the bounding box must be separated by commas. Required. Example: BBOX=-13152499,4038942,-13115771,4020692 |
CRS |
(when VERSION 1.3.0 or higher) the coordinate reference system in which the BBOX is specified and in which to return the image. Optional, default: "EPSG:3857". For a list of available CRSs see the GetCapabilities result. |
SRS |
(when VERSION 1.1.1 or lower) the coordinate reference system in which the BBOX is specified and in which to return the image. Optional, default: "EPSG:3857". For a list of available CRSs see the |
FORMAT |
The returned image format. Optional, default: "image/png", other options: "image/jpeg", "image/tiff". Detailed information about supported values. |
WIDTH |
Returned image width in pixels. Required, unless RESX is used. If WIDTH is used, HEIGHT is also required. |
HEIGHT |
Returned image height in pixels. Required, unless RESY is used. If HEIGHT is used, WIDTH is also required. |
RESX |
Returned horizontal image resolution in UTM units (if m is added, e.g. 10m, in metrical units). (optional instead of WIDTH). If used, RESY is also required. |
RESY |
Returned vertical image resolution in UTM units (if m is added, e.g. 10m, in metrical units). (optional instead of HEIGHT). If used, RESX is also required. |
LAYERS |
The preconfigured layer (image) to be returned. You must specify exactly one layer and optionally add additional overlays. Required. Example: LAYERS=TRUE_COLOR,OUTLINE |
EXCEPTIONS |
The exception format. Optional, default: "XML". Supported values: "XML", "INIMAGE", "BLANK" (all three for version >= 1.3.0), "application/vnd.ogc.se_xml", "application/vnd.ogc.se_inimage", "application/vnd.ogc.se_blank" (all three for version < 1.3.0). |
Standard GetFeatureInfo
request URL parameters:
WMS parameter | info |
---|---|
BBOX |
Specifies the bounding box of the area which contains the queried point. Coordinates are in the specified CRS/SRS. Four coordinates representing the top-left and bottom-right of the bounding box must be separated by comma. Required. Example: BBOX=-13152499,4038942,-13115771,4020692 |
CRS |
(when VERSION 1.3.0 or higher) the coordinate reference system in which the BBOX is specified. Optional, default: "EPSG:3857". For a list of available CRSs see the |
SRS |
(when VERSION 1.1.1 or lower) the coordinate reference system in which the BBOX is specified. Optional, default: "EPSG:3857". For a list of available CRSs see the |
WIDTH |
The image-space width containing the queried point, in pixels. Required. |
HEIGHT |
The image-space height containing the queried point, in pixels. Required. |
INFO_FORMAT |
The output format of the feature info content. Check GetCapabilities for a list of supported formats. |
QUERY_LAYERS |
The layers for which the feature info is requested. |
I and J |
(when VERSION 1.3.0 or higher) The X and Y coordinates in the output image space in pixels of the feature queried. |
X and Y |
(when VERSION 1.1.1 or lower) The X and Y coordinates in the output image space in pixels of the feature queried. |
The example below shows the contents of the result object from parsing a WMS capabilities response:
<!DOCTYPE html> <html> <head> <title>WMS Capabilities Parsing</title> <link rel="stylesheet" href="http://openlayers.org/en/v3.17.1/css/ol.css" type="text/css"> <script src="http://openlayers.org/en/v3.17.1/build/ol.js"></script> <style> .log-container { height: 400px; overflow: scroll; } </style> </head><body> <pre class=“log-container”><code id=“log”></code></pre> <script> var parser = new ol.format.WMSCapabilities(); fetch('<ENTER YOUR URL HERE>').then(function(response) { return response.text(); }).then(function(text) { var result = parser.read(text); document.getElementById(‘log’).innerText = JSON.stringify(result, null, 2); }); </script> </body> </html>