SwissWeather
Get current weather measurements and forecasts from MeteoSwiss, the official Swiss Federal Office of Meteorology and Climatology.
Why Use This
Official Swiss data: Direct from MeteoSwiss government service
Real measurements: 100+ automated weather stations across Switzerland
No API key required: Free public data
Swiss-optimized: Better coverage and accuracy for Switzerland than generic services
Comprehensive: Temperature, humidity, wind, precipitation, pressure, sunshine, radiation
Quick Start
Current Weather by Station
Get real-time measurements from a specific Swiss weather station:
Option 1: Shell script (no dependencies)
scripts/current_weather_curl.sh --station RAG
Option 2: Python script (requires: pip3 install requests)
scripts/current_weather.py --station RAG
Example output:
Station: RAG
Time: 2026-01-15 11:40 UTC
Temperature (°C)........................ 8.6
Rel. humidity (%)...................... 56.3
Wind speed (km/h)...................... 6.8
Precipitation (mm)..................... 0.0
Popular stations:
RAG - Rapperswil (Zurich region)
BER - Bern
ZRH - Zurich Airport
BAS - Basel
GVE - Geneva
LUG - Lugano
List All Stations
scripts/current_weather_curl.sh --list
# or
scripts/current_weather.py --list
Returns 100+ Swiss weather stations with codes and last update time.
Forecast by Postal Code
Get multi-day weather forecast:
scripts/forecast.py 8640 # Rapperswil-Jona
scripts/forecast.py 8001 --days 7 # Zurich, 7-day forecast
Note: The forecast API may occasionally be unstable. If it fails, fall back to current weather measurements.
Available Data
Current Weather Measurements
Updated every 10 minutes from automated stations:
Temperature (°C) - Air temperature at 2m height
Humidity (%) - Relative humidity
Wind - Speed (km/h), direction (°), gust peak
Precipitation (mm) - Recent rainfall
Pressure (hPa) - Station level, sea level
Sunshine (min) - Duration of sunshine
Radiation (W/m²) - Global solar radiation
Dew point (°C)
Weather Forecasts
Multi-day forecasts by Swiss postal code:
Daily temperature (min/max)
Weather conditions with icons
Precipitation amount and probability
Hourly forecasts (when available)
Station Selection
Choose the nearest station to your location:
Major cities: BER (Bern), ZRH (Zurich), BAS (Basel), GVE (Geneva), LUG (Lugano)
Zurich region: KLO (Kloten), RAG (Rapperswil), TAE (Tänikon)
Central: LUZ (Lucerne), ALT (Altdorf), ENG (Engelberg)
Mountains: SMA (Säntis), JUN (Jungfraujoch), PIL (Pilatus)
Tip: Avoid mountain stations for valley locations due to altitude differences.
See references/api_info.md for complete station list and details.
JSON Output
All scripts support --json flag for programmatic use:
scripts/current_weather.py --station RAG --json
scripts/forecast.py 8640 --json
Advanced Usage
Multiple Stations
Show all current measurements:
scripts/current_weather.py --all
Find Nearest Station
List all stations:
scripts/current_weather.py --listIdentify closest by name/location
Use that station code
Caching
Data updates every 10 minutes. Cache responses appropriately:
# Cache current weather for 5-10 minutes
# Cache forecasts for 1-2 hours
API Reference
See references/api_info.md for:
Complete API documentation
All available data fields
Weather icon codes
Warning levels and types
Alternative data sources
Technical details
Dependencies
pip3 install requests
Data Source
Provider: MeteoSwiss (Federal Office of Meteorology and Climatology)
Authority: Official Swiss government weather service
Update: Every 10 minutes (current weather)
Coverage: 100+ automated stations across Switzerland
URL: https://data.geo.admin.ch / https://www.meteoschweiz.admin.ch
Troubleshooting
Forecast API fails: The MeteoSwiss app API occasionally changes. If forecast.py fails, use current weather measurements instead, or check references/api_info.md for alternative methods.
Station not found: Use --list to see available stations. Station codes are 3-letter abbreviations (case-insensitive).
Missing data: Some stations don't measure all parameters. Look for - or N/A in output.
Related
swiss-transport: Swiss public transport schedules and connections
weather: Generic weather service (wttr.in) - use swissweather for Switzerland