{"activeVersionTag":"latest","latestAvailableVersionTag":"latest","collection":{"info":{"_postman_id":"aa55dac9-4493-4add-b1ab-5bb99c979815","name":"Weather API Documentation","description":"Weenat Weather API enables you to retrieve different sources of weather data depending on your profile configuration and the products you have access to. This documentation will help you to use the API. If you don’t have an account, please contact [sales.data@weenat.com](https://mailto:sales.data@weenat.com).\n\nThere are 2 categories of weather data you can retrieve thanks to the Weenat Weather API: **Spatialized weather observation data** and **forecast weather data** all around the world. A description of these categories is available below.\n\nYou also have a look to the [Open API specification](https://dsa.weather-measures.com/api/v1/openapi.json) here.\n\n## Base URL\n\nAll endpoints described in this documentation use the base URL:\n\n`https://dsa.weather-measures.com`\n\nTo access any endpoint, prepend this base URL to the specified endpoint paths. For example, to call the `/api/v1/login/access-token` endpoint, the full URL would be `https://dsa.weather-measures.com/api/v1/login/access-token`.\n\n## Weenat Weather API Limits\n\nBefore using the Weenat Weather API, it’s important to understand its technical constraints and usage limits.\n\nThe API provides access to weather data stored in gridded files, where each file represents a specific datetime. This structure optimizes performance for retrieving data across multiple locations at the same datetime. However, fetching data across multiple files (different datetimes) can require additional processing time. To ensure fair use of resources among all users, the following limits are applied:\n\n- **Rate Limit**: One API call every 2 seconds\n    \n- **Date Range Limit**: Up to 25 dates per query (equivalent to 25 days of 25 hours)\n    \n- **Point Limit per Range Query**: Up to 10,000 points\n    \n- **Point Limit per Grid Range Query**: Up to 5,000 points\n    \n\nThese restrictions enable the API to deliver a large volume of weather data efficiently while maintaining consistent performance for all users.\n\n### The spatial resolution and how to interpret it ?\n\nSpatial resolution is defined by the size of each pixel within a digital image and the area on Earth's surface represented by that pixel. [Source: NASA Earthdata - Remote Sensing Basics](https://www.earthdata.nasa.gov/learn/earth-observation-data-basics/remote-sensing).\n\nAs the resolution is defined in degrees, the linear distance of a pixel varies with the longitude and the latitude. You will find belows tables describing the shift of linear distance (in kilometers) covered by a pixel.\n\n| **Resolution in degrees of Longitude** | At the Equator | At 15 deg LAT | At 30 deg LAT | At 45 deg LAT | At 60 deg LAT | At 75 deg LAT | Units |\n| --- | --- | --- | --- | --- | --- | --- | --- |\n| 0,25 | 27,83 | 26,89 | 24,12 | 19,71 | 13,95 | 7,23 | Km |\n| 0,1 | 11,13 | 10,76 | 9,65 | 7,88 | 5,58 | 2,89 | Km |\n| 0,01 | 1,11 | 1,08 | 0,96 | 0,79 | 0,56 | 0,29 | Km |\n\n| **Resolution in degrees of latitude** | At the Equator | At 15 deg LAT | At 30 deg LAT | At 45 deg LAT | At 60 deg LAT | At 75 deg LAT | Units |\n| --- | --- | --- | --- | --- | --- | --- | --- |\n| 0,25 | 27,64 | 27,66 | 27,71 | 27,78 | 27,85 | 27,90 | Km |\n| 0,1 | 11,06 | 11,06 | 11,09 | 11,11 | 11,14 | 11,16 | Km |\n| 0,01 | 1,11 | 1,11 | 1,11 | 1,11 | 1,11 | 1,12 | Km |\n\n### Weather parameters\n\nThe Weenat Weather API allows you to retrieve a variety of weather parameters. These parameters vary between daily and hourly data. Below is the detailed list of available weather parameters for each product:\n\n| Parameters | Unit | Description | Daily / hourly |\n| --- | --- | --- | --- |\n| CLDC | % | Cloud cover | Hourly, daily |\n| PRECIP | Mm | Total rainfall | Hourly |\n| VPD | kPa | Vapour pressure deficit | Hourly |\n| RH2M | % | Relative humidity at 2m height | Hourly |\n| SSI | W/m2 | Surface shortwave irradiance | Hourly |\n| T2M | °C | Temperature at 2m height | Hourly |\n| WD | degN | Wind direction at 10m height | Hourly |\n| WS10M | m/s | Wind speed at 10m height | Hourly |\n| WS2M | m/s | Wind speed at 2m height | Hourly |\n| WS_GUST | m/s | Gust wind speed at 10m height | Hourly |\n| DEWT2M | °C | Dew point temperature at 2m height | Hourly |\n| T2M_B0 | °C | Base 0 temperature at 2m height in celcius | Hourly |\n| T2M_B10 | °C | Base 10 temperature at 2m height in celcius | Hourly |\n| T2M_B12 | °C | Base 12 temperature at 2m height in celcius | Hourly |\n| T2M_B6 | °C | Base 6 temperature at 2m height in celcius | Hourly |\n| SW_ID | None | Sensible weather id (refer to sensible weather lookup table)\\* | Hourly, daily |\n| PRECIP_MAX | mm | Max hour rainfall | Daily |\n| PRECIP_SUM | mm | Total rainfall | Daily |\n| ETP | mm | Reference evapotranspiration | Daily |\n| VPD_MIN | kPa | Minimum vapour pressure deficit | Daily |\n| VPD_MEAN | kPa | Mean vapour pressure deficit | Daily |\n| VPD_MAX | kPa | Maximum vapour pressure deficit | Daily |\n| RH2M_MIN | % | Minimum relative humidity at 2m height | Daily |\n| RH2M_MEAN | % | Mean relative humidity at 2m height | Daily |\n| RH2M_MAX | % | Maximum relative humidity at 2m height | Daily |\n| SSI_MEAN | W/m2 | Mean surface shortwave radiation | Daily |\n| SSI_MAX | W/m2 | Max surface shortwave radiation | Daily |\n| T2M_MIN | °C | Min temperature at 2m height | Daily |\n| T2M_MEAN | °C | Mean temperature at 2m height | Daily |\n| T2M_MAX | °C | Max temperature at 2m height | Daily |\n| WD_MEAN | degN | Mean wind direction at 10m height | Daily |\n| WS10M_MIN | m/s | Min wind speed at 10m height | Daily |\n| WS10M_MEAN | m/s | Mean wind speed at 10m height | Daily |\n| WS10M_MAX | m/s | Max wind speed at 10m height | Daily |\n| WS2M_MIN | m/s | Min wind speed at 2m height | Daily |\n| WS2M_MEAN | m/s | MEAN wind speed at 2m height | Daily |\n| WS2M_MAX | m/s | MAX wind speed at 2m height | Daily |\n| WS_GUST_MIN | m/s | Min gust wind speed at 10m height | Daily |\n| WS_GUST_MEAN | m/s | Mean gust wind speed at 10m height | Daily |\n| WS_GUST_MAX | m/s | Max gust wind speed at 10m height | Daily |\n| DEWT2M_MIN | °C | Min dew point temperature at 2m height | Daily |\n| DEWT2M_MEAN | °C | Mean dew point temperature at 2m height | Daily |\n| DEWT2M_MAX | °C | Max dew point temperature at 2m height | Daily |\n| T2M_B0_SUM | °C B0 | Sum base 0 temperature at 2m height in celsius | Daily |\n| T2M_B6_SUM | °C B6 | Sum base 6 temperature at 2m height in celsius | Daily |\n| T2M_B10_SUM | °C B10 | Sum base 10 temperature at 2m height in celsius | Daily |\n| T2M_B12_SUM | °C B12 | Sum base 12 temperature at 2m height in celsius | Daily |\n\n### Sensible Weather\n\nThe Sensible weather defines the meteorological condition of a specific datetime. It refers to phrases like _Windy with some clouds_ or _Sunny_. The sensible weather is provided through the API as sensible weather ids: `SW_ID`and they designed to match with this open source library [Weather Icons](https://erikflowers.github.io/weather-icons/).\n\n**The table below outlines the various sensible weather id available on our API and the matching code from the Weather Icons library:**\n\n| ID | Code | Icon | Sentence |\n| --- | --- | --- | --- |\n| 61459 | f013 | wi-cloudy | Cloudy |\n| 61457 | f011 | wi-cloudy-gusts | Cloudy and windy |\n| 61466 | f01a | wi-showers | Overcast, occasional rain |\n| 61463 | f017 | wi-rain-mix | Rainy |\n| 61465 | f019 | wi-rain | Stormy |\n| 61621 | f0b5 | wi-sleet | Drizzle |\n| 61467 | f01b | wi-snow | Snow |\n| 61442 | f002 | wi-day-cloudy | Partly cloudy |\n| 61440 | f000 | wi-day-cloudy-gusts | Windy with some clouds |\n| 61448 | f008 | wi-day-rain | Partly cloudy with some showers |\n| 61573 | f085 | wi-day-windy | Windy / strong wind |\n| 61554 | f072 | wi-hot | Heatwave |\n| 61453 | f00d | wi-day-sunny | Sunny |\n\n## Account configuration\n\nThe Weenat Weather API is designed for efficient retrieval of large volumes of weather data with minimal API calls. With a single request, you can access data from over a thousand locations. The API is optimized for integrating weather data into your database, and for optimal performance, we recommend storing all available data within your infrastructure. This approach allows you to seamlessly integrate our data into your services, enabling both on-demand queries from the API and direct access from your database.\n\nWe offer two types of subscriptions to the Weather API, tailored to your needs: preset configuration queries and grid queries.","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","isPublicCollection":false,"owner":"40873786","team":6694441,"collectionId":"aa55dac9-4493-4add-b1ab-5bb99c979815","publishedId":"2sAYQakBBa","public":true,"publicUrl":"https://docs-dsa.weenat.com","privateUrl":"https://go.postman.co/documentation/40873786-aa55dac9-4493-4add-b1ab-5bb99c979815","customColor":{"top-bar":"FFFFFF","right-sidebar":"002635","highlight":"FF8500"},"documentationLayout":"classic-double-column","customisation":{"metaTags":[{"name":"description","value":"Access accurate, hyperlocalized weather data for the next 15 days, for anywhere in Europe. All weather forecast data available through the Weenat API or app is reconstructed by downscaling to offer you a finer spatial resolution (down to the km2) than other models on the market. "},{"name":"title","value":"Weenat Weather API"}],"appearance":{"default":"light","themes":[{"name":"dark","logo":"https://content.pstmn.io/be384ec6-352f-4f61-8c40-a4824f08fb6b/TG9nb19CbGFuY19XZWVuYXQucG5n","colors":{"top-bar":"002635","right-sidebar":"002635","highlight":"FF8500"}},{"name":"light","logo":"https://content.pstmn.io/c799f368-2320-4e65-9c1d-e012035f5725/TG9nb19CbGV1X1dlZW5hdC5wbmc=","colors":{"top-bar":"FFFFFF","right-sidebar":"002635","highlight":"FF8500"}}]}},"version":"8.10.1","publishDate":"2025-02-04T11:12:48.000Z","activeVersionTag":"latest","documentationTheme":"light","metaTags":{"title":"Weenat Weather API","description":"Access accurate, hyperlocalized weather data for the next 15 days, for anywhere in Europe. All weather forecast data available through the Weenat API or app is reconstructed by downscaling to offer you a finer spatial resolution (down to the km2) than other models on the market. "},"logos":{"logoLight":"https://content.pstmn.io/c799f368-2320-4e65-9c1d-e012035f5725/TG9nb19CbGV1X1dlZW5hdC5wbmc=","logoDark":"https://content.pstmn.io/be384ec6-352f-4f61-8c40-a4824f08fb6b/TG9nb19CbGFuY19XZWVuYXQucG5n"}},"statusCode":200},"environments":[{"name":"production","id":"d70cddbb-4d32-4057-b9c4-83c52aaa03f1","owner":"40873786","values":[{"key":"baseUrl","value":"https://dsa.weather-measures.com","enabled":true,"type":"default"},{"key":"version","value":"v1","enabled":true,"type":"default"},{"key":"username","value":"","enabled":true,"type":"default"},{"key":"password","value":"","enabled":true,"type":"secret"}],"published":true}],"user":{"authenticated":false,"permissions":{"publish":false}},"run":{"button":{"js":"https://run.pstmn.io/button.js","css":"https://run.pstmn.io/button.css"}},"web":"https://www.getpostman.com/","team":{"logo":"https://res.cloudinary.com/postman/image/upload/t_team_logo_pubdoc/v1/team/5267e743f0b5b665c20d5c51e114179d85d8d21d476768f9e14bbbc3f8bc480b","favicon":"https://res.cloudinary.com/postman/image/upload/v1738675419/team/304da0c9aae297b65102a0d1bf249ae0.ico"},"isEnvFetchError":false,"languages":"[{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"HttpClient\"},{\"key\":\"csharp\",\"label\":\"C#\",\"variant\":\"RestSharp\"},{\"key\":\"curl\",\"label\":\"cURL\",\"variant\":\"cURL\"},{\"key\":\"dart\",\"label\":\"Dart\",\"variant\":\"http\"},{\"key\":\"go\",\"label\":\"Go\",\"variant\":\"Native\"},{\"key\":\"http\",\"label\":\"HTTP\",\"variant\":\"HTTP\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"OkHttp\"},{\"key\":\"java\",\"label\":\"Java\",\"variant\":\"Unirest\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"Fetch\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"jQuery\"},{\"key\":\"javascript\",\"label\":\"JavaScript\",\"variant\":\"XHR\"},{\"key\":\"c\",\"label\":\"C\",\"variant\":\"libcurl\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Axios\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Native\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Request\"},{\"key\":\"nodejs\",\"label\":\"NodeJs\",\"variant\":\"Unirest\"},{\"key\":\"objective-c\",\"label\":\"Objective-C\",\"variant\":\"NSURLSession\"},{\"key\":\"ocaml\",\"label\":\"OCaml\",\"variant\":\"Cohttp\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"cURL\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"Guzzle\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"HTTP_Request2\"},{\"key\":\"php\",\"label\":\"PHP\",\"variant\":\"pecl_http\"},{\"key\":\"powershell\",\"label\":\"PowerShell\",\"variant\":\"RestMethod\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"http.client\"},{\"key\":\"python\",\"label\":\"Python\",\"variant\":\"Requests\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"httr\"},{\"key\":\"r\",\"label\":\"R\",\"variant\":\"RCurl\"},{\"key\":\"ruby\",\"label\":\"Ruby\",\"variant\":\"Net::HTTP\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"Httpie\"},{\"key\":\"shell\",\"label\":\"Shell\",\"variant\":\"wget\"},{\"key\":\"swift\",\"label\":\"Swift\",\"variant\":\"URLSession\"}]","languageSettings":[{"key":"csharp","label":"C#","variant":"HttpClient"},{"key":"csharp","label":"C#","variant":"RestSharp"},{"key":"curl","label":"cURL","variant":"cURL"},{"key":"dart","label":"Dart","variant":"http"},{"key":"go","label":"Go","variant":"Native"},{"key":"http","label":"HTTP","variant":"HTTP"},{"key":"java","label":"Java","variant":"OkHttp"},{"key":"java","label":"Java","variant":"Unirest"},{"key":"javascript","label":"JavaScript","variant":"Fetch"},{"key":"javascript","label":"JavaScript","variant":"jQuery"},{"key":"javascript","label":"JavaScript","variant":"XHR"},{"key":"c","label":"C","variant":"libcurl"},{"key":"nodejs","label":"NodeJs","variant":"Axios"},{"key":"nodejs","label":"NodeJs","variant":"Native"},{"key":"nodejs","label":"NodeJs","variant":"Request"},{"key":"nodejs","label":"NodeJs","variant":"Unirest"},{"key":"objective-c","label":"Objective-C","variant":"NSURLSession"},{"key":"ocaml","label":"OCaml","variant":"Cohttp"},{"key":"php","label":"PHP","variant":"cURL"},{"key":"php","label":"PHP","variant":"Guzzle"},{"key":"php","label":"PHP","variant":"HTTP_Request2"},{"key":"php","label":"PHP","variant":"pecl_http"},{"key":"powershell","label":"PowerShell","variant":"RestMethod"},{"key":"python","label":"Python","variant":"http.client"},{"key":"python","label":"Python","variant":"Requests"},{"key":"r","label":"R","variant":"httr"},{"key":"r","label":"R","variant":"RCurl"},{"key":"ruby","label":"Ruby","variant":"Net::HTTP"},{"key":"shell","label":"Shell","variant":"Httpie"},{"key":"shell","label":"Shell","variant":"wget"},{"key":"swift","label":"Swift","variant":"URLSession"}],"languageOptions":[{"label":"C# - HttpClient","value":"csharp - HttpClient - C#"},{"label":"C# - RestSharp","value":"csharp - RestSharp - C#"},{"label":"cURL - cURL","value":"curl - cURL - cURL"},{"label":"Dart - http","value":"dart - http - Dart"},{"label":"Go - Native","value":"go - Native - Go"},{"label":"HTTP - HTTP","value":"http - HTTP - HTTP"},{"label":"Java - OkHttp","value":"java - OkHttp - Java"},{"label":"Java - Unirest","value":"java - Unirest - Java"},{"label":"JavaScript - Fetch","value":"javascript - Fetch - JavaScript"},{"label":"JavaScript - jQuery","value":"javascript - jQuery - JavaScript"},{"label":"JavaScript - XHR","value":"javascript - XHR - JavaScript"},{"label":"C - libcurl","value":"c - libcurl - C"},{"label":"NodeJs - Axios","value":"nodejs - Axios - NodeJs"},{"label":"NodeJs - Native","value":"nodejs - Native - NodeJs"},{"label":"NodeJs - Request","value":"nodejs - Request - NodeJs"},{"label":"NodeJs - Unirest","value":"nodejs - Unirest - NodeJs"},{"label":"Objective-C - NSURLSession","value":"objective-c - NSURLSession - Objective-C"},{"label":"OCaml - Cohttp","value":"ocaml - Cohttp - OCaml"},{"label":"PHP - cURL","value":"php - cURL - PHP"},{"label":"PHP - Guzzle","value":"php - Guzzle - PHP"},{"label":"PHP - HTTP_Request2","value":"php - HTTP_Request2 - PHP"},{"label":"PHP - pecl_http","value":"php - pecl_http - PHP"},{"label":"PowerShell - RestMethod","value":"powershell - RestMethod - PowerShell"},{"label":"Python - http.client","value":"python - http.client - Python"},{"label":"Python - Requests","value":"python - Requests - Python"},{"label":"R - httr","value":"r - httr - R"},{"label":"R - RCurl","value":"r - RCurl - R"},{"label":"Ruby - Net::HTTP","value":"ruby - Net::HTTP - Ruby"},{"label":"Shell - Httpie","value":"shell - Httpie - Shell"},{"label":"Shell - wget","value":"shell - wget - Shell"},{"label":"Swift - URLSession","value":"swift - URLSession - Swift"}],"layoutOptions":[{"value":"classic-single-column","label":"Single Column"},{"value":"classic-double-column","label":"Double Column"}],"versionOptions":[],"environmentOptions":[{"value":"0","label":"No Environment"},{"label":"production","value":"40873786-d70cddbb-4d32-4057-b9c4-83c52aaa03f1"}],"canonicalUrl":"https://docs-dsa.weenat.com/view/metadata/2sAYQakBBa"}