Hotel Price Comparison Scraper avatar

Hotel Price Comparison Scraper

Pricing

Pay per event

Go to Apify Store
Hotel Price Comparison Scraper

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.

Pricing

Pay per event

Rating

0.0

(0)

Developer

BowTiedRaccoon

BowTiedRaccoon

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

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

FieldTypeRequiredDescription
destinationstringYesCity, region, or address. Example: New York, NY
checkInstringYesCheck-in date in YYYY-MM-DD format
checkOutstringYesCheck-out date in YYYY-MM-DD format. Must be after check-in
adultsintegerNoNumber of adult guests per room (default: 2)
roomsintegerNoNumber of rooms (default: 1)
sourcesarrayNoOTA sources to search: booking.com, expedia.com, hotels.com, priceline.com. Leave empty to search all
maxItemsintegerNoMaximum 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.

FieldTypeDescription
hotel_namestringHotel name as shown on the OTA listing
hotel_urlstringDirect URL to the hotel listing
sourcestringSource OTA (e.g., booking.com)
destinationstringSearch destination as provided
check_instringCheck-in date (YYYY-MM-DD)
check_outstringCheck-out date (YYYY-MM-DD)
price_per_nightnumberNightly rate in reported currency. Null if not displayed
price_currencystringCurrency code (e.g., USD)
total_pricenumberTotal stay price if available. Null if not shown
review_scorenumberGuest review score on a 0–10 scale. Null if not shown
review_countintegerNumber of guest reviews. Null if not shown
star_ratingnumberOfficial star rating (1–5). Null if not shown
amenitiesstringComma-separated list of highlighted amenities
image_urlstringURL of the hotel's primary listing image
addressstringHotel address or neighborhood (if available)
scraped_atstringISO 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).