← Back to Finance & Crypto
Finance & Crypto by @xenofex7

swissweather

Get current weather and forecasts from MeteoSwiss (official Swiss weather service)

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

  1. List all stations: scripts/current_weather.py --list
  2. Identify closest by name/location
  3. 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

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