Saya menjalankan FlightPowers, API kecil yang membaca tarif langsung dari Booking.com, jadi saya bias terhadap satu baris di tabel ini. Saya ingin tahu bagaimana ia bertahan dibandingkan API yang biasa orang bandingkan dengannya, jadi saya menghabiskan satu sore mengirimkan pertanyaan yang sama kepada semuanya dan menyimpan setiap respons. Pengaturannya: menginap yang sama untuk semua orang, check-in 2026-11-20, check-out 2026-11-23, 2 dewasa, 1 kamar, USD. Tiga pertanyaan, masing-masing tiga kali dijalankan, median waktu respons dari satu server di AS: pencarian tujuan untuk Lisbon, diurutkan menurut harga jika API-nya bisa mengurutkan. Satu hotel bernama: Hotel Artemide di Roma. (Saya mulai dari Hotel Sant'Angelo, tapi hotel itu habis terjual di Booking.com untuk tanggal-tanggal itu.) Hotel yang sama dilihat dari Jerman dan dari AS, di API yang punya input untuk itu. Hanya paket gratis. SerpApi diberi no_cache=true, karena default-nya mengembalikan pencarian identik dari cache selama satu jam dan itu akan memnguntungkan waktunya secara semu.
Kecepatan dan Pengurutan Berbagai API
Kecepatan dan pengurutan. StayAPI (Booking.com): pencarian Lisbon 1,1 detik, tanpa pengurutan harga, satu hotel bernama dalam 2 panggilan: pencarian ID, lalu harga (2,5 detik untuk panggilan harga). SearchApi (Booking.com): 1,9 detik, bisa urut, daftar kamar dalam 2 panggilan: pencarian untuk URL, lalu properti (3,0 detik untuk panggilan itu). HasData (Booking.com): 2,1 detik, bisa urut, daftar kamar dalam 2 panggilan: pencarian untuk URL, lalu tempatnya (3,2 detik). SerpApi (Google Hotels): 2,4 detik, bisa urut, 1 panggilan bernama (2,5 detik). FlightPowers, milik saya (Booking.com): 7,9 detik, tidak bisa urut, 1 panggilan bernama (10,2 detik). Apify voyager/booking-scraper: 75 detik termasuk penjalankan actor, baris kembali tanpa urutan, 1 kali jalan bernama (39 detik, satu kali jalan). Xotelo (tarif TripAdvisor): 0,7 detik, tapi daftarnya tidak menerima tanggal, n/a, dicari lewat kunci TripAdvisor (0,7 detik).
Saya adalah yang paling lambat. Ia memuat halaman di browser sungguhan lewat proxy residensial untuk setiap panggilan, dan itu dibayar dalam satuan detik. Ia juga belum punya pengurutan harga: saya mengirim "sort": "price", itu diterima dan diabaikan, yang merupakan bug di daftar saya. Pencarian SearchApi dan HasData juga menerima nama hotel (SearchApi menempatkan Hotel Sant'Angelo pertama saat saya mencarinya berdasarkan nama), jadi satu harga untuk hotel bernama juga merupakan satu panggilan di sana. Panggilan kedua mereka adalah untuk daftar kamar lengkap.
Perbedaan Harga Kamar Akibat Komponen Pajak
Satu kamar, dua harga. Hotel Artemide, Basic Double, tiga malam itu. Berikut yang disebut setiap API sebagai harga: dari mana angka itu berasal dan apa yang kembali. HasData: $914,64 + pajak $142,12 = $1.056,76. StayAPI, pasar AS: total_price $914,64, pajak tercantum tidak termasuk. StayAPI, pasar Jerman: total_price $1.061,71, pajak tercantum termasuk. SearchApi: $915, tidak ada kolom pajak di baris kamar. FlightPowers, proxy_country=us: $1.057, tiga kali jalan dari tiga.
Tarif dasarnya sama. Booking.com menampilkan kepada pengunjung AS harga kamar sebelum pajak dan menambahkan VAT 10% serta pajak kota Roma di akhir. Tampilan Jerman membaurkannya ke dalam harga. Jadi angka yang Anda simpan bergantung pada field mana yang disebut API sebagai harga dan pasar mana yang dibacanya. total_price StayAPI berarti sebelum pajak di satu pasar dan sesudah pajak di pasar lain, untuk kamar yang sama. Dokumentasinya memperingatkan bahwa pasar mengubah tampilan pajak, dan rincian pajak menyebutkan arahnya, jadi Anda bisa memperbaikinya jika membacanya. Jika Anda memuat tarif hotel ke segala sesuatu yang membandingkan sumber atau negara, normalisasikan dulu ke total yang sudah termasuk pajak. Kalau tidak, akan muncul "selisih harga" 16% yang sebenarnya hanya soal akuntansi.
Dua hal yang lebih kecil. Baris termurah di Lisbon pada SearchApi dan pada HasData adalah asrama yang sama (bunk $51 sebelum pajak, $81 sesudah). Dan hasil termurah dari scraper Apify adalah satu tempat tidur di asrama berisi 10 tempat tidur yang dihargai untuk satu orang, pada pencarian untuk dua dewasa.
Pengaruh Lokasi Negara terhadap Penetapan Tarif
Apakah negara mengubah tarifnya? Sedikit, di hotel ini. Angka sebelum pajak StayAPI adalah $919,14 dari Jerman dan $914,64 dari AS. Milik saya, pajak sudah termasuk keduanya, membaca $1.028 dari Jerman pada dua dari tiga kali jalan dan $1.057 dari AS pada ketiganya. Tanpa negara yang dikunci, hasil milik saya lebih bervariasi ($935, $1.011 dan $1.062 untuk Basic Double pada tiga panggilan ke daftar kamar), karena setiap panggilan bisa berangkat dari IP residensial negara yang berbeda. Mengunci membantu tapi tidak menyelesaikannya: lari dari Jerman tetap membaca $1.062 sekali dan $1.028 dua kali.
Perbandingan Biaya pada Paket Awal Vendor
Berapa biayanya di paket awal. Dibaca dari halaman harga masing-masing vendor pada sore yang sama: HasData: satu panggilan Booking.com bernilai 10 kredit, jadi sekitar $0,003 per panggilan di paket $59 (200.000 kredit). SearchApi: $0,004 ($40 untuk 10.000), 100 request gratis sekali. FlightPowers: $0,005 ($10 untuk 2.000), 10 gratis per bulan. SerpApi: $0,025, paket termurahnya $25 untuk 1.000, 250 gratis per bulan. StayAPI: $0,033 ($49 untuk 1.500), 50 request gratis sekali. Jadi dua di antaranya lebih murah per panggilan daripada milik saya. Yang dimiliki milik saya adalah entri seharga $10 dan satu total yang sudah termasuk pajak dari negara yang Anda pilih.
Catatan. Satu sore, satu server, tiga kali jalan per query. Google Hotels adalah metasearch lintas penjual (34 untuk Artemide), jadi daftar Lisbon milik SerpApi bukan kumpulan hotel yang sama dengan API Booking.com. Makcorps tidak ada di angka waktu karena pendaftarannya meminta username dan password dan saya bertahan pada login Google, sedangkan Booking.com Demand API membutuhkan kontrak mitra. Tulisan lengkapnya, dengan setiap sumber harga dan waktu per panggilan, ada di halaman benchmark. Saya akan menjalankannya lagi bulan depan. Jika Anda menyimpan harga hotel di suatu tempat, saya penasaran apakah Anda menyimpan angka sebelum pajak dengan pajak di kolom terpisah, atau totalnya.