Google Hotels Scraper
Spider read google.com/travel/hotels in 1.4 s without a browser and returned 30 lines of clean markdown, including the section "Bevor Sie zu Google weitergehen".
Google gibt es auch auf: EnglishWerbeprogrammeUnternehmen Wie funktioniert die Google Suche?Drei Jahrzehnte Klimaschutz: Jede Entscheidung zähltDatenschutzerklärungNutzungsbedingungen# Bevor Sie zu Google weitergehenWir verwenden Cookies und Daten einschließlich IP-Adressen, um* Google-Dienste zu erbringen und zu betreiben* Ausfälle zu prüfen und Maßnahmen gegen Spam, Betrug und Missbrauch zu ergreifen* Daten zu Zielgruppeninteraktionen und Websitestatistiken zu erheben. Mit den gewonnenen Informationen möchten wir verstehen, wie unsere Dienste verwendet werden, und die Qualität dieser Dienste verbessern.Wenn Sie „Alle akzeptieren“ auswählen, verwenden wir Cookies und Daten einschließlich IP-Adressen auch, um* neue Dienste zu entwickeln und zu verbessern* Werbung auszuliefern und ihre Effektivität zu messen* je nach Ihren Einstellungen personalisierte Inhalte anzuzeigen* personalisierte Werbung anzuzeigen, abhängig von Ihren EinstellungenWenn Sie „Alle ablehnen“ auswählen, verwenden wir Cookies oder IP-Adressen nicht für diese zusätzlichen Zwecke.Nicht personalisierte Inhalte werden u. a. von Inhalten, die Sie sich gerade ansehen, Aktivitäten in Ihrer aktiven Suchsitzung und Ihrem Standort beeinflusst. Nicht personalisierte Werbung wird von den Inhalten, die Sie sich gerade ansehen, und Ihrem allgemeinen Standort beeinflusst. Personalisierte Inhalte und Werbung können auch relevantere Ergebnisse, Empfehlungen und individuelle Werbung enthalten, die auf früheren Aktivitäten in diesem Browser, etwa Suchanfragen bei Google, beruhen. Sofern relevant, verwenden wir Cookies und Daten außerdem, um Inhalte und Werbung altersgerecht zu gestalten.Wählen Sie „Weitere Optionen“ aus, um sich zusätzliche Informationen anzusehen, einschließlich Details zum Verwalten Ihrer Datenschutzeinstellungen. Sie können auch jederzeit g.co/privacytools besuchen.DatenschutzNutzungsbedingungen The same call, in code.
The capture above came back as markdown. These examples add a key, so you get browser rendering, proxies, and concurrency on google.com/travel/hotels.
import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.google.com/travel/hotels/London?q=hotels+in+london&g2lb=2502548&hl=en&gl=us&cs=1&ssta=1&ts=CAESCgoCCAMKAggDEAAaRwopEicyJTB4NDg3NjA0ZGVhZjIyMWU5YjoweDEzZDRhMTM4MTc2NmQxMTQSGhIUCgcI6A8QBhgTEgcI6A8QBhgUGAEyAhAAKgsKBygBOgNHQlAaAA");
// No selectors, no schema. Spider reads the page and names the fields.
const data = await page.scrape();
console.log(data);
await spider.close(); import { SpiderBrowser } from "spider-browser";
const spider = new SpiderBrowser({
apiKey: process.env.SPIDER_API_KEY!,
stealth: 2,
});
await spider.connect();
const page = spider.page!;
await page.goto("https://www.google.com/travel/hotels/London?q=hotels+in+london&g2lb=2502548&hl=en&gl=us&cs=1&ssta=1&ts=CAESCgoCCAMKAggDEAAaRwopEicyJTB4NDg3NjA0ZGVhZjIyMWU5YjoweDEzZDRhMTM4MTc2NmQxMTQSGhIUCgcI6A8QBhgTEgcI6A8QBhgUGAEyAhAAKgsKBygBOgNHQlAaAA");
await page.content(15000);
const data = await page.evaluate(`(() => {
const hotels = [];
document.querySelectorAll("[data-ved]").forEach(el => {
const name = el.querySelector("h2, h3, [role='heading']")?.textContent?.trim();
const price = [...(el.querySelectorAll("span") || [])].find(s => /$[d,]+/.test(s.textContent || ""))?.textContent?.trim();
const rating = el.querySelector("[aria-label*='star'], [aria-label*='rating']")?.getAttribute("aria-label") || el.querySelector("[aria-label*='star']")?.textContent?.trim();
const reviews = [...(el.querySelectorAll("span") || [])].find(s => /[d,]+s*review/i.test(s.textContent || ""))?.textContent?.trim();
if (name) hotels.push({ name, price, rating, reviews });
});
return JSON.stringify({ total: hotels.length, hotels: hotels.slice(0, 10) });
})()`);
console.log(JSON.parse(data));
await spider.close(); Ready for volume? Get an API key →
Fields you can pull.
Spider names these from the page. The capture above came back as markdown; the same
call with return_format: "json" returns them as keys.
What google.com/travel/hotels costs to scrape.
The capture above cost $0.000455 to fetch. Pricing is $1 per GB of pre-transformation bandwidth plus $0.001 per CPU minute, so a page like this one lands at a fraction of a cent. Failed requests are billed at $0.
- Free balance on signup
- No card required to test
- Balance never expires
Run it keyless, no account
More Travel scrapers.
Expedia Scraper
Extract travel deals, hotel listings, flight prices, and booking data from Expedia.
Airbnb Scraper
Extract Airbnb listings, pricing, host info, reviews, and availability from search results.
TripAdvisor Scraper
Extract hotel reviews, restaurant ratings, attraction data, and traveler photos from TripAdvisor.
Start scraping google.com/travel/hotels.
You already have the call. A key raises the rate limit and turns on browser rendering, proxies, and concurrency. Balance never expires, and top-ups go through secure checkout.