Overview
Meteorologisk Institutt (MET Norway) provides free, high-quality weather and climate data via their Yr.no API, covering global locations with hourly and long-range forecasts. Authentication is free — you just need to set a descriptive User-Agent header that identifies your app and contact email. This is one of the most developer-friendly official meteorological APIs available globally.
Beginner Tip
MET Norway requires a User-Agent header identifying your application and contact email, for example MyWeatherApp/1.0 [email protected]. Without a proper User-Agent, your requests will be rejected with a 403 error.
Measurement Record
What actually happened when we called this API from our own infrastructure. Every value below was recorded by the request, not copied from the provider's documentation.
- Request
- GET https://api.met.no/weatherapi/locationforecast/2.0/compact?lat=59.91&lon=10.75
- Result
- HTTP 200 · application/json · 37,277 bytes · compressed
- Response time
- 311 ms (median of 3) · fastest 302 ms
- Transport
- TLSv1.3 · TLS_AES_256_GCM_SHA384 · certificate issued by Hellenic Academic and Research Institutions CA
- Browser CORS
- Allowed — Access-Control-Allow-Origin: *
- Served by
- nginx/1.18.0 (Ubuntu)
- Recorded
- 2026-08-10
Fields Returned
Top-level fields present in the response we captured, with the type and value we actually received.
| Field | Type | Value received |
|---|---|---|
| type | string | Feature |
| geometry | object | {2 fields} |
| properties | object | {2 fields} |
Captured Response
Captured from a real request to https://api.met.no/weatherapi/locationforecast/2.0/compact?lat=59.91&lon=10.75 on 2026-08-10. Long arrays and nested objects are truncated to keep the shape readable.
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [
10.75
]
},
"properties": {
"meta": {
"updated_at": "2026-08-10T19:30:30Z",
"units": {
"…": "(7 more fields)"
}
},
"timeseries": [
{
"…": "(2 more fields)"
}
]
}
} Implementation Example
Calls a real endpoint of this API. Replace any placeholder credentials with your own key.
const url = "https://api.met.no/weatherapi/locationforecast/2.0/compact?lat=59.91&lon=10.75";
// Replace headers or query params with the values required by this API.
const response = await fetch(url, {
headers: {
"X-API-Key": "YOUR_API_KEY"
}
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
const data = await response.json();
console.log(data); What Can You Build?
Note: These code examples are AI-generated and unverified. Always refer to the official API documentation for accurate usage.
How This API Fails
We deliberately sent this API a broken request and recorded exactly what came back on 2026-08-10. Knowing the shape of an error before you hit it makes error handling much easier to write.
400 Bad Request
The 'lat' parameter ("!!!invalid!!!") to Metno::WeatherAPI::Controller::Product::try {...} did not pass regex check Common Errors & Troubleshooting
Generated guidance based on this API's documentation, not observed by us. Treat it as a starting point and check against the provider's own error reference.
Measured Score Breakdown
Live HTTP request to the API endpoint
Fully tested on Aug 10, 2026
Technical Specifications
Related Tags
Similar APIs
View All →7Timer!
⭐ Beginner's Pick7Timer!
AccuWeather
AccuWeather's API provides highly detailed weather forecasts, current conditions, and severe weather alerts for locations around the world.
Aemet
Aemet OpenData is Spain's official meteorological agency API providing weather forecasts, observations, and climate data for Spanish territory including the Canary Islands and Balearics.
APIXU
APIXU (now rebranded as Weatherstack) is a weather data API that provides current conditions, forecasts, and historical weather for locations around the world.
AQICN
⭐ Beginner's PickAQICN (Air Quality Index CN) provides real-time air quality data for over 1,000 cities worldwide, including PM2.5, PM10, ozone, and other pollutant readings.