nano Weather APIBeta

Quickstart

nano Weather API serves weather for Germany from open data of the Deutscher Wetterdienst (DWD). One request to /v2/weather returns everything a screen needs: current conditions (station observations), a blended hourly and daily forecast, a two-hour radar nowcast and official warnings.

1. Get a key

  1. Create an account (invite-only beta) — you get a personal organization on the free plan.
  2. Create an app for each product or platform (server, web, iOS, Android).
  3. Create a key in the app. It starts with nw_live_ (or nw_test_) and is shown once — copy it into your secret store.

A new key works within 30 seconds. Until then the API answers 401 — wait briefly and retry instead of creating another key.

2. Make a request

Send the key in the X-API-Key header:

  • iOS app keys also need X-Ios-Bundle-Identifier, Android app keys X-Android-Package — otherwise 403 bundle-required. Add your bundle ID or package name to the app first.
  • Web app keys are checked against the app’s allowed origins when the browser sends an Origin.
  • Server keys need nothing else — never ship them in an app or website.
curl -s "https://api.nano-wetter.de/v2/weather?lat=52.52&lon=13.405&include=current,hourly&hours=24" \
  -H "X-API-Key: nw_live_YOUR_KEY"

A trimmed response:

{
  "location": { "lat": 52.52, "lon": 13.405, "tz": "Europe/Berlin", "municipality": "Berl. - Mitte", … },
  "current": {
    "time": "2026-09-30T10:20:00+02:00", "temperature": 15.2, "condition": "overcast", …,
    "source": { "kind": "observation", "station": "00433", "station_name": "Berlin-Tempelhof", … }
  },
  "hourly": { "time": [ … ], "temperature": [ … ], "precipitation_probability": [ … ], … },
  "attribution": [{ "provider": "Deutscher Wetterdienst", "license": "CC BY 4.0", … }]
}

3. Shape the response

  • include — blocks to return: current,minutely,hourly,daily,warnings (default current,hourly,daily,warnings).
  • hours (1–240, default 48) and days (1–10) — forecast length. More than 48 hours costs 2 units.
  • past_hours (0–72) — prepend measured hours from nearby stations (2 units).
  • units, lang (de|en), tz, elevation.

Every parameter and field is in the API reference.

4. Before you ship

  • Show the attribution “Quelle: Deutscher Wetterdienst” — it is a license requirement, also on the free plan. Details.
  • Handle 429 with Retry-After and read the RateLimit headers. Branch on the error’s code field, not on type. Limits.
  • Use separate keys per environment and channel (e.g. debug, testflight, production) so you can revoke one alone.
  • Warnings in responses are informational. For official warnings refer your users to the DWD.