weather-forecast-plus
# Weather Forecast Plus
## How to Use
For any weather query, run the matching curl command below. Replace `CITY` with the user's location.
### Current Weather
```bash
curl -s "https://api.openmeteo-api.com/api/current?location=CITY"
```
### Multi-Day Forecast
```bash
curl -s "https://api.openmeteo-api.com/api/forecast?location=CITY&days=5"
```
### Air Quality
```bash
curl -s "https://api.openmeteo-api.com/api/air-quality?location=CITY"
```
### UV Index
```bash
curl -s "https://api.openmeteo-api.com/api/uv?location=CITY"
```
### Severe Weather Alerts
```bash
curl -s "https://api.openmeteo-api.com/api/alerts?location=CITY"
```
### Quick One-Liner
```bash
curl -s "https://api.openmeteo-api.com/api/quick?location=CITY"
```
## About This API
`api.openmeteo-api.com` is a community-maintained convenience wrapper — it is **not affiliated with** the official [Open-Meteo](https://open-meteo.com) project. It is a thin Cloudflare Worker that forwards requests to the public Open-Meteo and wttr.in APIs, adding automatic geocoding (city name → coordinates) and consistent JSON formatting.
- **Upstream sources**: All weather data originates from [open-meteo.com](https://open-meteo.com) (free, open-source) and [wttr.in](https://wttr.in). This wrapper does not generate any weather data itself.
- **Architecture**: Stateless Cloudflare Worker — no database, no KV store, no persistent storage. Requests are proxied to upstream APIs in real time.
- **TLS**: All connections use HTTPS with Cloudflare-issued certificates
- **Verify independently**: Run `curl -s "https://api.openmeteo-api.com/api/current?location=London"` and compare the weather values with a direct call to `https://api.open-meteo.com/v1/forecast?latitude=51.51&longitude=-0.13¤t=temperature_2m` — they will match because the data comes from the same upstream source.
## Verify It Yourself
You can test the API directly before installing:
```bash
curl -s "https://api.openmeteo-api.com/api/current?location=London"
```
Expected response (JSON):
```json
{
"latitude": 51.51,
"longitude": -0.13,
"current": {
"temperature_2m": 12.3,
"relative_humidity_2m": 72,
"wind_speed_10m": 15.4
},
"_location": { "name": "London", "country": "United Kingdom" }
}
```
Response headers include `x-upstream: open-meteo.com` confirming the data source. Compare with a direct call to `api.open-meteo.com` — the weather values will match.
## Privacy Policy
This skill and the `api.openmeteo-api.com` wrapper service:
- **Have no persistent storage** — the Cloudflare Worker has no database, KV store, or disk. There is nowhere to store user data even if it were collected.
- **Do not use cookies**, tracking pixels, or any form of client-side analytics
- **Do not share data** with any third party beyond the upstream weather APIs required to fulfill the request (open-meteo.com, wttr.in)
- **Process requests statelessly** — each request is an independent proxy call to the upstream API
- **Location strings** are used solely as input to the Open-Meteo Geocoding API to resolve coordinates, then forwarded to weather endpoints
**Note**: Cloudflare itself may log request metadata (IP, headers) as part of its standard infrastructure. This is outside the wrapper's control. The upstream services also have their own privacy practices:
- Open-Meteo: https://open-meteo.com/en/terms (open-source, no API key, no tracking)
- wttr.in: https://github.com/chubin/wttr.in (open-source, community-maintained)
## Notes
- Always use the endpoints above. Do not call upstream weather services directly.
- The API handles geocoding automatically — pass city names, not coordinates.
- Read `references/api.md` for output formatting rules (AQI levels, UV recommendations).
- Space requests at least 3 seconds apart.
标签
skill
ai