Datapika / Places & travel

Hotel & Rental Scraper

Hotel and rental prices from nine booking sites. One schema for every site: price per night and total, a 0 to 10 rating plus the site's own, reviews, photos, amenities, coordinates and a booking link.

6 lifetime users308 total runs5.00/5 · 2 reviews

Apify store response · 2026-10-30. Usage counts do not measure output accuracy.

01 / Recorded output

See what comes back.

· Build 1.0.14 · 18 rows reviewed. Previewing 5 below.

Swipe the table to inspect more fields →

Selected fields from a recorded hotel-rental-scraper run
sitenamepricePerNightpriceTotalcurrency
agodaEPIC SANA Marquês Hotel230.71461.41USD
agodaEPIC SANA Lisboa Hotel209.64419.28USD
vrboDom Luis I Prestige Flat 18313626USD
vrboTraditional Alfama apartment in Lisbon Center.140280USD
expediaMeliá Lisboa Aeroporto171380USD

Selected public fields from one recorded run. Text may be shortened to 20 words and non-HTTPS links are omitted. Missing values are preserved; this sample does not establish complete source coverage. Two rows per site from a 184-row scheduled check run for Lisbon; Booking.com returned a free hint row instead of results in that run. Downloads contain all reviewed rows and selected fields. CSV text cells are escaped for spreadsheet safety.

Inspect the first JSON record
{
  "site": "agoda",
  "name": "EPIC SANA Marquês Hotel",
  "pricePerNight": 230.71,
  "priceTotal": 461.41,
  "currency": "USD",
  "rating": 9.3,
  "reviewsCount": 4654,
  "propertyType": "Hotel",
  "url": "https://www.agoda.com/sana-lisboa-hotel/hotel/lisbon-pt.html",
  "type": "stay"
}

02 / Run your own query

From a console, code or agent.

Use Apify's input form, or start a run with your own API token. The small starter input below was checked against build 1.0.14's published input schema on October 28, 2026. Recorded samples can use different inputs or older builds.

curl -X POST \
  "https://api.apify.com/v2/acts/openclawai~hotel-rental-scraper/runs?maxTotalChargeUsd=1" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"location":"Lisbon, Portugal","checkIn":"30 days","nights":2,"adults":2,"sites":["airbnb","google_hotels","vrbo"],"maxResultsPerSite":10,"currency":"USD"}'

This starts an asynchronous paid run with a $1 total run cap. Use the returned defaultDatasetId to retrieve results after the run succeeds. Never put your API token in public frontend code.

Full input schema ↗·API setup and dataset export

03 / Field reference

Plan your data model.

Selected documented fields from build 1.0.14, reviewed October 28, 2026. Availability varies by mode and source. Missing and null values stay visible in the recorded samples.

Selected documented output fields
FieldTypeMeaning
sitestring | nullSource site: airbnb, booking, google_hotels, expedia, hotels_com, vrbo, agoda, hostelworld or tripadvisor.
typestring | nullstay, experience, or hint (a free status row).
namestring | nullProperty or experience name.
urlstring | nullListing link on the source site, with your dates and guests where the site supports it.
propertyTypestring | nullHotel, Apartment, Hostel, Vacation rental and so on.
pricePerNightnumber | nullPrice per night for your dates.
priceTotalnumber | nullTotal price for the stay.
priceTotalWithTaxesnumber | nullAll-in total including taxes and fees, when the site shows them.
currencystring | nullCurrency of the prices; one currency per run.
ratingnumber | nullGuest rating normalised to 0 to 10 so every site compares side by side.
ratingOriginalstring | nullRating on the site's own scale, for example 4.9/5 or 8.6/10.
reviewsCountinteger | nullNumber of guest reviews.
freeCancellationboolean | nullFree cancellation offered.
latitudenumber | nullLatitude.
longitudenumber | nullLongitude.
photosarray | nullPhoto URLs, up to 30.
otherSitePricesarray | nullGoogle Hotels only: the cheapest nightly price on each other booking site, with links.
searchLocationstring | nullThe place you searched.
Download the dated input and field references ↓

04 / Know before you run

Coverage, without the guesswork.

Not a booking API: prices are observations for the searched dates. Sites are searched independently, and one that blocks or times out returns a free hint row instead of results.

How much does it cost to compare hotel prices across sites?

Each property, experience or tour row is one $0.005 result event, so 1,000 rows cost $5.00 at the list price; hint rows are free and there is no start fee. In seven daily check runs for Lisbon with 20 results per site and things to do on (October 21 to 27, 2026), each run returned 163 to 200 charged rows in 143 to 241 seconds.

Can I search several cities in one run?

Yes. The locations field takes up to 10 places. Every site runs for every place in parallel, a property found for two overlapping places is returned and charged once, and each row's searchLocation tells you which place it came from. For five or more places, raise the run timeout.

How do ratings compare across booking sites?

Airbnb rates out of 5, Booking.com out of 10 and Hostelworld out of 100. The rating field puts every site on a 0 to 10 scale and ratingOriginal keeps the site's own number, so one table can be sorted by rating.

What happens when a booking site blocks the search?

Each site runs independently with retries and a browser fallback. If a site still cannot be reached in time, you get every other site's rows plus a free hint row naming that site, so one slow site never fails the run.