Sunrise, sunset and moon phase

GET https://api.api.sh/weather/v1/astronomy
1 credit / call public data try it in the playground →

Sunrise, sunset, solar noon, civil dawn and dusk, day length (with polar day/night) and moon phase (phase, name, illumination, age) for a place and date, in local time; up to 31 consecutive days.

Every response includes credits_used: the credits this call cost.

Parameters

nametypedescription
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). Example: Reykjavik
postal_code string Postal code, with country (default US): 10001, SW1A 1AA + country=GB.
country string Country for q or postal_code: ISO code (US, GB, DE) or English name.
geonameid integer GeoNames id of a place (from /geo/v1/cities).
date string Local date (YYYY-MM-DD, default today). Example: 2026-12-21
days integer Consecutive days from date, 1-31 (default 1).

Every endpoint also takes fresh, raw, fields (see lean responses and caching).

Example

curl "https://api.api.sh/weather/v1/astronomy" \
  -H "x-api-key: $APISH_KEY"

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.