Skip to main content
The weather skill provides access to two free weather services that require no API keys.

Requirements

Only requires curl, which is pre-installed on most systems.

wttr.in (Primary Service)

wttr.in is the primary weather service, providing quick and formatted weather data.

Quick One-liner

curl -s "wttr.in/London?format=3"
# Output: London: ⛅️ +8°C

Compact Format

Custom format with more details:
curl -s "wttr.in/London?format=%l:+%c+%t+%h+%w"
# Output: London: ⛅️ +8°C 71% ↙5km/h

Full Forecast

Get a full multi-day forecast:
curl -s "wttr.in/London?T"

Format Codes

  • %c - condition (emoji)
  • %t - temperature
  • %h - humidity
  • %w - wind
  • %l - location
  • %m - moon phase

Tips

Location formats:
  • URL-encode spaces: wttr.in/New+York
  • Airport codes: wttr.in/JFK
Units:
  • ?m - metric
  • ?u - USCS (US customary)
Time range:
  • ?0 - current only
  • ?1 - today only
  • ?2 - today and tomorrow
PNG output:
curl -s "wttr.in/Berlin.png" -o /tmp/weather.png

Open-Meteo (Fallback Service)

Free JSON-based weather API, great for programmatic use:
curl -s "https://api.open-meteo.com/v1/forecast?latitude=51.5&longitude=-0.12&current_weather=true"
Returns JSON with temperature, windspeed, and weather code.

Finding Coordinates

You need to find coordinates for a city, then query the API. Use a geocoding service or search engine to find latitude/longitude.

Examples

Get Weather for Multiple Cities

for city in London Paris Berlin; do
  curl -s "wttr.in/$city?format=3"
done

Weather in Metric Units

curl -s "wttr.in/Tokyo?m&format=3"

Current Conditions Only

curl -s "wttr.in/Sydney?0"

Programmatic Access

# Get JSON data from Open-Meteo
curl -s "https://api.open-meteo.com/v1/forecast?latitude=40.7&longitude=-74.0&current_weather=true" | jq '.current_weather'

Resources

Build docs developers (and LLMs) love