API waktu matahari terbenam dan matahari terbit
Kami menawarkan API gratis yang menyediakan waktu matahari terbenam dan matahari terbit untuk lintang dan bujur tertentu.
Harap dicatat bahwa atribusi diperlukan jika Anda menggunakan API kami. Lihat bagian "Batas penggunaan dan atribusi" di bawah ini untuk informasi lebih lanjut.
Ini adalah versi 1 dari API — didukung tanpa batas waktu.
Disarankan kalau Anda sudah memakainya. Untuk proyek baru, sebaiknya pakai versi 2 dari API ini.
Versi ini akan terus berjalan persis seperti sekarang. Fitur-fitur yang lebih baru — zona waktu lokal otomatis, stempel waktu ISO 8601, golden hour dan blue hour, posisi matahari dan rentang tanggal — hanya ada di versi 2 dari API ini.
Akurasi perhitungan
Versi API ini mempertahankan perhitungan aslinya supaya kode yang sudah ada tidak rusak. Di dalamnya ada masalah yang sudah diketahui pada waktu terbit dan terbenam: matahari terbit sedikit terlalu awal, terbenam sedikit terlalu lambat, sehingga siangnya tampak sedikit lebih panjang dari yang sebenarnya. Ini sudah diperbaiki di versi 2 dari API ini.
Seberapa meleset bergantung pada lokasi dan tanggal: sekitar satu menit di dekat khatulistiwa dan hingga sekitar delapan menit di lintang tinggi. Waktu senja juga sedikit meleset: beberapa detik di dekat khatulistiwa dan hingga sekitar satu menit di lintang tinggi.
Dokumentasi API
API kami adalah REST API yang sangat sederhana, Anda hanya perlu melakukan permintaan GET ke https://api.sunrise-sunset.org/json. Tidak perlu mendaftar atau mendapatkan Kunci API.
Parameter permintaan
- lat (float): Lintang dalam derajat desimal. Wajib.
- lng (float): Bujur dalam derajat desimal. Wajib.
- date (string): Tanggal dalam format TTTT-BB-HH. Juga menerima format tanggal lainnya dan bahkan format tanggal relatif. Jika tidak ada, tanggal default adalah tanggal saat ini. Opsional.
- callback (string): Nama fungsi callback untuk respons JSONP. Opsional.
- formatted (integer): 0 atau 1 (1 adalah default). Nilai waktu dalam respons akan dinyatakan mengikuti ISO 8601 dan day_length akan dinyatakan dalam detik. Opsional.
- tzid (string): Pengidentifikasi zona waktu, contohnya: UTC, Africa/Lagos, Asia/Hong_Kong, atau Europe/Lisbon. Daftar pengidentifikasi yang valid tersedia di Daftar Zona Waktu yang Didukung. Jika disediakan, waktu dalam respons akan mengacu pada Zona Waktu yang diberikan. Opsional.
Contoh permintaan
Berikut adalah tiga contoh permintaan untuk mendapatkan informasi matahari terbenam dan matahari terbit dari API kami untuk lokasi tertentu:
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-15 https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&formatted=0
Respons
Respons API mencakup waktu untuk peristiwa matahari di lokasi yang diberikan. Data diformat menggunakan JSON.
Perhatikan bahwa kecuali Anda menyediakan tzid, semua waktu dalam UTC dan penyesuaian waktu musim panas tidak termasuk dalam data yang dikembalikan.
Contoh respons:
{
"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"
}
Respons tanpa format tanggal:
{
"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"
}
Lihat glosarium definisi astronomi kami untuk memahami setiap elemen dari objek respons.
Kode status
Kolom "status" dalam objek respons API berisi status permintaan. Kolom "status" dapat berisi nilai berikut:
- "OK": menunjukkan bahwa tidak ada kesalahan yang terjadi;
- "INVALID_REQUEST": menunjukkan bahwa parameter lat atau lng tidak ada atau tidak valid;
- "INVALID_DATE": menunjukkan bahwa parameter tanggal tidak ada atau tidak valid;
- "UNKNOWN_ERROR": menunjukkan bahwa permintaan tidak dapat diproses karena kesalahan server. Permintaan mungkin berhasil jika Anda mencoba lagi.
- "INVALID_TZID": menunjukkan bahwa nilai parameter tzid yang diberikan tidak valid, respons valid tetapi waktu dalam UTC.
Bagaimana menggunakan API dari permintaan AJAX?
Gunakan parameter callback untuk menerima respons JSONP dan menghindari batasan lintas domain:
https://api.sunrise-sunset.org/json?lat=36.7201600&lng=-4.4203400&callback=mycallback
Batas penggunaan dan atribusi
API matahari terbit dan terbenam dapat digunakan gratis. API ini tidak boleh digunakan melebihi jumlah permintaan yang wajar atau secara berlebihan maupun menyalahgunakan. Atribusi wajib: lihat cara menyebutkan kami.
Pengumuman
Berlangganan buletin API kami untuk mendapatkan informasi terbaru tentang perubahan dan pengumuman layanan:
Dapatkan pemberitahuan setiap ada perubahan: di GitHub, buka repositori API kami dan pilih Watch → Custom → Releases, atau ikuti feed RSS kami.
💡 Punya ide keren? 🤦 Menemukan kesalahan?
Kami selalu berusaha meningkatkan situs ini!
Jika Anda memiliki ide tentang konten atau informasi untuk disertakan di halaman ini atau menemukan kesalahan, silakan beri tahu kami!
Catatan perubahan
- 14 Oktober 2026: API versi 1 kini menolak koordinat di luar rentang (lintang di luar -90..90 atau bujur di luar -180..180) dengan
INVALID_REQUEST. Sebelumnya API menjawab dengan waktu yang tidak masuk akal. Permintaan yang valid tidak terpengaruh. - April 5, 2026: API v2 released! Local timezone by default, ISO 8601, golden & blue hour, solar position, date ranges and semantic HTTP errors. The classic API is unchanged and stays supported indefinitely.
- 27 Desember 2023: Beberapa perbaikan bug minor.
- 5 Desember 2023: Parameter tzid baru memungkinkan Anda menyediakan zona waktu khusus untuk permintaan Anda.
- 29 November 2023: Merilis halaman status API. Berlangganan untuk menerima peringatan jika layanan mengalami gangguan.
- 21 September 2018: Server API baru! Masalah waktu henti telah diperbaiki.
- 5 April 2017: Permintaan HTTPS diterima.
- 26 Februari 2016: Tanggal sekarang diperiksa untuk memastikan tanggal Gregorian yang valid.
- 22 Mei 2015: Dukungan untuk tanggal ISO 8601 dengan menambahkan parameter 'formatted' ke permintaan.
- 16 Mei 2015: Bug minor diperbaiki.
- 22 April 2015: CORS telah diaktifkan.
- 15 Maret 2015: Tipe konten respons diubah menjadi "application/json".
- 23 Februari 2015: Respons JSONP tersedia!
- 22 Desember 2014: Data baru ditambahkan ke respons: tengah hari matahari, durasi siang dan senja sipil, nautis dan astronomis (awal dan akhir).
- 16 Desember 2014: Versi pertama API telah dirilis!
Kontak
Silakan hubungi kami untuk semua pertanyaan API Anda.
If you enjoy using our API please consider supporting the project by buying us a coffee!