Booking Attractions Scraper avatar

Booking Attractions Scraper

Pricing

from $1.20 / 1,000 attraction chargeds

Go to Apify Store
Booking Attractions Scraper

Booking Attractions Scraper

Get things-to-do search results and reviews from Booking. Talks directly to Booking.com's own mobile app API, no login or API key needed. Split from the mature, published booking-all-in-one-api for a focused, single-purpose workflow.

Pricing

from $1.20 / 1,000 attraction chargeds

Rating

0.0

(0)

Developer

Romy

Romy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Share

What does Booking.com Attractions Scraper do?

Booking.com Attractions Scraper searches Booking.com things-to-do by destination — confirmed live: a real Bangkok search returned 1994 real results with real prices, ratings, and review counts. Three modes in one Actor: search (destination -> attraction list, with optional full detail per result), detail (one attraction's full detail by slug), and reviews (paginated reviews for one attraction, with an optional review-filter schema).

It talks directly to the same internal API the official Booking.com Android app uses, reverse-engineered by capturing live traffic from a real device. No Booking.com account, no API key of your own. This is the attractions slice of Booking.com All-in-One API, split out as its own focused Actor.

Why use Booking.com Attractions Scraper?

  • Real results, confirmed live — 1994 real things-to-do with real prices, ratings, and review counts for a real Bangkok search
  • Automatic destination resolution — pass a plain city name; this Actor resolves it to a ufi for you (the same id space as hotels' dest_id)
  • Real paginated reviews — confirmed live: 20 review ids per page, zero overlap between pages
  • A dedicated review-topic filter endpoint — a genuinely separate call from both search and the reviews themselves, confirmed live its rating filter genuinely narrows results
  • No account needed — every request works fully anonymously
  • Use cases: things-to-do content aggregation, review analysis, destination research bots

Input

Mode is auto-detected from which fields are set (slug -> detail, id -> reviews, otherwise search) if mode is left empty.

FieldTypeDescription
modestringsearch | detail | reviews
ufiintegerSearch mode. Destination id (same space as hotels' dest_id), e.g. -3414440 for Bangkok.
querystringSearch mode. Free-text destination, resolved to ufi automatically. Ignored if ufi is set.
page / limitintegerSearch mode: result page/page size. Reviews mode: review page/page size. Default page 1, limit 20.
includeDetailbooleanSearch mode. Fetch full attraction detail for every result. Default false.
maxItemsintegerSearch mode: max attractions pushed. Reviews mode: max reviews pushed.
slugstringDetail mode. The FULL slug string from a search result, e.g. prvajppfwe7k-the-newest-luxury-5-star-bangkok-chao-phraya-dinner-cruise. The short id alone will NOT resolve (404).
idstringReviews mode. The SHORT id field from a search result, e.g. PRvAjpPfwE7K — not the slug.
ratingstringReviews mode. An option id from the review filter schema, e.g. 5.
includeFiltersbooleanReviews mode. Also push one row with the review filter/sort schema first. Default false.

Example (search):

{ "query": "Bangkok", "maxItems": 20 }

Example (detail):

{ "slug": "prvajppfwe7k-the-newest-luxury-5-star-bangkok-chao-phraya-dinner-cruise" }

Example (reviews):

{ "id": "PRvAjpPfwE7K", "rating": "5", "includeFilters": true }

Output

Search mode: one row per attraction. Detail mode: one { "type": "detail", ... } row. Reviews mode: one { "type": "review", ... } row per review (trimmed example):

{
"id": "PRvAjpPfwE7K",
"name": "The Newest Luxury 5-Star Bangkok Chao Phraya Dinner Cruise",
"slug": "prvajppfwe7k-the-newest-luxury-5-star-bangkok-chao-phraya-dinner-cruise",
"representativePrice": { "currency": "IDR", "chargeAmount": 854312.9 }
}

Known limitations

  • No currency override. Three different ways of passing a currency override were each tried live by the parent Actor's own README and every one was rejected by the API's own input validation — prices reflect a fixed account-level currency this Actor cannot override.
  • Detail and reviews genuinely need different identifiers from the same search result (full slug vs. short id) — this is a real API quirk, not an inconsistency in this Actor.
  • This is an unofficial, reverse-engineered integration, not affiliated with or endorsed by Booking.com B.V. Behavior may change if Booking.com changes its API.

Pricing

Pay-per-event: $0.0015 per attraction result (FREE plan; BRONZE/SILVER/GOLD/PLATINUM/DIAMOND get automatic discounts based on your Apify plan). Covers search results, detail rows, and reviews.