Booking Scraper Ppr
Pricing
from $1.70 / 1,000 results
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
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 Scraper | Pay Per Result |
|---|---|
| Pay for compute time | Pay only for data |
| Proxy costs extra | Proxies included |
| Failed runs cost money | No charge if it fails |
| Unpredictable costs | Know 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)
| Parameter | Type | Description |
|---|---|---|
location | string | City, region, or country (e.g., "Paris", "Bali") |
searchUrl | string | Full Booking.com search URL |
Search options
| Parameter | Type | Default | Description |
|---|---|---|---|
checkIn | string | +7 days | Check-in date (YYYY-MM-DD) |
checkOut | string | +8 days | Check-out date (YYYY-MM-DD) |
adults | integer | 2 | Number of adult guests |
rooms | integer | 1 | Number of rooms |
maxItems | integer | 100 | Maximum hotels to return |
Filters
Use filters to get only the hotels you need:
| Parameter | Type | Description |
|---|---|---|
minPrice | integer | Minimum price per night |
maxPrice | integer | Maximum price per night |
stars | integer | Minimum star rating (1-5) |
minReviewScore | number | Minimum guest score (1-10) |
freeCancellation | boolean | Only free cancellation |
Display options
| Parameter | Type | Default | Options |
|---|---|---|---|
currency | string | USD | USD, EUR, GBP, JPY, etc. |
language | string | en-us | en-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 ApifyClientclient = 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
- Use
maxItemswisely: Only request what you need - Apply filters:
stars,minReviewScore,maxPricereduce results - Be specific: "Paris, France" instead of "Paris" avoids wrong results
- Test first: Try with
maxItems: 5to 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 costs | You're scraping thousands of hotels |
| You want guaranteed results | You have Apify compute credits |
| You're testing or prototyping | You're running scheduled jobs |
| Budget is per-result focused | Budget is time-based |
Data fields
| Category | Fields |
|---|---|
| Identity | hotelId, name, type, url |
| Location | address, city, countryCode, latitude, longitude, publicTransport |
| Ratings | starRating, reviewScore, reviewCount, reviewWord |
| Pricing | price, originalPrice, currency, taxesAndCharges |
| Media | mainPhoto |
| Policies | freeCancellation, breakfastIncluded, noPrepayment |
| Badges | isPreferred, isSustainable |
| Meta | checkIn, 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.