API godzin zachodu i wschodu słońca v1
Oferujemy darmowe API podające godziny zachodu i wschodu słońca dla określonej szerokości i długości geograficznej.
Pamiętaj, że korzystając z API, musisz podać źródło. Więcej informacji znajdziesz poniżej w sekcji „Limity użycia i podawanie źródła”.
To wersja 1 API — obsługiwana bezterminowo.
Zalecana, jeśli już z niej korzystasz. W nowym projekcie wybierz wersja 2 API.
Ta wersja będzie działać dokładnie tak jak dzisiaj. Nowsze funkcje — automatyczna lokalna strefa czasowa, znaczniki czasu ISO 8601, złota i niebieska godzina, położenie Słońca i zakresy dat — są dostępne tylko w wersja 2 API.
Dokładność obliczeń
Ta wersja API zachowuje pierwotne obliczenia, aby istniejący kod nadal działał. Jej godziny mogą nieznacznie różnić się od godzin w wersja 2 API, gdzie stosowany jest dokładniejszy model słoneczny.
Skala różnicy zależy od miejsca i daty: kilka sekund przy równiku i nawet minuta lub więcej na wysokich szerokościach geograficznych.
Dokumentacja API
Nasze REST API jest bardzo proste: wystarczy wysłać żądanie GET na adres https://api.sunrise-sunset.org/json. Nie trzeba się rejestrować ani uzyskiwać klucza API.
Parametry żądania
- lat (float): Szerokość geograficzna w stopniach dziesiętnych. Wymagana.
- lng (float): Długość geograficzna w stopniach dziesiętnych. Wymagana.
- date (string): Data w formacie YYYY-MM-DD. Obsługiwane są też inne formaty dat, a nawet daty względne. Jeśli pominięto parametr, domyślnie wybierana jest dzisiejsza data. Opcjonalny.
- callback (string): Nazwa funkcji zwrotnej dla odpowiedzi JSONP. Opcjonalny.
- formatted (integer): 0 lub 1 (domyślnie 1). Wartości czasu w odpowiedzi będą zgodne z ISO 8601, a day_length zostanie podane w sekundach. Opcjonalny.
- tzid (string): Identyfikator strefy czasowej, np. UTC, Africa/Lagos, Asia/Hong_Kong lub Europe/Lisbon. Prawidłowe identyfikatory znajdziesz na liście obsługiwanych stref czasowych. Jeśli podasz ten parametr, godziny w odpowiedzi będą odnosiły się do wskazanej strefy. Opcjonalny.
Przykładowe żądania
Trzy przykładowe żądania pobierające z naszego API dane o zachodzie i wschodzie słońca dla wybranego miejsca:
https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400 https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&date=today https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&date=2026-10-23 https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&formatted=0
Odpowiedź
Odpowiedź API zawiera godziny zjawisk słonecznych w danym miejscu. Dane mają format JSON.
Pamiętaj, że jeśli nie podasz tzid, wszystkie godziny będą w UTC, a zwrócone dane nie uwzględnią czasu letniego.
Przykładowa odpowiedź:
{
"results":
{
"sunrise":"7:27:02 AM",
"sunset":"5:05:55 PM",
"solar_noon":"12:16:28 PM",
"day_length":"9:38:53",
"civil_twilight_begin":"6:58:14 AM",
"civil_twilight_end":"5:34:43 PM",
"nautical_twilight_begin":"6:25:47 AM",
"nautical_twilight_end":"6:07:10 PM",
"astronomical_twilight_begin":"5:54:14 AM",
"astronomical_twilight_end":"6:38:43 PM"
},
"status":"OK",
"tzid": "UTC"
}
Odpowiedź bez formatowania dat:
{
"results":
{
"sunrise":"2015-05-21T05:05:35+00:00",
"sunset":"2015-05-21T19:22:59+00:00",
"solar_noon":"2015-05-21T12:14:17+00:00",
"day_length":51444,
"civil_twilight_begin":"2015-05-21T04:36:17+00:00",
"civil_twilight_end":"2015-05-21T19:52:17+00:00",
"nautical_twilight_begin":"2015-05-21T04:00:13+00:00",
"nautical_twilight_end":"2015-05-21T20:28:21+00:00",
"astronomical_twilight_begin":"2015-05-21T03:20:49+00:00",
"astronomical_twilight_end":"2015-05-21T21:07:45+00:00"
},
"status":"OK",
"tzid": "UTC"
}
Znaczenie każdego elementu obiektu odpowiedzi wyjaśnia nasz słownik pojęć astronomicznych.
Kody statusu
Pole „status” w obiekcie odpowiedzi API zawiera status żądania. Może przyjmować następujące wartości:
- "OK": oznacza brak błędów;
- "INVALID_REQUEST": oznacza brak lub nieprawidłową wartość parametru lat lub lng;
- "INVALID_DATE": oznacza brak lub nieprawidłową wartość parametru date;
- "UNKNOWN_ERROR": oznacza, że żądania nie udało się przetworzyć z powodu błędu serwera. Ponowna próba może się powieść.
- "INVALID_TZID": oznacza nieprawidłową wartość parametru tzid; odpowiedź jest prawidłowa, ale godziny są w UTC.
Jak korzystać z API przez żądanie AJAX?
Użyj parametru callback, aby otrzymać odpowiedź JSONP i ominąć ograniczenia między domenami:
https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&callback=mycallback
Limity użycia i podawanie źródła
Z API wschodu i zachodu słońca można korzystać bezpłatnie. Nie wolno przekraczać rozsądnej liczby żądań ani używać API w sposób nadmierny lub stanowiący nadużycie. Wymagamy podania źródła: zobacz, jak nas wskazać.
Aktualności
Zapisz się do newslettera API, aby otrzymywać informacje o zmianach i aktualnościach dotyczących usługi:
Otrzymuj powiadomienia o każdej zmianie: na GitHub otwórz nasze repozytorium API i wybierz Watch → Custom → Releases lub obserwuj nasz kanał RSS.
💡 Masz ciekawy pomysł? 🤦 Widzisz błąd?
Stale ulepszamy ten serwis!
Masz pomysł na treści lub informacje, które warto tu dodać, albo widzisz błąd? Daj nam znać!
Historia zmian
- 21 października 2026: musieliśmy zainstalować na serwerze aktualizację bezpieczeństwa PHP. Przy okazji godziny wschodu i zachodu słońca nieznacznie się przesunęły. Część obliczeń korzysta z wbudowanych bibliotek PHP, które zmieniły się w tej aktualizacji. Nowe godziny są dokładniejsze. Świt, zmierzch, górowanie Słońca i format odpowiedzi pozostają bez zmian.
- 14 października 2026: wersja 1 API odrzuca teraz współrzędne spoza zakresu (szerokość poza -90..90 lub długość poza -180..180) kodem
INVALID_REQUEST. Wcześniej zwracała godziny, które nie miały sensu. Prawidłowe żądania działają bez zmian. - 5 kwietnia 2026: udostępniono API v2! Domyślna lokalna strefa czasowa, ISO 8601, złota & niebieska godzina, położenie Słońca, zakresy dat i znaczące kody błędów HTTP. Klasyczne API pozostaje bez zmian i będzie obsługiwane bezterminowo.
- 27 grudnia 2023: poprawiono kilka drobnych błędów.
- 5 grudnia 2023: nowy parametr tzid pozwala wskazać własną strefę czasową dla żądań.
- 29 listopada 2023: udostępniono stronę statusu API. Zapisz się, aby otrzymywać powiadomienia o przerwach w działaniu usługi.
- 21 września 2018: nowy serwer API! Rozwiązano problemy z przerwami w działaniu.
- 5 kwietnia 2017: obsługiwane są żądania HTTPS.
- 26 lutego 2016: daty są teraz sprawdzane pod kątem zgodności z kalendarzem gregoriańskim.
- 22 maja 2015: dodano obsługę dat ISO 8601 przez parametr formatted w żądaniu.
- 16 maja 2015: poprawiono drobne błędy.
- 22 kwietnia 2015: włączono CORS.
- 15 marca 2015: typ treści odpowiedzi zmieniono na „application/json”.
- 23 lutego 2015: dostępne są odpowiedzi JSONP!
- 22 grudnia 2014: do odpowiedzi dodano nowe dane: górowanie Słońca, długość dnia oraz świt i zmierzch cywilny, żeglarski i astronomiczny (początek i koniec).
- 16 grudnia 2014: udostępniono pierwszą wersję API!
Kontakt
W sprawach dotyczących API skontaktuj się z nami.
If you enjoy using our API please consider supporting the project by buying us a coffee!