Google Hotels Properties API

SerpApi is able to scrape, extract, and make sense of Google Hotels Properties, they are parsed and exist within the properties array in the JSON output. Properties can contain name, rate_per_night, reviews, amenities and many more.

JSON structure overview

{
  ...
  "properties": [
    {
      "type": "String - Type of property (e.g. hotel or vacation rental)",
      "name": "String - Name of the property",
      "description": "String - Description of the property",
      "link": "String - URL of the property's website",
      "logo": "String - URL of the property's logo",
      "sponsored": "Boolean - Indicate if the property result is sponsored",
      "eco_certified": "Boolean - Indicate if the property is Eco-certified",
      "gps_coordinates": {
        "latitude": "Float - Latitude of the GPS Coordinates",
        "longitude": "Float - Langitude of the GPS Coordinates"
      },
      "check_in_time": "String - Check-in time of the property (e.g. 3:00 PM)",
      "check_out_time": "String - Check-out time of the property (e.g. 12:00 PM)",
      "rate_per_night": {
        "lowest": "String - Lowest rate per night formatted with currency",
        "extracted_lowest": "Float - Extracted lowest rate per night",
        "before_taxes_fees": "String - Rate per night before taxes and fees formatted with currency",
        "extracted_before_taxes_fees": "Float - Extracted rate per night before taxes and fees"
      },
      "total_rate": {
        "lowest": "String - Lowest total rate for the entire trip formatted with currency",
        "extracted_lowest": "Float - Extracted lowest total rate for the entire trip",
        "before_taxes_fees": "String - Total rate before taxes and fees for the entire trip formatted with currency",
        "extracted_before_taxes_fees": "Float - Extracted total rate before taxes and fees for the entire trip"
      },
      "prices": [
        {
          "source": "String - Source of the site that list the price",
          "logo": "String - URL of the source's logo",
          "rate_per_night": {
            "lowest": "String - Lowest rate per night formatted with currency",
            "extracted_lowest": "Float - Extracted lowest rate per night",
            "before_taxes_fees": "String - Rate per night before taxes and fees formatted with currency",
            "extracted_before_taxes_fees": "Float - Extracted rate per night before taxes and fees"
          }
        }
      ],
      "nearby_places": [
        {
          "name": "String - Name of the place",
          "transportations": [
            {
              "type": "String - Type of transportation (e.g. Taxi, Walking, Public transport)",
              "duration": "String - Travel duration (e.g. 30 min)"
            }
          ]
        }
      ],
      "hotel_class": "String - Hotel class of the property (e.g. 5-star hotel)",
      "extracted_hotel_class": "Integer - Extracted hotel class of the property (e.g. 5)",
      "images": [
        {
          "thumbnail": "String - URL of the thumbnail",
          "original_image": "String - URL of the original image"
        }
      ],
      "overall_rating": "Float - Overall rating for the property",
      "reviews": "Integer - Total reviews for the property",
      "ratings": [
        {
          "stars": "Integer - Number of stars from 1 to 5",
          "count": "Integer - Total number of reviews for given star"
        }
      ],
      "location_rating": "Float - Location rating of the property (e.g. 1.8 is Bad location, 4.8 is excellent location)",
      "reviews_breakdown": [
        {
          "name": "String - Name of the review breakdown category",
          "description": "String - Description of the category",
          "total_mentioned": "Integer - Total mentioned about the category",
          "positive": "Integer - Total amount of positivity",
          "negative": "Integer - Total amount of negativity",
          "neutral": "Integer - Total amount of neutrality"
        }
      ],
      "amenities": "Array - Amenities provided by the property (e.g. Free Wi-Fi, Free parking, Hot tub, Pools, Airport shuttle and many more)",
      "excluded_amenities": "Array - Excluded amenities (e.g. No air conditioning, No airport shuttle, No beach access, Not pet-friendly and many more)",
      // For vacation rental property
      "essential_info": "Array - Essential info of the property (e.g. Entire villa, Sleeps 4, 9 bedrooms, 7 bathrooms",
      "property_token": "String - Property token to retrieve the details of the property",
      "serpapi_property_details_link": "String - SerpApi's endpoint for retrieving property details of the property"
    }
  ],
  ...
}

Example with q: Bali Resorts

Example with q: Bali Resorts

JSON Example

{
  ...
  "properties": [
    {
      "type": "hotel",
      "name": "The Ritz-Carlton, Bali",
      "description": "Zen-like quarters, some with butler service, in an upscale property offering refined dining & a spa.",
      "logo": "https://www.gstatic.com/travel-hotels/branding/df3424c9-7799-4d27-aeb5-cdcabf8bf950.png",
      "sponsored": true,
      "gps_coordinates": {
        "latitude": -8.830670999999999,
        "longitude": 115.21533099999999
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      "rate_per_night": {
        "lowest": "$347",
        "extracted_lowest": 347,
        "before_taxes_fees": "$287",
        "extracted_before_taxes_fees": 287
      },
      "prices": [
        {
          "source": "The Ritz-Carlton, Bali",
          "logo": "https://www.gstatic.com/travel-hotels/branding/df3424c9-7799-4d27-aeb5-cdcabf8bf950.png",
          "rate_per_night": {
            "lowest": "$347",
            "extracted_lowest": 347,
            "before_taxes_fees": "$287",
            "extracted_before_taxes_fees": 287
          }
        }
      ],
      "nearby_places": [
        {
          "name": "I Gusti Ngurah Rai International Airport",
          "transportations": [
            {
              "type": "Taxi",
              "duration": "29 min"
            }
          ]
        },
        {
          "name": "Bejana, Indonesian Restaurant at The Ritz-Carlton, Bali",
          "transportations": [
            {
              "type": "Walking",
              "duration": "1 min"
            }
          ]
        }
      ],
      "hotel_class": "5-star hotel",
      "extracted_hotel_class": 5,
      "images": [
        {
          "thumbnail": "https://lh3.googleusercontent.com/proxy/3GU0rF7c5y00MbsWRPAkzdY0Mql0YhH7coFNK9nRDE8GwlzsRbc7xHB8lu8ZN6ApPUiuM7GvjB4RWoJaQCcD4kjARaoyDitH27WhWiAdz8dfG4TCY6pafMo52UQH5W76rgH3JESuGN3ohZ20fEwSgBKGmdQZOA=s287-w287-h192-n-k-no-v1",
          "original_image": "https://d2hyz2bfif3cr8.cloudfront.net/imageRepo/7/0/151/470/91/rz-dpssw-private-pool-29237_Classic-Hor_O.jpg"
        },
        {
          "thumbnail": "https://lh5.googleusercontent.com/proxy/IUakfiu-4guLHoPdx1ippkGtRxwdDW9pxf3j8kRq8FtIKOnnCepdr1DBB1vDftDvbY1IDqTCsgzrvgXdzBB6sJU8-z-7yawWRg-tsLlqSy9XI9mbudAurUnJBm9tmF4sJJFZXkuiyUc7zaNMZ6XPZ3MJDhEzWw=s287-w287-h192-n-k-no-v1",
          "original_image": "https://d2hyz2bfif3cr8.cloudfront.net/imageRepo/7/0/147/874/299/dpssw-villa-0105-hor-clsc_O.jpg"
        },
        {
          "thumbnail": "https://lh6.googleusercontent.com/proxy/MWhomwXIPhVXgnq1drMsEuPzTr2FB1f5ePbnpGxtyxwOcB0zr7xKrN34pDzJQVEPRJxFtaSFKfGngytJW4jO2c_9jiVCQuOb6OgRBqn-TEAI172VO2Ptx3G1bx1OpnvBsIcIhTk4ZoNH4EWwUIRxEgVoYQg2EQ=s287-w287-h192-n-k-no-v1",
          "original_image": "https://d2hyz2bfif3cr8.cloudfront.net/imageRepo/7/0/147/874/243/dpssw-villa-0107-hor-clsc_O.jpg"
        },
        ...
      ],
      "overall_rating": 4.6,
      "reviews": 3614,
      "location_rating": 2.8,
      "reviews_breakdown": [
        {
          "name": "Property",
          "description": "Property",
          "total_mentioned": 605,
          "positive": 534,
          "negative": 44,
          "neutral": 27
        },
        {
          "name": "Service",
          "description": "Service",
          "total_mentioned": 599,
          "positive": 507,
          "negative": 74,
          "neutral": 18
        },
        {
          "name": "Nature",
          "description": "Nature and outdoor activities",
          "total_mentioned": 256,
          "positive": 212,
          "negative": 29,
          "neutral": 15
        }
      ],
      "amenities": [
        "Free Wi-Fi",
        "Free parking",
        "Pools",
        "Hot tub",
        "Air conditioning",
        "Fitness centre",
        "Spa",
        "Beach access",
        "Bar",
        "Restaurant",
        "Room service",
        "Kitchen in some rooms",
        "Airport shuttle",
        "Full-service laundry",
        "Accessible",
        "Business centre",
        "Child-friendly",
        "Smoke-free property"
      ],
      "property_token": "ChcIyo2FjdjsrkZ8xGgsvZy8xdGYyMTV2aBAB",
      "serpapi_property_details_link": "<SerpApi JSON endpoint>"
    },
    {
      "type": "hotel",
      "name": "Mulia Resort - Nusa Dua, Bali",
      "description": "Upmarket rooms & suites in a premium beachfront getaway with 6 restaurants & 4 pools.",
      "logo": "https://www.gstatic.com/travel-hotels/branding/icon_220.png",
      "sponsored": true,
      "gps_coordinates": {
        "latitude": -8.81621,
        "longitude": 115.22117399999999
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      "rate_per_night": {
        "lowest": "$484",
        "extracted_lowest": 484,
        "before_taxes_fees": "$388",
        "extracted_before_taxes_fees": 388
      },
      "prices": [
        {
          "source": "Priceline",
          "logo": "https://www.gstatic.com/travel-hotels/branding/icon_220.png",
          "rate_per_night": {
            "lowest": "$484",
            "extracted_lowest": 484,
            "before_taxes_fees": "$388",
            "extracted_before_taxes_fees": 388
          }
        }
      ],
      "nearby_places": [
        {
          "name": "I Gusti Ngurah Rai International Airport",
          "transportations": [
            {
              "type": "Taxi",
              "duration": "21 min"
            }
          ]
        },
        ...
      ],
      "hotel_class": "5-star hotel",
      "extracted_hotel_class": 5,
      "images": [
        {
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipNP9sahhj7GhCqvn_UuJ6E_k6YLxdVXKgj_L1Pe=s287-w287-h192-n-k-no-v1",
          "original_image": "https://lh5.googleusercontent.com/p/AF1QipNP9sahhj7GhCqvn_UuJ6E_k6YLxdVXKgj_L1Pe=s10000"
        },
        ...
      ],
      "overall_rating": 4.7,
      "reviews": 7567,
      "location_rating": 3.5,
      "reviews_breakdown": [
        {
          "name": "Property",
          "description": "Property",
          "total_mentioned": 1088,
          "positive": 971,
          "negative": 58,
          "neutral": 59
        },
        ...
      ],
      "amenities": [
        "Free breakfast",
        "Free Wi-Fi",
        "Parking ($)",
        ...
      ],
      "property_token": "ChcIyoSjddjs2uZ8xGgsvZy8xdGYyMTV2aBAB",
      "serpapi_property_details_link": "<SerpApi JSON endpoint>"
    },
    {
      "type": "hotel",
      "name": "Anantara Uluwatu Bali Resort",
      "description": "Chic suites with in-room bars & high-end sound systems, plus restaurants, a spa & an infinity pool.",
      "link": "https://www.anantara.com/uluwatu-bali?utm_source=GoogleMyBusiness&utm_medium=GMB&utm_term=Uluwatu&utm_content=Home&utm_campaign=Google_GMB",
      "gps_coordinates": {
        "latitude": -8.8085355,
        "longitude": 115.107911
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      "rate_per_night": {
        "lowest": "$247",
        "extracted_lowest": 247,
        "before_taxes_fees": "$199",
        "extracted_before_taxes_fees": 199
      },
      "total_rate": {
        "lowest": "$1,233",
        "extracted_lowest": 1233,
        "before_taxes_fees": "$994",
        "extracted_before_taxes_fees": 994
      },
      "deal": "27% less than usual",
      "deal_description": "Great Deal",
      "nearby_places": [
        {
          "name": "Padang Padang Beach",
          "transportations": [
            {
              "type": "Taxi",
              "duration": "10 min"
            }
          ]
        },
        ...
      ],
      "hotel_class": "5-star hotel",
      "extracted_hotel_class": 5,
      "images": [
        {
          "thumbnail": "https://lh5.googleusercontent.com/p/AF1QipOWiZ-Gb1n4TFh_g0UJSqViox2Gt5X30ESdFIg9=s287-w287-h192-n-k-no-v1",
          "original_image": "https://lh5.googleusercontent.com/p/AF1QipOWiZ-Gb1n4TFh_g0UJSqViox2Gt5X30ESdFIg9=s10000"
        },
        ...
      ],
      "overall_rating": 4.5,
      "reviews": 2210,
      "ratings": [
        {
          "stars": 5,
          "count": 1613
        },
        {
          "stars": 4,
          "count": 350
        },
        {
          "stars": 3,
          "count": 118
        },
        {
          "stars": 2,
          "count": 38
        },
        {
          "stars": 1,
          "count": 91
        }
      ],
      "location_rating": 3.6,
      "reviews_breakdown": [
        {
          "name": "Service",
          "description": "Service",
          "total_mentioned": 397,
          "positive": 324,
          "negative": 53,
          "neutral": 20
        },
        ...
      ],
      "amenities": [
        "Breakfast",
        "Free Wi-Fi",
        "Free parking",
        ...
      ],
      "property_token": "F3cIyo2Fjdjs2uZ8xGgsvZy8xdGYyMTV2aBAB",
      "serpapi_property_details_link": "<SerpApi JSON endpoint>"
    },
    ...
  ],
  ...
}

Example filtering with Eco-certified

Example filtering with Eco-certified

JSON Example

{
  ...
  "properties": [
    {
      "type": "hotel",
      "name": "Hilton Garden Inn Bali Ngurah Rai Airport",
      "description": "Warm rooms in a serene lodging featuring a restaurant, an outdoor pool & a free airport shuttle.",
      "link": "https://www.hilton.com/en/hotels/dpsjagi-hilton-garden-inn-bali-ngurah-rai-airport/?SEO_id=GMB-APAC-GI-DPSJAGI",
      "gps_coordinates": {
        "latitude": -8.7436776,
        "longitude": 115.17103000000002
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      ...
      "eco_certified": true
    },
    {
      "type": "hotel",
      "name": "Hilton Bali Resort",
      "description": "Posh quarters in an upmarket resort with beach access & a pool, plus a spa, tennis & restaurants.",
      "link": "https://www.hilton.com/en/hotels/dpsbahi-hilton-bali-resort/?SEO_id=GMB-APAC-HI-DPSBAHI",
      "gps_coordinates": {
        "latitude": -8.8256848,
        "longitude": 115.21867449999999
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      ...
      "eco_certified": true
    },
    {
      "type": "hotel",
      "name": "Conrad Bali",
      "description": "Sleek resort with Balinese-inspired lodging, lagoon-style pools & a spa, plus beachfront cabanas.",
      "link": "https://www.hilton.com/en/hotels/bpncici-conrad-bali/?SEO_id=GMB-APAC-CI-BPNCICI",
      "gps_coordinates": {
        "latitude": -8.781029,
        "longitude": 115.22515959999998
      },
      "check_in_time": "3:00 PM",
      "check_out_time": "12:00 PM",
      ...
      "eco_certified": true
    },
    ...
  ],
  ...
}