# Weather.st — Agent Guide

Weather.st publishes weather forecasts for 34,204 cities. This document describes exactly what an AI agent can do here.

## What an agent can do

1. Read the local forecast for the visitor's location on the homepage: `GET /`
2. Read a city's forecast on its page (server-rendered HTML with current conditions, hour-by-hour, 16-day forecast, air quality and climate averages):
   `GET /{country-slug}/{city-slug}-{id}/`
   Example: `/canada/langley-6049429/`
3. Get forecast data as JSON for any coordinates:
   `GET /api/weather?lat={latitude}&lon={longitude}`
   Response fields: `latitude`, `longitude`, `timezone`, `current` (temperature_2m °C, relative_humidity_2m %, apparent_temperature °C, weather_code (WMO), wind_speed_10m km/h, wind_direction_10m °, wind_gusts_10m km/h, pressure_msl hPa), `hourly` (temperature, precipitation probability, weather code, uv index arrays), `daily` (16 days: weather code, max/min temperature, sunrise, sunset, uv_index_max, precipitation_probability_max).
4. Find the nearest covered city's page for coordinates:
   `GET /api/nearest?lat={latitude}&lon={longitude}` → `{ "path": "/canada/langley-6049429/", "dist": <km> }`
5. Enumerate all city pages via the sitemap index: `GET /sitemap.xml`
6. Read any page in one of 17 languages: English is unprefixed; prefix the path with a language code for Spanish (`/es/`), French (`/fr/`), German (`/de/`), Portuguese (`/pt/`), Italian (`/it/`), Japanese (`/ja/`), Russian (`/ru/`), Turkish (`/tr/`), Polish (`/pl/`), Dutch (`/nl/`), Indonesian (`/id/`), Hindi (`/hi/`), Chinese Simplified (`/zh/`), Korean (`/ko/`), Arabic (`/ar/`) or Vietnamese (`/vi/`) — e.g. `GET /ja/japan/tokyo-1850147/`. Each page carries hreflang links to all 17 versions.

## Limits and honesty notes

- Forecasts are model estimates, updated at most every 30 minutes (edge-cached); they are not official observations.
- Coverage: cities with population ≥ ~1,000 (34,204 places).
- Data licensing and credits: https://weather.st/terms
- Reasonable API use is welcome; please cache responses (they carry a 30-minute cache header).
