Hilton Hotel Details Scraper avatar

Hilton Hotel Details Scraper

Pricing

from $0.84 / 1,000 hotel-scrapeds

Go to Apify Store
Hilton Hotel Details Scraper

Hilton Hotel Details Scraper

Scrape everything a Hilton property publishes about itself: address, coordinates, phone, amenities, photos, room counts and features, parking and its charges, guest rating and reviews, and Hilton's published lowest rate in cash and points. $1.20 per 1,000 hotels.

Pricing

from $0.84 / 1,000 hotel-scrapeds

Rating

0.0

(0)

Developer

BonCross API

BonCross API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

What is Hilton Hotel Details Scraper?

A Hilton hotel page tells you a lot about the property, scattered across tabs and pop-ups. Hilton Hotel Details Scraper puts all of it on one row per hotel: where it is, how to reach it, what it has, what its rooms are like, what parking costs, how guests rate it, its policy sheet and its published lowest rate in cash and Honors points. Paste hotel codes or hilton.com links, for any Hilton brand from Hampton and Tru to Waldorf Astoria and Conrad.

What makes the record worth having:

  • The policy sheet comes line by line. Check-in and check-out, early departure and late check-out fees, minimum age, pets, smoking, payment, resort or destination charges. Six hotels in four countries each returned 19 to 31 lines on 5 October 2026.
  • Parking you can rely on. You get a charge only when the hotel actually offers that kind of parking. A hotel with no valet service shows no valet price, where a raw read would show a misleading "£0.00".
  • Long lists are quick. 400 hotels with their reviews (1,927 reviews) took about 5 seconds.
  • You can tell a trading hotel from one that isn't. Pre-opening and seasonally closed properties are flagged, with the opening date where Hilton gives one.
  • $1.20 per 1,000 hotels on the Free plan and $0.84 on Business, reviews included. There's no proxy to set up and no proxy charge.

BonCross Verified means we tested this actor against the live site before release and kept the record:

  • 20 of 20 live checks on its inputs and filters passed on 7 October 2026
  • 14 hotels run the same day across 10 brands: 14 records, none empty
  • Charges matched the rows

In one run you can:

  • Read the full amenity list, with Hilton's own names and ids
  • Get coordinates, a formatted address, a postcode and a phone number
  • See how many room types the hotel has, how many are suites, and what the rooms include
  • Find out whether parking is free, self-service or valet, and what it costs
  • Read check-in and check-out times, the minimum age to check in, pet and smoking rules and accepted cards
  • Pull the guest rating, the total review count and the reviews Hilton shows on the hotel's page
  • Read Hilton's published lowest rate in cash and in Honors points

People use it to build a property database for a brand or a city, to add coordinates, phone numbers and postcodes to a hotel list they already have, to compare amenity coverage across brands, and to watch which properties are about to open.

What data do you get for each Hilton hotel?

🏨 Identityid, hotelId, name, brandCode, url
📍 Locationaddress, addressText, city, state, postcode, country, countryCode, lat, lng
☎️ Contactphone
Descriptiondescription, disclaimers[]
⭐ Guest ratingrating, ratingScale, totalReviews, reviewCount
💬 Reviewsreviews[]: id, rating, ratingScale, title, text, stayMonth, stayDateText, helpfulVotes, author
AmenitiesamenityIds, amenities, amenityDetails[] (id, name, hint)
📷 PhotosimageUrl, imageUrls[]
🛏️ RoomsroomTypeCount, suiteCount, maxBeds, roomFeatures[]
🅿️ ParkinghasFreeParking, hasSelfParking, hasValetParking, selfParkingChargeText, valetParkingChargeText, hasCoveredParking, hasSecuredParking, hasParkingInOutPrivileges, parkingNotes[]
PoliciescheckInFrom, checkOutUntil, minimumCheckInAge, petsAllowed, serviceAnimalsAllowed, paymentCardCodes[], restaurantCount, utcOffsetHours, policies[] (section, sectionCode, label, code, value)
💷 Published rateleadRate, currency, leadRatePlanName, leadRatePlanDescription, leadRatePlanCode, leadPointsPerNight, hotelCurrency
Trading statusisOpen, openDate, isBookable, isSeasonallyClosed, seasonalReopenDate, isAdultsOnly, isRecentlyRenovated
Run metadatascrapedAt, input

How much does it cost to scrape Hilton hotel details?

EventFree planStarterScaleBusiness
actor-start, once per run$0.002$0.002$0.002$0.002
hotel-scraped, per hotel returned$0.0012$0.00108$0.00096$0.00084

Enterprise plans pay the Business price.

$1.20 per 1,000 hotels on the Free plan, $0.84 on Business. Nothing is added on top: platform usage is in the price, and the reviews on the row cost nothing extra. A row reporting a hotel that couldn't be reached isn't charged.

250 hotels cost $0.002 + 250 × $0.0012 = $0.302 ($0.212 on Business).

With the $5 of credits Apify's Free plan gives you each month, that's about 16 runs of 250 hotels, or roughly 4,100 hotel records, at no cost.

How to scrape Hilton hotel details

  1. Sign up for Apify (it's free) and open Hilton Hotel Details Scraper.
  2. Put Hilton hotel codes in Hotels (LONCWHI, MANDTDI, NYCGPGI), or paste hilton.com hotel URLs. The code is read out of the link for you.
  3. Pick a Currency for the published rate, then click Start.
  4. Download one row per hotel as JSON, CSV or Excel.

Don't know the codes? Run Hilton Hotel Search Scraper on a city first. Each row it returns has the hotelId this actor takes.

⬇️ Input

A list of hotels is the only thing you have to supply. Codes and hilton.com links can be mixed, and a hotel listed twice is read once.

For a list too long to paste, use Start URLs: it loads hotel links from a file, a Google Sheet or a remote list, and works alongside the Hotels box. You can fill either one, or both.

There's no per-hotel limit to think about, because each hotel is exactly one row. "Maximum results for the whole run" caps the rows if you want a ceiling, and 0 means none.

FieldTypeDefaultWhat it does
hotelIdsarray[]The hotels to look up. Hilton codes such as LONCWHI, or hilton.com hotel URLs. A hotel listed twice is read once.
startUrlsarray[]The same hotel links, loaded in bulk from a file, a Google Sheet or a remote list. Works alongside hotelIds: give either one, or both.
includeReviewsbooleantrueKeep the reviews Hilton publishes on the hotel's page. Turn off for a smaller row.
maxReviewsinteger0Keep at most this many reviews per hotel, 0 to 100. Zero keeps all the reviews Hilton returns.
currencystringUSDISO code for the published lead rate.
maxItemsinteger0A ceiling on rows for the whole run. Zero means no limit.
delayMsinteger0Optional pause before each call, 0 to 10,000 ms.
maxConcurrencyinteger16Parallel requests, 1 to 32.

Look up two hotels

{
"hotelIds": ["LONCWHI", "MANDTDI"],
"currency": "GBP",
"includeReviews": true
}

Property facts only, from pasted URLs

{
"hotelIds": ["https://www.hilton.com/en/hotels/loncwhi-hilton-london-canary-wharf/"],
"includeReviews": false
}

A list too long to paste, held in a Google Sheet

{
"startUrls": [
{ "requestsFromUrl": "https://docs.google.com/spreadsheets/d/EXAMPLE/export?format=csv" }
],
"maxItems": 500
}

For developers

  • maxItems counts hotel rows only. Rows that report a hotel the actor couldn't reach aren't counted and aren't charged.
  • maxConcurrency (default 16, from 1 to 32) sets how many hotels are read at once. It's the fastest level we measured clean, and it only needs lowering if a run reports refusals or errors.
  • delayMs (default 0) pauses before each call. Anything above 2,000 is treated as 2,000.
  • Rows are written in input order. After a platform restart the run picks up where it stopped, without repeating or re-billing a hotel.

⬆️ Output

You get one row per hotel, as a table or as JSON in the Output tab. This one is abridged from a real run:

{
"id": "LONCWHI",
"hotelId": "LONCWHI",
"url": "https://www.hilton.com/en/hotels/loncwhi/",
"scrapedAt": "2026-09-26T17:09:36.960Z",
"input": "LONCWHI",
"name": "Hilton London Canary Wharf",
"brandCode": "HI",
"description": "Connected to Central London. Elizabeth Line, Canary Wharf Underground, and Docklands Light Railway are a three to five-minute walk…",
"address": "South Quay, Marsh Wall",
"addressText": "South Quay, Marsh Wall, London E14 9SH, United Kingdom",
"city": "London",
"state": null,
"postcode": "E14 9SH",
"country": "United Kingdom",
"countryCode": "GB",
"lat": 51.500859,
"lng": -0.019661,
"phone": "+44 20 3002 2300",
"rating": 4.6,
"ratingScale": 5,
"totalReviews": 5309,
"reviewCount": 5,
"reviews": [
{
"id": "1079158380",
"rating": 5,
"ratingScale": 5,
"title": "Great place to stay",
"text": "We had an amazing time, the staffs were absolutely fantastic…",
"stayMonth": "2026-09",
"stayDateText": "2026-09",
"helpfulVotes": 0,
"author": "sobyg2021"
}
],
"amenityIds": ["nonSmoking", "dining", "fitnessCenter", "petsAllowed", "executiveLounge"],
"amenities": ["Non-smoking rooms", "On-site restaurant", "Fitness center", "Pet-friendly rooms", "Executive lounge"],
"amenityDetails": [{ "id": "nonSmoking", "name": "Non-smoking rooms", "hint": null }],
"imageUrl": "https://www.hilton.com/im/en/LONCWHI/5619802/loncwhi-exterior3.jpg?…",
"imageUrls": ["https://www.hilton.com/im/en/LONCWHI/10057373/king-deluxe.jpg?…"],
"isOpen": true,
"openDate": "2006-07-03",
"isBookable": true,
"isSeasonallyClosed": false,
"seasonalReopenDate": null,
"isAdultsOnly": false,
"isRecentlyRenovated": false,
"roomTypeCount": 14,
"suiteCount": 2,
"maxBeds": 2,
"roomFeatures": ["Sleeps 2", "Mini refrigerator", "LCD TV", "Tea/Coffee Making Facilities"],
"hasFreeParking": false,
"hasSelfParking": true,
"hasValetParking": false,
"selfParkingChargeText": "£30.00",
"valetParkingChargeText": null,
"leadRate": 212.71,
"currency": "USD",
"leadRatePlanName": "Honors Discount Advance Purchase",
"leadRatePlanDescription": "No cancellations. Pay now. Hilton Honors Membership Required",
"leadRatePlanCode": "HPPAP4",
"leadPointsPerNight": 65000,
"hotelCurrency": "GBP",
"disclaimers": [],
"checkInFrom": "15:00",
"checkOutUntil": "12:00",
"utcOffsetHours": 1,
"restaurantCount": 1,
"paymentCardCodes": ["CU", "VI", "MC", "AX", "JC"],
"hasCoveredParking": true,
"hasSecuredParking": true,
"hasParkingInOutPrivileges": true,
"parkingNotes": ["With 25 spaces, cannot be pre-booked."],
"minimumCheckInAge": 18,
"petsAllowed": true,
"serviceAnimalsAllowed": true,
"policies": [
{ "section": "Check-in/Check-out", "sectionCode": "checkinCheckoutPolicy", "label": "Minimum Age To Register", "code": "minimumAgeToRegister", "value": "18" },
{ "section": "Pets", "sectionCode": "petsPolicy", "label": "Pets Allowed", "code": "petsAllowed", "value": "Yes" },
"…"
]
}

A hotel the actor couldn't reach, or a code Hilton doesn't know, is returned as a row with id, hotelId, input, scrapedAt and error. You're never charged for those rows.

The rate is a going rate, not a quote

leadRate is Hilton's own published lowest rate for the property, in the currency you asked for. It has no dates, because a hotel page has no arrival and departure. Read it as what the hotel generally sells from. For a quote on a named stay, room by room, in cash and points, use Hilton Room Rates Scraper.

Reviews are the ones on the page

Hilton publishes a handful of reviews on each hotel page, typically five, and those are what you get. totalReviews is the hotel's total review count, which is far larger. reviewCount is how many are on the row. The text is the excerpt Hilton shows, and longer reviews end in "...".

Policies

policies is the hotel's own policy sheet, one entry per line. petsAllowed, serviceAnimalsAllowed and minimumCheckInAge are read from it, and they're null where the hotel's line is missing or isn't a plain yes or no. paymentCardCodes are the card networks' two-letter codes, such as VI Visa, MC Mastercard, AX American Express, JC JCB, DC Diners Club, DS Discover and CU China UnionPay.

Parking

A charge is reported only when the matching service exists. valetParkingChargeText is null when hasValetParking is false.

How long does a list of hotels take?

RunRowsTime
Two UK hotels with reviews22.8 to 5.0 s
Fourteen hotels in the UK and US with reviews143.8 to 4.2 s
Forty hotels in four cities with reviews404.3 to 5.0 s
Sixty-four hotels with reviews644.6 to 6.1 s
400 hotels with reviews (1,927 reviews)400about 5 s

Whole runs on Apify, measured on 1 and 2 October 2026. Hotels are read many at a time, which is why 400 takes barely longer than 40. You can send any number of hotels, and tens of thousands fit inside the default one-hour run limit.

Limitations

  • Text is in English. Hilton returns the same English description and amenity names on each market we measured, and the actor doesn't offer a language.
  • You need Hilton codes or hotel URLs. A hotel name isn't enough. Hilton Hotel Search Scraper turns a city into codes.
  • The published rate has no dates. A dated quote needs Hilton Room Rates Scraper.
  • Reviews are the handful Hilton shows, as excerpts. This isn't a full review history.
  • The room columns are counts and features (roomTypeCount, suiteCount, maxBeds, roomFeatures). There's no list of the hotel's room types by name.
  • disclaimers and seasonalReopenDate are often empty. They fill only where a property publishes them.
  • Amenity ids are Hilton's own vocabulary and differ from other chains'.

FAQ

Do I need proxies or a Hilton account?

You need neither. There's no proxy to set up, no proxy charge and no sign-in.

Where do I find a hotel code?

It's in the hilton.com URL: hilton.com/en/hotels/loncwhi-hilton-london-canary-wharf/ is LONCWHI. You can paste the whole URL and skip the code.

I only have hotel names. What do I do?

Run Hilton Hotel Search Scraper on the city and match on name. Its rows give you the code for each property, and you can feed those straight into this actor.

Why are there only five reviews when the hotel has thousands?

Because Hilton's page shows about five, and this actor reads the page. totalReviews gives you the full count beside them.

Why is rating empty for some hotels?

A hotel that hasn't opened yet has no review history. Those rows have isOpen: false and an openDate.

Can I get the rate in my own currency?

Set "Currency" and leadRate is reported in it. hotelCurrency still tells you what the hotel itself trades in.

Which brands does it cover?

All of them: Hilton, DoubleTree, Hampton, Hilton Garden Inn, Waldorf Astoria, Conrad, Curio, Tapestry, Tru, Homewood Suites, Home2 Suites, Embassy Suites, Canopy, NoMad, LXR, Signia, Spark, Motto, Tempo, SLH, YOTEL, Graduate and the rest.

This actor reads pages Hilton publishes to anyone, with no login and no paywall. The only personal data is the reviewer display names Hilton itself publishes. What you do with the data is your responsibility, and Apify's ethical scraping guidance is worth a read.

From your own code, or an AI agent

POST https://api.apify.com/v2/acts/boncross~hilton-hotel-details/run-sync-get-dataset-items with the input JSON as the body returns the hotel records in one call for short lists. The Apify API has JavaScript and Python clients, and a refreshed property table can go on to Google Sheets, Airbyte or a webhook through Apify's integrations. Agents reach it through the MCP server at mcp.apify.com as boncross/hilton-hotel-details. It asks for no access to your Apify account.

More from BonCross

Your feedback

Is there something on a Hilton hotel page that isn't on the row, or a parking or policy value that reads wrong? Open an issue on the Issues tab in Apify Console and name the hotel. BonCross reads each one, and fixes ship as new builds.