OrbTop

Hotel Price Comparison Scraper

TRAVELBUSINESSLEAD GENERATION

Hotel Price Comparison Scraper

Compare hotel prices across Booking.com, Expedia, Hotels.com, and Priceline from a single search. Collect nightly rates, guest ratings, star ratings, amenities, and photos for any destination. Perfect for travel market research and rate intelligence.

What It Does

This actor searches multiple online travel agencies (OTAs) simultaneously for hotels matching your destination and dates. It returns structured data including prices, ratings, amenities, and images — without requiring any account credentials.

Supported sources:

  • Booking.com — nightly rates, review scores, star ratings, amenities, photos
  • Expedia — nightly rates, guest ratings, property details
  • Hotels.com — nightly rates, guest ratings, star ratings
  • Priceline — nightly rates, guest ratings

Use Cases

  • Travel price monitoring — track rate changes across OTAs for specific destinations and dates
  • Market research — benchmark competitive pricing for hospitality businesses
  • Rate intelligence — identify price gaps between platforms for arbitrage or travel planning
  • Lead generation — build datasets of properties with pricing and contact details

Input

Field Type Required Description
destination string Yes City, region, or address. Example: New York, NY
checkIn string Yes Check-in date in YYYY-MM-DD format
checkOut string Yes Check-out date in YYYY-MM-DD format. Must be after check-in
adults integer No Number of adult guests per room (default: 2)
rooms integer No Number of rooms (default: 1)
sources array No OTA sources to search: booking.com, expedia.com, hotels.com, priceline.com. Leave empty to search all
maxItems integer No Maximum hotel records to collect across all sources (default: 15)

Example Input

{
  "destination": "Paris, France",
  "checkIn": "2026-09-15",
  "checkOut": "2026-09-18",
  "adults": 2,
  "rooms": 1,
  "sources": ["booking.com", "expedia.com"],
  "maxItems": 20
}

Output

Each item in the dataset represents one hotel listing from one OTA. The same physical hotel may appear multiple times if found on multiple sources — this is by design and enables cross-OTA price comparison.

Field Type Description
hotel_name string Hotel name as shown on the OTA listing
hotel_url string Direct URL to the hotel listing
source string Source OTA (e.g., booking.com)
destination string Search destination as provided
check_in string Check-in date (YYYY-MM-DD)
check_out string Check-out date (YYYY-MM-DD)
price_per_night number Nightly rate in reported currency. Null if not displayed
price_currency string Currency code (e.g., USD)
total_price number Total stay price if available. Null if not shown
review_score number Guest review score on a 0–10 scale. Null if not shown
review_count integer Number of guest reviews. Null if not shown
star_rating number Official star rating (1–5). Null if not shown
amenities string Comma-separated list of highlighted amenities
image_url string URL of the hotel's primary listing image
address string Hotel address or neighborhood (if available)
scraped_at string ISO 8601 timestamp of when this record was scraped

Example Output

{
  "hotel_name": "The Manhattan Hotel",
  "hotel_url": "https://www.booking.com/hotel/us/the-manhattan.html",
  "source": "booking.com",
  "destination": "New York, NY",
  "check_in": "2026-08-01",
  "check_out": "2026-08-02",
  "price_per_night": 189.00,
  "price_currency": "USD",
  "total_price": 189.00,
  "review_score": 8.4,
  "review_count": 1243,
  "star_rating": 4,
  "amenities": "Free WiFi, Air conditioning, Non-smoking rooms",
  "image_url": "https://cf.bstatic.com/images/hotel/max1024x768/...",
  "address": "Midtown Manhattan",
  "scraped_at": "2026-08-01T12:34:56.789Z"
}

Notes

  • Anti-bot protections: OTAs employ aggressive bot detection. This actor uses residential proxies to maximize success rates, and is classified as a high-complexity scraper (compatibility tier 2).
  • Dynamic pricing: Hotel prices change frequently. Results reflect pricing at the time of the run.
  • Source availability: Not all hotels appear on all OTAs. Comparing multiple sources gives broader coverage.
  • Date sensitivity: Prices vary significantly by date, season, and how far in advance you book. Run the actor with your exact travel dates for accurate data.
  • Currency: Prices are returned in the currency displayed by the OTA, which depends on your proxy's exit country (defaults to US).