API cuaca gratis dengan kualitas udara dalam satu panggilan
Satu kunci API, dua titik akhir, dan fungsi Node.js 40 baris yang mengembalikan suhu saat ini dan PM2.5 untuk kota mana pun. Tidak ada peningkatan tingkat produk.
Anda sedang membuat aplikasi pemberitahuan kebakaran hutan, perencana rute lari, atau spanduk e-commerce yang bereaksi terhadap kualitas udara lokal. Anda memerlukan suhu saat ini, kondisi hujan, dan PM2.5 dari API yang sama. Setiap penyedia cuaca populer menetapkan kualitas udara di balik produk terpisah tingkat, kunci API terpisah, atau kontrak perusahaan. Anda tidak perlu membayar $40 sebulan untuk itu memberi tahu pengguna apakah aman untuk jogging di luar.
API botoi memberi Anda /v1/weather/current Dan
/v1/air-quality/check pada kunci bebas yang sama. Dua titik akhir POST, JSON in dan JSON
keluar, dan 1000 permintaan sehari setelah Anda mendaftar.
Mengapa AQI tersembunyi di balik paywall
OpenWeatherMap menjual API Polusi Udara sebagai peningkatan. Paket gratis mencakup cuaca saat ini dan prakiraan cuaca selama lima hari, namun riwayat kualitas udara dan batas panggilan AQI yang lebih tinggi tetap ada Tingkat Profesional dan Perusahaan mulai dari $40 per bulan. Anda juga membawa kunci API terpisah per kelompok produk, jadi proyek hobi akhirnya menyulap dua dasbor.
WeatherAPI.com mengiklankan satu juta panggilan gratis setiap bulannya, dan mereka mewujudkannya untuk cuaca. Kualitas udara disertakan dalam paket Pro. AccuWeather mempertahankan AQI pada tingkat Perusahaan dengan a gerbang panggilan penjualan. Tomorrow.io memberi Anda uji coba dengan batas tarif yang cukup rendah untuk satu halaman penyegaran menghabiskan anggaran Anda.
| Penyedia | Panggilan tingkat gratis | bebas AQI? | Penulis | Titik akhir gabungan? |
|---|---|---|---|---|
| diterbitkan | 5/mnt anonim, 1000/hari dikunci | Ya | Satu kunci untuk keduanya | Dua titik akhir POST, satu kunci |
| OpenWeatherMap | 1000/hari | Tidak (peningkatan berbayar) | Pisahkan kunci per produk | Tidak, bagi menjadi beberapa produk |
| WeatherAPI.com | ~1 juta/bulan | Tidak (Tingkat Pro) | Satu kunci, gerbang Pro | Titik akhir tunggal, khusus Pro |
| AccuWeather | Uji coba 50/hari | Tidak (Perusahaan) | Gerbang penjualan | TIDAK |
Dapatkan cuaca terkini dalam satu ikal
Itu /v1/weather/current titik akhir menerima nama kota, kode pos, atau lintang/bujur
berpasangan. Ini mengembalikan suhu dalam Celsius dan Fahrenheit, kelembaban, kecepatan angin, sebuah teks
kondisinya, kunci ikon yang dapat Anda petakan ke sprite sheet Anda sendiri, dan koordinat yang diselesaikan.
Tanggapan:
Tunggu sebentar lat Dan lon bidang. Anda akan langsung memberi mereka makan
titik akhir kualitas udara sehingga Anda tidak perlu melakukan panggilan geocoding kedua.
Tambahkan kualitas udara pada ikal kedua
Itu /v1/air-quality/check titik akhir mengambil lintang/bujur dan mengembalikan US EPA Air
Indeks Kualitas, label kategori, dan konsentrasi polutan individual. PM2.5 dan PM10
apakah dua angka yang paling diperhatikan oleh aplikasi kesehatan; sisanya mencakup ozon, nitrogen dioksida,
sulfur dioksida, dan karbon monoksida untuk kasus penggunaan yang lebih ketat.
Tanggapan:
AQI 62 dengan label Sedang berarti sebagian besar orang boleh keluar rumah, kecuali siapa saja yang menderita asma
harus santai saja. Itu aqi_category bidang menyelamatkan Anda dari memasukkan nomor tersebut
diri Anda sendiri dan menjaga salinan UI Anda konsisten dengan bahasa resmi EPA.
Gabungkan keduanya dalam satu fungsi Node.js
Sebagian besar aplikasi menginginkan satu nomor per kota, bukan dua perjalanan pulang pergi terpisah yang tersebar di seluruh kota basis kode. Fungsi 40 baris ini membungkus kedua titik akhir, menangani batas waktu, dan mengembalikan gabungan objek yang dapat Anda letakkan di dasbor mana pun.
Fungsi ini melakukan dua panggilan berurutan karena panggilan kedua memerlukan koordinat dari panggilan pertama.
Jika Anda sudah memiliki cache lintang/bujur dari permintaan sebelumnya, jalankan kedua panggilan secara paralel
Promise.all dan memotong latensi menjadi dua. Node 20+ memiliki yang asli fetch
Dan AbortController, jadi Anda tidak memerlukan aksio atau pengambilan simpul.
Tiga kegunaan dunia nyata dengan kode
Perencana rute lari
Aplikasi kebugaran menyarankan rute luar ruangan. Saat PM2.5 melonjak atau terjadi badai petir, saran rute harus dijeda dan menunjukkan alternatif dalam ruangan. Fungsi ini mengembalikan salah satu dari tiga keadaan: pergi, lewati, atau penasehat.
Pengembalian tiga negara bagian itu penting. Biner ya/tidak menyembunyikan jalan tengah tempat larinya baik-baik saja tetapi lebih pendek lebih pintar. Pengguna yang sensitif menghargai nuansanya, dan Anda menghindarinya membuat frustrasi pelari berpengalaman dengan peringatan yang terlalu berhati-hati.
Spanduk e-commerce untuk pembersih udara
Sebuah toko perlengkapan rumah menjual alat pembersih udara. Ketika pengunjung mendarat dari kota dengan AQI di atas 100, produk tersebut benar-benar berguna, jadi tunjukkan saja. Saat udara bersih, sembunyikan spanduk itu tidak terasa seperti pemasaran ketakutan.
Ambil ketentuannya sendiri /api/conditions proxy sehingga kunci API Anda tetap ada
di server. Simpan hasilnya per kota selama 30 menit di tepinya; AQI bergerak cukup lambat
kesegaran setengah jam itu bagus untuk spanduk etalase.
Pengiriman ETA dengan penyangga cuaca
Aplikasi pengiriman menunjukkan ETA 25 menit. Hujan deras di kota pengendara berarti 10 menit lagi. Badai petir berarti 20. Menambahkan buffer sebelum Anda menampilkan ETA mencegah kekecewaan pelanggan melacak pengendara yang terlambat.
Jaga agar aturan buffer tetap sederhana. Pengemudi dan pelanggan sama-sama mempercayai ETA yang mendarat di dalam jendela, dan memberi waktu 10 hingga 20 menit untuk cuaca basah lebih bersifat jujur daripada defensif.
Batasan nilai dan kunci
Akses anonim memungkinkan 5 permintaan per menit dan 100 per hari, berbasis IP. Itu cukup untuk buat demo atau buat proyek pribadi tanpa mendaftar.
Daftar untuk mendapatkan kunci gratis di botoi.com/api untuk menaikkan batas menjadi 1000 permintaan
per hari. Kunci yang sama berfungsi untuk cuaca dan kualitas udara, ditambah 190+ titik akhir lainnya
platformnya. Tekan 429 dan API mengembalikan a Retry-After header dalam hitungan detik jadi
klien Anda dapat mundur dengan bersih.
Poin-poin penting
-
/v1/weather/currentmengambil kota, pos, atau lintang/bujur dan mengembalikan suhu, kelembaban, angin, kondisi teks, dan koordinat. -
/v1/air-quality/checkmengambil lintang/bujur dan mengembalikan AQI EPA AS, label kategori, dan pembacaan PM2.5, PM10, O3, NO2, SO2, dan CO. - Kedua titik akhir berbagi satu kunci API. Setiap penyedia lain mengenakan biaya tambahan untuk AQI atau menyembunyikannya di belakang gerbang perusahaan.
- Tingkat gratis mencakup 5 permintaan per menit secara anonim, 1000 per hari dengan kunci. Tanggapannya adalah edge-cache di Cloudflare Workers untuk latensi di bawah 100 ms.
- Cache cuaca selama 15 menit dan AQI selama 30 menit di aplikasi Anda. Tidak ada yang bergerak cukup cepat memerlukan polling real-time, dan caching membuat Anda tetap berada dalam tingkat gratis bahkan untuk tingkat berat dasbor.
FAQ
- Skala AQI apa yang digunakan API?
- Titik akhir /v1/air-quality/check menampilkan Indeks Kualitas Udara EPA AS, skala 0-500 dengan 0-50 Baik, 51-100 Sedang, 101-150 Tidak Sehat untuk Kelompok Sensitif, 151-200 Tidak Sehat, 201-300 Sangat Tidak Sehat, dan 301+ Berbahaya. Bidang aqi_category memuat label sehingga Anda tidak perlu memasukkan nomornya sendiri.
- Seberapa segar data cuacanya?
- Kondisi saat ini diperbarui setiap jam dari layanan meteorologi nasional. Untuk sebagian besar dasbor, aplikasi notifikasi, dan kasus penggunaan e-niaga, pengamatan setiap jam sudah cukup akurat. Jika Anda memerlukan pembaruan tingkat menit untuk peringatan penerbangan atau cuaca buruk, jangan terlalu banyak melakukan cache dan hubungi sesuai permintaan.
- Apakah ini berfungsi dengan kode pos atau hanya lintang/bujur?
- Keduanya. Kirim {"city": "San Francisco"} atau {"city": "94107"} ke /v1/weather/current dan API akan melakukan geocode untuk Anda. Responsnya mencakup bidang lintang dan bujur sehingga Anda dapat memasukkannya langsung ke /v1/air-quality/check tanpa panggilan geocoding terpisah.
- Apakah ada titik akhir batch untuk beberapa kota?
- Titik akhir cuaca menangani satu kota per permintaan. Untuk beberapa kota, kembangkan dengan Promise.all di sisi klien; tingkat gratis memungkinkan 5 permintaan per menit, sehingga hingga 5 kota per burst. Untuk pekerjaan batch yang lebih berat, kunci API gratis menaikkan batas menjadi 1000 permintaan per hari.
- Apa yang terjadi bila saya mencapai batas tarif?
- API mengembalikan HTTP 429 dengan header Retry-After dalam hitungan detik. Mundur sesuai nilai yang ditampilkan dan coba lagi; jendelanya adalah satu menit berjalan pada akses anonim dan satu hari berjalan pada akses kunci. Tangani 429 secara eksplisit sehingga Anda tidak secara diam-diam menghapus pembaruan cuaca dari dasbor Anda.
Mulai membangun dengan botoi
150+ endpoint API untuk pencarian, pemrosesan teks, pembuatan gambar, dan utilitas developer. Paket gratis, tanpa kartu kredit.