Daily forecast up to 10 days for any place: date, condition, min/max temperature, precipitation total and probability, thunder probability, max wind and gust, average humidity, max UV index, sunrise, sunset, solar noon, civil twilight, day length and moon phase. Days are local calendar days in the place's time zone. Data: MET Norway (CC BY 4.0).
Every response includes credits_used: the credits this call cost.
Parameters
name
type
description
lat
number
Latitude (-90 to 90). Pass with lon; or use q, postal_code or geonameid instead.
lon
number
Longitude (-180 to 180).
q
string
Place name in any language, optionally with region and country: Paris, Springfield, IL, US, München. The most populous match wins (towns of 1,000+ people).
postal_code
string
Postal code, with country (default US): 10001, SW1A 1AA + country=GB. Example: 10001
country
string
Country for q or postal_code: ISO code (US, GB, DE) or English name. Example: US
geonameid
integer
GeoNames id of a place (from /geo/v1/cities).
days
integer
Days, 1-10 (default 10). Example: 10
units
metric | imperial | si
metric (°C, km/h, mm, hPa, km; default), imperial (°F, mph, in, inHg, mi) or si (°C, m/s, mm, hPa, m).
lang
en | de | fr | es | it | pt | nl
Language of the condition texts: en (default), de, fr, es, it, pt, nl.
import os, requests
res = requests.get(
"https://api.api.sh/weather/v1/daily",
params={},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json()
const url = new URL("https://api.api.sh/weather/v1/daily");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json();
Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).
The fastest way to see the full response is the playground: it runs this endpoint with your account and shows the exact JSON.