Booking reviews API documentation

We provide a simple to setup REST API that returns reviews in JSON format. Before integrating the API you should be aware of the following:

  • The Booking API returns 10 reviews per request.
  • The order in which reviews are returned is by descending date(from newest to oldest).
  • You can get all reviews from a single place by using the offset parameter.

To get reviews from Wextractor you will need to perform GET requests against the https://wextractor.com/api/v1/reviews/booking endpoint.

Reviews endpoint parameters:

Parameter Required Description Example
auth_token Required Your API token for authentication. Once you register to Wextractor you can extract this key from your account's setting page. -
id Required A textual identifier that uniquely identifies a place in Booking. This identifier is a part of the path that appears in the url for the hotel in booking, this includes the country code for the place and the internal id in booking. For example, if the url for the place in booking is https://www.booking.com/hotel/us/hi-new-york-hostel-nyc.en-gb.html the identifier is: us/hi-new-york-hostel-nyc us/hi-new-york-hostel-nyc
offset Optional This parameter defines the result offset. It skips the given number of reviews. It's used for pagination. (e.g., 0 (default) is the first page of results, 20 is the 2nd page of results, 40 is the 3rd page of results, etc.). 10

Example usage:

https://wextractor.com/api/v1/reviews/booking?id=us/hi-new-york-hostel-nyc&auth_token=XXXXX&offset=0

Example response:

        {
            "reviews": [
                {
                    "id": "c4bbc357919c2d2d",
                    "reviewer": "Anonymous",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-a/2c7be68fb3f987f1352e7b289d4b24137e1a283d.png",
                    "rating": "9.0",
                    "pros": "",
                    "cons": "",
                    "title": "Superb",
                    "language": "",
                    "datetime": "2023-01-19 00:00:00",
                    "reply": {"text": "thanks for your review"}
                },
                {
                    "id": "78147c9533625219",
                    "reviewer": "Verma",
                    "reviewer_avatar": "https://lh3.googleusercontent.com/a/ALm5wu2tisdWArzegsaFVfhkOwrwzevfl_T30Ip4x1CCdQ=s96-c",
                    "rating": "9.0",
                    "pros": "",
                    "cons": "",
                    "title": "Superb",
                    "language": "",
                    "datetime": "2023-01-19 00:00:00",
                    "reply": null
                },
                {
                    "id": "e88b783b9ea570c3",
                    "reviewer": "Valniele",
                    "reviewer_avatar": "https://graph.facebook.com/v2.9/4384049118364668/picture?type=square&height=64&width=64",
                    "rating": "10",
                    "pros": "",
                    "cons": "",
                    "title": "Exceptional",
                    "language": "",
                    "datetime": "2023-01-19 00:00:00",
                    "reply": null
                },
                {
                    "id": "974c97a41d65752e",
                    "reviewer": "Greg",
                    "reviewer_avatar": "https://graph.facebook.com/v2.9/2646933588656481/picture?type=square&height=64&width=64",
                    "rating": "9.0",
                    "pros": "Cheap for NYC. Location is good for subway and couple cheap bars nearby.",
                    "cons": "Bed was quite small",
                    "title": "Superb",
                    "language": "en",
                    "datetime": "2023-01-19 00:00:00",
                    "reply": null
                },
                {
                    "id": "a0a457f4656da023",
                    "reviewer": "Metination",
                    "reviewer_avatar": "https://lh3.googleusercontent.com/a-/AFdZucoFA4qT2SHlH50ddgJORyZwsYQAo--5leiJ6138lQ=s96-c",
                    "rating": "6.0",
                    "pros": "Konum, fiyat",
                    "cons": "Son birkac konaklamamda odalar cok havasiz ve kotu kokuyordu. Havalandirma yetersizdi. Ayrica All gender duslarda sicak su gelmiyor ve sampuan yoktu. Ayrica son birkac konaklamamda bazi diger konaklayan kisilerden son derece rahatsiz oldum. Sabahin cok erken saatinde herkes uyurken telefonuna surekli mesaj gelenler, oda da herkes uyurken telefonla konusanlar, baskasina ait olan yatagi sahiplenmek isteyenler, izinsiz terligimi giyenler bu problemlerden bazilariydi. Bence gelen konuklara daha fazla uyarida bulunulmali.",
                    "title": "Pleasant",
                    "language": "tr",
                    "datetime": "2023-01-19 00:00:00",
                    "reply": null
                },
                {
                    "id": "e8e3e8d6cb24766c",
                    "reviewer": "Gaelle",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-g/d2bf46fbe4c12e06481303d85f49f125e18fbd39.png",
                    "rating": "10",
                    "pros": "Emplacement \nDortoirs simple mais grands",
                    "cons": "Chauffage et purificateur d'air très bruyants dans la chambre",
                    "title": "Je la recommande",
                    "language": "fr",
                    "datetime": "2023-01-18 00:00:00",
                    "reply": null
                },
                {
                    "id": "613af8a7896aeac2",
                    "reviewer": "Iker",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-i/12a07b30d7fe835ea09b653635e151032bbf547a.png",
                    "rating": "9.0",
                    "pros": "",
                    "cons": "",
                    "title": "Superb",
                    "language": "",
                    "datetime": "2023-01-18 00:00:00",
                    "reply": null
                },
                {
                    "id": "816c2159be5bbb88",
                    "reviewer": "Harold",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-h/41b962c4f1fcefa6bb9c4a8bc7bfed064a71691b.png",
                    "rating": "8.0",
                    "pros": "Great option for short trips...especially for the Young or young at heart..",
                    "cons": "",
                    "title": "Very good",
                    "language": "en",
                    "datetime": "2023-01-18 00:00:00",
                    "reply": null
                },
                {
                    "id": "be0363f375de8d96",
                    "reviewer": "Juan",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-j/f69a0f45af414641ac0371c1f139c49637969c6c.png",
                    "rating": "10",
                    "pros": "",
                    "cons": "",
                    "title": "Exceptional",
                    "language": "",
                    "datetime": "2023-01-18 00:00:00",
                    "reply": null
                },
                {
                    "id": "ec8a5c556c2c213d",
                    "reviewer": "Manuel",
                    "reviewer_avatar": "https://cf.bstatic.com/static/img/review/avatars/ava-m/0e43c9b9a23d334b52510a328641c048847226bc.png",
                    "rating": "9.0",
                    "pros": "",
                    "cons": "",
                    "title": "Superb",
                    "language": "",
                    "datetime": "2023-01-18 00:00:00",
                    "reply": null
                }
            ],
            "totals": {
                "review_count": 8591,
                "average_rating": "8.2"
            }
        }
    

Frequently asked questions:

  • How do I get all the reviews for a single place?
  • You need to perform multiple requests incrementing the offset until you get a response without any reviews in it.

  • Does the API have rate limits?
  • Yes, since Expedia is pretty strict at blocking requests you will be rate limited if you perform more than one request per second.