Accor Hotel Details Scraper avatar

Accor Hotel Details Scraper

Pricing

from $0.56 / 1,000 hotel-scrapeds

Go to Apify Store
Accor Hotel Details Scraper

Accor Hotel Details Scraper

Scrape full Accor hotel records. Add hotel ids and get the description, address, coordinates, stars, guest rating with category scores, every room type with size and beds, restaurants and facilities, amenities, photos and the latest guest reviews. $0.80 per 1,000 hotels, reviews included.

Pricing

from $0.56 / 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

7 hours ago

Last modified

Categories

Share

What is Accor Hotel Details Scraper?

For $0.0008 a hotel you get the whole Accor hotel page as one record, guest reviews included. Paste the hotel ids or URLs you care about and Accor Hotel Details Scraper returns the description, address and contact details, the room types, restaurants and facilities, amenities, photos, the guest rating with its category scores, and the latest reviews with the hotel's replies. It covers any hotel in the group, from Raffles and Sofitel to ibis budget.

Worth knowing before you compare:

  • One charge covers the lot. Reviews, rooms, facilities and photos come in the same $0.0008 record. There's no separate fee per review or per photo.
  • It's fast enough for a catalogue. 300 hotels with every block switched on came back in about 9 seconds.
  • You can have the content in 14 languages: descriptions, room names and amenity labels in English, French, German, Japanese, Arabic and nine more.
  • The record goes past the brochure. You get which amenities are charged for, car parks with daily prices, what's nearby with walking times, accepted cards, and the hotel's GDS codes for Amadeus, Sabre, Galileo and Worldspan.

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

  • 23 of 23 live checks on its inputs and filters passed on 7 October 2026
  • 12 hotels run the same day across 12 brands: 12 records, none empty
  • A hotel that cannot be read gets an uncharged row saying why

In each record you can:

  • Read the description, the selling points and a write-up of the destination
  • Get stars, guest rating, review count and the score for location, room, service, cleanliness and more
  • List the room types with size, beds, maximum occupancy, views and room amenities
  • See restaurants, bars, spas, pools, fitness centres and breakfast with their descriptions
  • Read up to 20 recent guest reviews with rating, text, trip type and the hotel's reply
  • Collect photo URLs in the sizes Accor publishes
  • Check time zone, last renovation, spoken languages and eco-certification dates
  • Find a row that says why if a hotel can't be read

What hotel data do you get?

🏨 Hotel name and Accor id🔗 Hotel URL
Description, highlights and destination textBrand, property type and price band
⭐ Star ratingGuest rating, review count and rating source
Category scores for location, room, service and more💬 Latest guest reviews and hotel replies
🛏 Room types with size, beds and occupancyRoom views and room amenities
🍽 Restaurants, bars, spas, pools and fitness centresBreakfast type and restaurant
Amenities and amenity categories♿ Accessible services and areas
📍 Street, postcode, city, country and coordinates☎️ Phone and email
🕑 Check-in and check-out times🖼 Photos in the sizes Accor publishes
Each amenity, free or charged🅿️ Car parks with price, height and EV charging
Nearby places with distance and walking time💳 Accepted payment cards
GDS codes for Amadeus, Sabre, Galileo and WorldspanEco-certifications with award and expiry dates
Time zone, last renovation and spoken languagesPer-room amenities, cots and extra beds

How to scrape Accor hotel details

You don't need to write any code. The whole thing is a short form.

  1. Create your free Apify account.
  2. Open Accor Hotel Details Scraper and add Accor hotel ids, or paste hotel URLs from all.accor.com.
  3. Pick the language. If you don't need reviews, rooms, facilities or photos, switch that block off.
  4. Click Start. Twelve hotels took about 3 seconds in testing.
  5. Download the records as JSON, Excel, CSV, XML or HTML.

⬇️ Input

All you have to give it is hotels: four-character Accor ids ("0663", "C185") or all.accor.com hotel URLs. With nothing else set you get the full record in English with up to 20 reviews and 20 photos per hotel.

Have a long list? "Start URLs" loads hotel links in bulk from a file, a Google Sheet or a remote list, and is combined with what you typed.

Each hotel you list comes back once, which makes the size of the run the size of your list. "Maximum hotels for the whole run" stops earlier if you set it (the default, 0, means no limit). Two more settings decide how much each record holds: "Reviews per hotel" (default 20, which is also the most Accor publishes) and "Photos per hotel" (default 20, up to 200).

Full records for three hotels:

{
"hotels": ["0663", "C185", "B6R8"],
"language": "en"
}

Reviews as their own rows, with the hotel fields on each:

{
"hotels": ["0663"],
"includeReviews": true,
"reviewsLimit": 20,
"flattenReviews": true,
"includeRooms": false,
"includePhotos": false
}

A room-type catalogue in French, without reviews:

{
"hotels": ["0663", "0785", "B6R8"],
"language": "fr",
"includeReviews": false,
"includeRooms": true,
"includeFacilities": true,
"photosLimit": 50
}
FieldNotes
hotels, startUrlsHotel ids or hotel URLs, typed or loaded in bulk.
maxItemsRun-wide cap on hotels. 0 means no limit.
includeReviews, reviewsLimit, flattenReviewsReviews on or off, how many (1 to 20), and one row per review.
includeRooms, includeFacilitiesThe room-type and facilities blocks, both on by default.
includePhotos, photosLimitPhotos on or off, and how many (1 to 200).
languageen, fr, de, es, it, pt, nl, pl, ja, ko, zh, ru, tr or ar.
includeRaw, delayMs, maxConcurrencyThe raw hotel object and tuning.

For developers

  • includeRaw (default off) adds Accor's untouched hotel object to each record, next to the mapped fields.
  • maxConcurrency (default 8, up to 32) sets how many requests are in flight. Hotels are read several at a time, and we'd only lower this if a run reported errors.
  • delayMs (default 0) is an optional pause before each request, in milliseconds. Anything above 2000 is treated as 2000.
  • A hotel listed twice is returned and billed once.
  • A run that Apify restarts carries on from where it stopped. It doesn't repeat or re-bill a hotel.

⬆️ Output

One row is one hotel. Switch on "One row per review" and one row is one review, with the hotel's fields alongside it.

{
"id": "0663", "hotelId": "0663", "hotelName": "Sofitel Le Scribe Paris Opéra",
"url": "https://all.accor.com/hotel/0663/index.en.shtml",
"brand": "SOF", "brandName": "Sofitel", "lodgingTypeText": "Hotel", "priceBand": "€€€€",
"stars": 5, "rating": 4.8, "ratingScale": 5, "ratingSource": "TRUST_YOU", "totalReviews": 2549,
"lat": 48.870426, "lng": 2.329937,
"address": "1 rue Scribe", "postcode": "75009", "city": "PARIS", "country": "France", "countryCode": "FR",
"phone": "+33 1 44 71 24 24", "email": "reservations.scribe@sofitel.com",
"checkInFrom": "15:00", "checkOutUntil": "12:00",
"description": "Sofitel Le Scribe Paris Opéra, a 5* hotel near Palais Garnier, is legendary in the district…",
"highlights": ["The charm of a historic hotel in Paris, close to the Palais Garnier", "…"],
"amenities": ["Car park", "Pets allowed", "Shuttle", "Restaurant", "Spa", "Fitness center", "…"],
"maxAdults": 4, "maxChildren": 3, "maxGuests": 4, "maxRooms": 7,
"ratingsBySource": [{ "source": "TRUST_YOU", "rating": 4.77, "ratingScale": 5, "totalReviews": 2549 }],
"reviewCategories": [
{ "category": "Location", "score": 9.8, "scoreScale": 10, "scoreText": "9.8/10", "totalReviews": 781 },
{ "category": "Room", "score": 8.6, "scoreScale": 10, "scoreText": "8.6/10", "totalReviews": 1034 },
{ "category": "Service", "score": 9.3, "scoreScale": 10, "scoreText": "9.3/10", "totalReviews": 1541 }
],
"roomCount": 15,
"rooms": [
{ "roomCode": "QEB", "roomName": "SUPERIOR ROOM, 1 Queen Size Bed, Courtyard View",
"roomClass": "SUPERIOR", "roomSizeSqm": 20, "roomSizeSqft": 215, "maxOccupancy": 2,
"beds": [{ "code": "QUEEN_SIZE_BED", "count": 1, "label": "Queen size bed(s)" }],
"roomViews": ["Courtyard View"] }
],
"facilities": {
"restaurants": [{ "code": "R001", "name": "RIVAGES", "description": "…", "seats": 80 }],
"bars": [{ "code": "B002", "name": "Bar Rivages", "description": "…", "type": "BAR", "seats": 45 }],
"spas": [{ "name": "Spa", "description": "…" }],
"pools": [], "fitnessCentres": [{ "name": "Fitness center", "description": "…" }],
"breakfasts": [{ "name": "Breakfast", "type": "Buffet" }]
},
"totalPhotos": 121, "photoCount": 20,
"photos": [{ "category": "HOTEL", "type": "IMAGE", "url": "https://www.ahstatic.com/photos/0663_ho_00_p_3000x2250.jpg" }],
"reviewCount": 20,
"reviews": [
{ "author": "Chinmay K.", "rating": 5, "ratingScale": 5, "text": "Highly recommended Place!",
"postedAt": "2026-09-06", "tripType": "As a family", "source": "TRUST_YOU",
"responses": [{ "text": "Dear Mr. K., thank you very much for your kind feedback…", "postedAt": "2026-09-09" }] }
],
"scrapedAt": "2026-09-12T00:31:25.113Z"
}

Also on every row

That example shows the fields most people start with. The rest of the record:

FieldWhat it is
totalReviews · totalPhotosWhat Accor says the property has. reviewCount and photoCount are how many this row actually carries; reviewsLimit and photosLimit cap them.
reviewTripTypesWho stays here, as a share: [{ "tripType": "Couples", "sharePct": 53 }, …]
topAmenities · amenityCodesAmenities as Accor's own codes, such as PARKING, PET, WHEELCHAIR_ACCESS. amenities is the same set in words.
amenityCategoriesThe headings the amenities fall under: Hotel access, Family, Pets, Catering, Well-being…
amenitiesUrlLink to the property's full published fact sheet.
certificationsSustainability and quality marks, e.g. ["Ecocertified"].
accessibleServices · accessibleAreas · inaccessibleAreasAccessibility, in the property's own words: services offered, areas you can reach, and areas you cannot. Accor publishes these for only some hotels: in a sample of 34 hotels across seven countries (September 2026), 13 listed accessible services, 16 listed accessible areas and 1 listed an inaccessible area.
connectingRoomCount · familyRoomCountHow many rooms of each kind the property has. Counts, not flags.
hasMemberRate · isLoyaltyEarning · isLoyaltyRedeemableWhether a member rate exists, and whether a stay earns or can be paid with points.
hotelCurrencyThe currency the property itself prices in.
stateFilled where the country has one: a US or Australian property, not a French one.
phoneNationalThe same number in national format, beside the international phone.
checkInFromText · checkOutUntilTextThe times as the property writes them, beside the 24-hour checkInFrom and checkOutUntil.
descriptionDestinationA second paragraph about the surroundings rather than the hotel.
labels · kickersShort badges the property carries: "Family friendly", "Renovated".
lodgingType · scale · managementType · managementTypeTextHow Accor classifies the property, and whether it manages or franchises it.
breadcrumbThe destination path Accor files the hotel under, world to city, with links.
imageOne representative photo, beside the full photos list.
seoTitle · seoDescriptionThe page's own title and summary.
flashInfoAn occasional notice from the property, such as building work or a closure. Usually empty.
geoCode · reservationSystemAccor's own identifiers for the property's region and booking system.
amenityDetailsEvery amenity the property lists, by heading, with what is charged for: [{ "category": "Hotel access", "amenity": "Shuttle", "isPaid": null, "details": [{ "label": "PARIS ORLY", "isPaid": true }] }]. Includes the room inventory ("201 rooms", "6 rooms for people with reduced mobility").
parking · parkingCountCar parks on site or nearby: name, location, isFree, price with priceCurrency and priceUnit ("DAY"), priceText, maximum height, spaces, vehicles, EV charging, security. Listed for 7 of 12 hotels sampled (Paris, London, Tokyo, October 2026).
nearbyPlaces · nearbyPlaceCountSights, transport, dining and shopping near the hotel: name, type, direction, distanceKm, distanceText, walkingMinutes, drivingMinutes. Listed for 8 of 12 hotels sampled. Both are null for a hotel whose nearby list Accor can't serve; the rest of its record is unaffected.
paymentMethods · paymentMethodCodesCards and wallets the hotel accepts, e.g. Visa, Mastercard, American Express, JCB, PayPal.
labelDetails · certificationDetailsEach label and certification with Accor's explanation, e.g. Tourism & Handicap, Eco-certified.
gdsCodesThe property's codes in the travel-agent booking systems: [{ "system": "AMADEUS", "code": "PARSCR" }, { "system": "SABRE", "code": "5025" }, …]. Published for 5 of 12 hotels sampled.
ecoCertificationsEco-labels with their status and dates: [{ "name": "Green Key", "status": "Certified", "awardedOn": "2024-01-01", "expiresOn": "2026-12-31" }].
timeZone · lastRenovatedOn · spokenLanguages · maxChildAge · hotelStatusThe hotel's time zone ("Europe/Paris"), date of its last renovation, languages the staff speak, the oldest age that counts as a child, and whether it is open.
loyaltyStatus · hasDiningSpaRewardsWhether the hotel takes part in ALL (PARTICIPATING_HOTEL), and whether points can be spent on dining and spa.
managerMessage · cityGuideUrl · photoCategoriesThe manager's welcome, Accor's city guide for the destination, and the photo galleries the hotel has.
rooms[].roomAmenityDetails · rooms[].cribText · rooms[].extraBedTextEach room's amenities by heading with what is charged for, and whether a cot or extra bed can be added.
inputExactly what you passed in, so a row can be traced back to its input.
hotelRating · hotelRatingScale · hotelReviewCountOn a flattened review row only: the hotel's own rating and review total, since rating there is the review's.

How much does it cost?

EventFree planStarterScaleBusiness
actor-start, per run$0.002$0.002$0.002$0.002
hotel-scraped, per hotel returned$0.0008$0.00072$0.00064$0.00056

Enterprise plans pay the Business price.

$0.80 per 1,000 hotels on the Free plan and $0.56 on Business. Reviews, rooms, facilities and photos are all inside that one charge, platform usage is included, and you pay no proxy fee. A hotel that can't be read gets an error row, which isn't charged.

  • Fifty hotels with reviews: $0.002 + 50 × $0.0008 = $0.042 a run ($0.030 on Business).
  • A thousand-hotel catalogue refresh: $0.002 + 1,000 × $0.0008 = $0.802 a run ($0.562 on Business).

If you're on Apify's Free plan, the $5 of monthly credits stretches to about 119 runs of fifty hotels, which is close to 6,000 full hotel records.

How fast is it?

RunResult
Ten hotels, English, all blocks on10 full records with 96 room types, 180 reviews and 200 photo entries in 9 seconds
Twelve hotels in four countries, English, all blocks on12 full records in 2.5 to 3 seconds
120 hotels in Paris, London, Berlin and Sydney, English, all blocks on120 full records in 7 to 8 seconds
300 hotels, all blocks on300 full records in about 9 seconds

The last three are whole runs measured on 1 and 2 October 2026. At that pace a catalogue of several thousand hotels fits easily inside the default one-hour run limit.

Use it in your own tools

Hotel content changes slowly, and most people run this weekly or monthly on an Apify Schedule to keep a content database or a room-type catalogue current. If it's the reviews you're after, run it more often with one row per review and send new rows to Slack or a Google Sheet through Apify's integrations.

Calling it from code takes one request, with your input JSON as the body:

POST https://api.apify.com/v2/acts/boncross~accor-hotel-details/run-sync-get-dataset-items?token=YOUR_TOKEN

The apify-client packages on NPM and PyPI wrap the same API. The records also suit retrieval systems and AI agents, which need hotel content in a structured form. Connect an MCP client to mcp.apify.com and the actor is available as boncross/accor-hotel-details.

Limitations

  • Accor publishes the 20 most recent reviews per hotel and no more. You can't get a full review history. The total review count and the category scores do cover all of them.
  • Accor gives reviews no id of their own. Inside the reviews array id is null. A flattened review row gets an id built from the hotel id, the posting date, the author and its position. Review titles are almost always empty.
  • You name the hotels. To find ids for a destination, run Accor Hotel Search Scraper first.
  • Prices aren't part of this record. They come from Accor Room Rates Scraper.
  • Review text is only available in the language the guest wrote it in. The language setting changes the hotel content, not the reviews.
  • Car parks, nearby places, GDS codes and accessibility details are published for some hotels only. The column notes above give the share in each sample.

FAQ

Where do I find an Accor hotel id?

Look at the hotel's URL. The id is the four characters after /hotel/, such as 0663 in all.accor.com/hotel/0663/index.en.shtml. Pasting the whole URL works as well, and Accor Hotel Search Scraper gives you ids in bulk for a city.

Why do I only get 20 reviews for a hotel with thousands?

Twenty is all Accor publishes, and they're the most recent ones. totalReviews and the category scores are based on the full set, which is why a hotel can show 2,549 reviews and return 20.

Can I get the hotel content in French, Japanese or Arabic?

Set "Language" to en, fr, de, es, it, pt, nl, pl, ja, ko, zh, ru, tr or ar and the description, room names and amenity labels come back in it. Reviews stay in the language each guest wrote in.

How do I get one row per review?

Switch on "One row per review". Each review becomes its own row with the hotel fields beside it, and hotelRating holds the hotel's score because rating on that row is the review's.

How many photos can I get?

Up to 200 per hotel, as URLs in the sizes Accor publishes. totalPhotos is how many the hotel has, photoCount is how many came back, and "Photos per hotel" sets that number. The default is 20.

Why is the nearby places or parking column empty for my hotel?

Accor doesn't publish those for every hotel. In a 12-hotel sample, 8 listed nearby places and 7 listed car parks. For a few hotels Accor's own nearby list is broken, and you get the rest of the record with nearbyPlaces set to null.

Do I need proxies or an Accor account?

You need neither. No login is involved, there's nothing to set up, and no proxy fee is added.

The actor reads only what Accor serves to any logged-out visitor. Reviews are published by the site with the author's own display name, and you should handle any personal data you collect in line with the law that applies to you. You're responsible for complying with Accor's terms and applicable law in how you use the data.

More from BonCross

Your feedback

Is a field on an Accor hotel page missing from your record, or filled in wrongly? Open an issue on the actor's Issues tab in Apify Console and name the hotel id. We look at each one, and a missing field is usually quick to add.