Booking Scraper Ppr avatar
Booking Scraper Ppr

Pricing

from $1.70 / 1,000 results

Go to Apify Store
Booking Scraper Ppr

Booking Scraper Ppr

Booking.com scraper. Only pay for hotels returned - no compute costs, no proxy fees. Extract prices, ratings, reviews, locations. 20+ data points per hotel. No charge for failed runs or empty results. Predictable pricing, guaranteed data.

Pricing

from $1.70 / 1,000 results

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Booking.com Scraper - Pay Per Result

by SilentFlow

Only pay for what you get. No compute costs, no proxy fees, no surprises. Just results.

Why Pay Per Result?

Traditional ScraperPay Per Result
Pay for compute timePay only for data
Proxy costs extraProxies included
Failed runs cost moneyNo charge if it fails
Unpredictable costsKnow exactly what you'll pay

What you get

Every hotel includes 20+ data points:

{
"hotelId": "12345678",
"name": "Le Grand Hotel Paris",
"type": "Hotel",
"url": "https://www.booking.com/hotel/fr/le-grand-paris.html",
"address": "2 Rue Scribe",
"city": "Paris",
"countryCode": "fr",
"latitude": 48.8706,
"longitude": 2.3315,
"publicTransport": "Opéra station is within 100 yards",
"starRating": 5,
"reviewScore": 9.1,
"reviewCount": 4521,
"reviewWord": "Superb",
"price": 580.00,
"originalPrice": 650.00,
"currency": "EUR",
"mainPhoto": "https://cf.bstatic.com/xdata/images/hotel/...",
"freeCancellation": true,
"breakfastIncluded": true,
"isPreferred": true,
"isSustainable": true,
"checkIn": "2024-06-15",
"checkOut": "2024-06-17",
"scrapedAt": "2024-06-01T12:00:00Z"
}

Input parameters

Required (one of these)

ParameterTypeDescription
locationstringCity, region, or country (e.g., "Paris", "Bali")
searchUrlstringFull Booking.com search URL

Search options

ParameterTypeDefaultDescription
checkInstring+7 daysCheck-in date (YYYY-MM-DD)
checkOutstring+8 daysCheck-out date (YYYY-MM-DD)
adultsinteger2Number of adult guests
roomsinteger1Number of rooms
maxItemsinteger100Maximum hotels to return

Filters

Use filters to get only the hotels you need:

ParameterTypeDescription
minPriceintegerMinimum price per night
maxPriceintegerMaximum price per night
starsintegerMinimum star rating (1-5)
minReviewScorenumberMinimum guest score (1-10)
freeCancellationbooleanOnly free cancellation

Display options

ParameterTypeDefaultOptions
currencystringUSDUSD, EUR, GBP, JPY, etc.
languagestringen-usen-us, fr, de, es, it, ja, etc.

Examples

Get 20 luxury hotels in Dubai

{
"location": "Dubai",
"stars": 5,
"minReviewScore": 9,
"maxItems": 20,
"currency": "USD"
}

Budget hotels in Bangkok

{
"location": "Bangkok",
"maxPrice": 50,
"freeCancellation": true,
"maxItems": 50,
"currency": "USD"
}

All hotels in a small town

{
"location": "Cinque Terre, Italy",
"maxItems": 100,
"currency": "EUR"
}

Integrations

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("silentflow/booking-scraper-ppr").call(run_input={
"location": "Amsterdam",
"maxItems": 50,
"currency": "EUR"
})
for hotel in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{hotel['name']}: €{hotel['price']}")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('silentflow/booking-scraper-ppr').call({
location: 'Vienna',
maxItems: 30,
currency: 'EUR'
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(`Got ${items.length} hotels`);

Tips for best results

  1. Use maxItems wisely: Only request what you need
  2. Apply filters: stars, minReviewScore, maxPrice reduce results
  3. Be specific: "Paris, France" instead of "Paris" avoids wrong results
  4. Test first: Try with maxItems: 5 to verify your filters work

FAQ

Q: What if no hotels are found? A: You pay nothing. Only successful results are charged.

Q: What if the run fails? A: You pay nothing. Failed runs don't charge you.

Q: Is there a minimum charge? A: No minimum. Get 1 hotel = pay for 1 hotel.

Q: Are proxy costs included? A: Yes! Residential proxies are included in the per-result price.

When to use PPR vs Standard

Use PPR when...Use Standard when...
You need predictable costsYou're scraping thousands of hotels
You want guaranteed resultsYou have Apify compute credits
You're testing or prototypingYou're running scheduled jobs
Budget is per-result focusedBudget is time-based

Data fields

CategoryFields
IdentityhotelId, name, type, url
Locationaddress, city, countryCode, latitude, longitude, publicTransport
RatingsstarRating, reviewScore, reviewCount, reviewWord
Pricingprice, originalPrice, currency, taxesAndCharges
MediamainPhoto
PoliciesfreeCancellation, breakfastIncluded, noPrepayment
BadgesisPreferred, isSustainable
MetacheckIn, checkOut, scrapedAt

Support

Need help? We're here for you:

  • Bug reports: Open an issue on the actor page
  • Questions: Message us via Apify console
  • Feature requests: Let us know what you need
  • Custom solutions: Contact us for enterprise integrations or high-volume needs

Check out our other scrapers: SilentFlow on Apify


Remember: You only pay for results. No results = no charge.