Please bear with me since this is my first time asking something Weather related.

What would be the best source for getting Sea and Weather related data like

  • Wind Wave Height (m)
  • Wind Wave Period (s)
  • Wind Wave Direction
  • Significant Wave Height (m)
  • Swell Height (m)
  • Swell Period (s)
  • Swell Direction
  • Surface Currents (kts)

  • Air Pressure (hPa)
  • Wind Speed @ 10m (kts)
  • Wind speed and direction (barbs)
  • Relative Humidity (%)
  • Air Temp @ 0m (C)
  • Air Temp @ 2m (C)
  • Cloud Cover (%)
  • Precipitation (mm)
  • 1000-500mb Thickness
  • Ice Cover

Might be to much to ask but I searched many online API's but many of them were not provide most of it.

  • 2
    ndbc.noaa.gov/data/latest_obs/latest_obs.txt might be a starting point, though you'd probably have to contact NDBC/NOAA for historical information. coolwx.com/buoydata/data/curr/all.html is slightly easier to parse, but I don't believe they are a primary source. You're essentially looking for buoy and ship-based data, if I understand correctly.
    – user3856
    Commented Mar 19, 2016 at 13:14
  • I have a application that I am trying to develop in OpenLayers so this should all work basically in a map. and all these weather filters will be basically layers. If you have a better idea for a resource please guide.
    – Deepankar
    Commented Mar 19, 2016 at 14:11
  • I tried to use comment but i do not have enough reputation for this. @Richard Law : you're solution is great, I just can't get it working with open layer 3. I can add weather tiles to the map, but each tile is on a wrong position as if open layer 3 does not calculate tiles XYZ as your demo does. My code : map = new ol.Map({ view : new ol.View({ projection : 'EPSG:900913', // OSM projection center : ol.proj.transform( [-2,47], 'EPSG:4326', 'EPSG:3857' ), zoom : 2, minZoom : 1, maxZoom : 14, }), target : 'map_div', controls:[] }); var sourceWind= new ol.source.XYZ({ tileSize: [256,256], url: "ht
    – gabriel
    Commented Jul 24, 2016 at 8:20
  • This does not provide an answer to the question. Once you have sufficient reputation you will be able to comment on any post; instead, provide answers that don't require clarification from the asker. - From Review
    – albert
    Commented Jul 24, 2016 at 22:35
  • I've added a note about the xyz/tms thing to my answer. To convert the y-coord manually, you can do y = (1 << z) - y - 1, or find the map library's TMS switch (e.g. leaflet "tms": true). Commented Jul 26, 2016 at 8:16

3 Answers 3


Check out www.wxtiles.com, it has most of those layers available free with an OpenLayers API. Note that it sits on top of an TMS map tile server, so you can access tiles like so: http://wx.wxtiles.com/tile/20160319_12z/rain/20160320_00z/4/13/7.png (this link will break shortly after the forecast expires).

enter image description here

The API allows you to request current forecasts (the tile/20160319_12z part refers to the 12z forecast cycle of 2016-03-19 (UTC), and the forecast is for 12 hours after that), and also tells you what layers are available at any one time, and for what forecast periods. Some layers have more forecasts than others, but most are produced for every three hour period. The above example is the rain layer. Below, there is the hs (wave height) layer at the same place and time (land is masked in this layer).

enter image description here

Note that there is a more recent API, which also has support for Leaflet tile layers. There is a third API currently in development, which will work with the same map libraries but will provide access to new layers with improved cartographic style, via a new, faster tile server. It will also support vector tiles.

Note that the tiles follow the TMS pattern, not the XYZ pattern, which means you'll need to flip the y-index of the tile when requesting (leaflet has something like a 'tms': true option when configuring a layer).

Disclaimer: I work for the company that produces these map tiles. We also have a WMS providing access to these layers, but access to that is not free. Get in touch if you'd like to discuss more.

  • The response graphics in Wxtiles are very low graphics. And the place where I actually viewed and got the reference about weather and sea states are very good. I am pretty sure the data is from NOAA or weather.gov but how can one extract data for whole world and at what time intervals ?
    – Deepankar
    Commented Mar 20, 2016 at 10:20
  • We produce higher resolution data and output, but they require subscription. You will not find better spatial resolution than this for free, for global data. We use a variety of model outputs. The global data that you can obtain from NOAA etc. generally comes as GRIB or NetCDF files; we have done the work of producing web mapping services from these, and combining them into a single client API. With subscription, we also nest higher-resolution model outputs. Commented Mar 20, 2016 at 10:25

I suggest looking into these datasets, most of the parameters you mentioned are available there. I assume you're looking for both — observations and forecasts.

There are also a bunch of higher resolution local forecasts for different locations.

Planet OS Datahub has an API to access these datasets with a free plan.


Late answer but in case anyone else finds this post.

We released our API called Storm Glass a couple of months back and it provides almost all of the attributes you are requesting. From what I can see we are missing: ice cover and 1000-500mb Thickness.

See https://stormglass.io for full list of attributes and examples on how to use the API. We do offer a Free developer plan.

Note: I'm one of the developers building stormglass.io

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.