{"openapi":"3.1.0","info":{"title":"Astronomy API","version":"1.0.0","description":"A fast, fully-local astronomy and ephemeris engine: compute the equatorial (right-ascension/declination) and horizontal (azimuth/altitude) positions of the Sun, Moon and all planets for any observer and moment, get precise rise, set and transit (culmination) times for any body, read detailed lunar state (phase angle, named phase, illuminated fraction, apparent magnitude, geocentric distance, age since the last new moon and the dates of the next new/first-quarter/full/last-quarter moons), and list the exact equinoxes and solstices of any year. Every endpoint accepts input via the query string or the request body. Pure server-side computation (no third-party upstream), so responses are instant and always available. Ideal for weather and tide apps, astrophotography planners, calendars, solar/energy tools, Islamic and lunar calendars, and education.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/astronomy-api","description":"oanor gateway"}],"tags":[{"name":"Astronomy"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/moon":{"get":{"operationId":"get_v1_moon","tags":["Astronomy"],"summary":"Detailed lunar phase & next phases","description":"","parameters":[{"name":"date","in":"query","required":false,"description":"ISO-8601 instant (default now)","schema":{"type":"string"}},{"name":"lat","in":"query","required":false,"description":"Observer latitude (optional, adds position)","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":false,"description":"Observer longitude (optional)","schema":{"type":"string"},"example":"13.405"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/positions":{"get":{"operationId":"get_v1_positions","tags":["Astronomy"],"summary":"Body positions (equatorial + horizontal)","description":"","parameters":[{"name":"lat","in":"query","required":true,"description":"Observer latitude","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":true,"description":"Observer longitude","schema":{"type":"string"},"example":"13.405"},{"name":"date","in":"query","required":false,"description":"ISO-8601 instant (default now)","schema":{"type":"string"}},{"name":"bodies","in":"query","required":false,"description":"CSV of bodies","schema":{"type":"string"},"example":"sun,moon,mars"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/rise-set":{"get":{"operationId":"get_v1_rise_set","tags":["Astronomy"],"summary":"Rise, set and transit for a body","description":"","parameters":[{"name":"body","in":"query","required":false,"description":"Body (default sun)","schema":{"type":"string"},"example":"sun"},{"name":"lat","in":"query","required":true,"description":"Observer latitude","schema":{"type":"string"},"example":"52.52"},{"name":"lon","in":"query","required":true,"description":"Observer longitude","schema":{"type":"string"},"example":"13.405"},{"name":"date","in":"query","required":false,"description":"Day to search (default today)","schema":{"type":"string"},"example":"2026-06-21"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/seasons":{"get":{"operationId":"get_v1_seasons","tags":["Astronomy"],"summary":"Equinoxes & solstices of a year","description":"","parameters":[{"name":"year","in":"query","required":false,"description":"Year 1700..2200 (default current)","schema":{"type":"string"},"example":"2026"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":10000,"rps_limit":2,"hard_limit":true},{"slug":"basic","name":"Basic","price_cents_month":900,"monthly_call_quota":150000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2900,"monthly_call_quota":1000000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7900,"monthly_call_quota":5000000,"rps_limit":100,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/astronomy-api"}