Collect hotel reviews, ratings, and amenity data from booking platforms. Power recommendation engines and market analysis.
Travelers rely on reviews to make booking decisions. Building a comprehensive view of hotel quality requires aggregating data from multiple booking platforms and review sites.
Each platform has different formats, anti-scraping measures, and data structures. You need a reliable way to collect and normalize this data.
Comprehensive hospitality intelligence
Overall ratings, category scores, review counts, and individual reviews.
Pool, gym, WiFi, breakfast, parking, and all available amenities.
Address, neighborhood, nearby attractions, and location scores.
Room rates, price ranges, and seasonal pricing data.
Extract hotel review data
curl -G "https://api.webscraping.ai/ai/fields" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://booking-platform.com/hotel/grand-resort-miami" \
--data-urlencode "fields[hotel_name]=Name of the hotel" \
--data-urlencode "fields[star_rating]=Hotel star rating (1-5)" \
--data-urlencode "fields[guest_rating]=Guest review rating" \
--data-urlencode "fields[total_reviews]=Number of reviews" \
--data-urlencode "fields[location]=Hotel address and area" \
--data-urlencode "fields[price_range]=Typical price range per night" \
--data-urlencode "fields[amenities]=List of amenities offered" \
--data-urlencode "fields[cleanliness_score]=Cleanliness rating if shown" \
--data-urlencode "fields[service_score]=Service rating if shown" \
--data-urlencode "fields[location_score]=Location rating if shown" \
--data-urlencode "fields[value_score]=Value for money rating if shown" \
--data-urlencode "fields[highlights]=Main highlights or selling points"
# Response:
# {
# "hotel_name": "Grand Resort Miami Beach",
# "star_rating": 4,
# "guest_rating": 8.7,
# "total_reviews": 2341,
# "location": "Collins Avenue, Miami Beach, FL",
# "price_range": "$250-$450/night",
# "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
# "cleanliness_score": 9.1,
# "service_score": 8.5,
# "location_score": 9.4,
# "value_score": 8.2,
# "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
# }
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
result = client.fields(
"https://booking-platform.com/hotel/grand-resort-miami",
fields={
"hotel_name": "Name of the hotel",
"star_rating": "Hotel star rating (1-5)",
"guest_rating": "Guest review rating",
"total_reviews": "Number of reviews",
"location": "Hotel address and area",
"price_range": "Typical price range per night",
"amenities": "List of amenities offered",
"cleanliness_score": "Cleanliness rating if shown",
"service_score": "Service rating if shown",
"location_score": "Location rating if shown",
"value_score": "Value for money rating if shown",
"highlights": "Main highlights or selling points",
},
)
print(result)
# Response:
# {
# "hotel_name": "Grand Resort Miami Beach",
# "star_rating": 4,
# "guest_rating": 8.7,
# "total_reviews": 2341,
# "location": "Collins Avenue, Miami Beach, FL",
# "price_range": "$250-$450/night",
# "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
# "cleanliness_score": 9.1,
# "service_score": 8.5,
# "location_score": 9.4,
# "value_score": 8.2,
# "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
# }
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const result = await client.fields({
url: 'https://booking-platform.com/hotel/grand-resort-miami',
fields: {
hotel_name: 'Name of the hotel',
star_rating: 'Hotel star rating (1-5)',
guest_rating: 'Guest review rating',
total_reviews: 'Number of reviews',
location: 'Hotel address and area',
price_range: 'Typical price range per night',
amenities: 'List of amenities offered',
cleanliness_score: 'Cleanliness rating if shown',
service_score: 'Service rating if shown',
location_score: 'Location rating if shown',
value_score: 'Value for money rating if shown',
highlights: 'Main highlights or selling points',
},
});
console.log(result);
// Response:
// {
// "hotel_name": "Grand Resort Miami Beach",
// "star_rating": 4,
// "guest_rating": 8.7,
// "total_reviews": 2341,
// "location": "Collins Avenue, Miami Beach, FL",
// "price_range": "$250-$450/night",
// "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
// "cleanliness_score": 9.1,
// "service_score": 8.5,
// "location_score": 9.4,
// "value_score": 8.2,
// "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
// }
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$result = $client->fields('https://booking-platform.com/hotel/grand-resort-miami', [
'hotel_name' => 'Name of the hotel',
'star_rating' => 'Hotel star rating (1-5)',
'guest_rating' => 'Guest review rating',
'total_reviews' => 'Number of reviews',
'location' => 'Hotel address and area',
'price_range' => 'Typical price range per night',
'amenities' => 'List of amenities offered',
'cleanliness_score' => 'Cleanliness rating if shown',
'service_score' => 'Service rating if shown',
'location_score' => 'Location rating if shown',
'value_score' => 'Value for money rating if shown',
'highlights' => 'Main highlights or selling points',
]);
print_r($result);
// Response:
// {
// "hotel_name": "Grand Resort Miami Beach",
// "star_rating": 4,
// "guest_rating": 8.7,
// "total_reviews": 2341,
// "location": "Collins Avenue, Miami Beach, FL",
// "price_range": "$250-$450/night",
// "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
// "cleanliness_score": 9.1,
// "service_score": 8.5,
// "location_score": 9.4,
// "value_score": 8.2,
// "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
// }
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
result = client.fields(
'https://booking-platform.com/hotel/grand-resort-miami',
fields: {
hotel_name: 'Name of the hotel',
star_rating: 'Hotel star rating (1-5)',
guest_rating: 'Guest review rating',
total_reviews: 'Number of reviews',
location: 'Hotel address and area',
price_range: 'Typical price range per night',
amenities: 'List of amenities offered',
cleanliness_score: 'Cleanliness rating if shown',
service_score: 'Service rating if shown',
location_score: 'Location rating if shown',
value_score: 'Value for money rating if shown',
highlights: 'Main highlights or selling points',
}
)
puts result.inspect
# Response:
# {
# "hotel_name": "Grand Resort Miami Beach",
# "star_rating": 4,
# "guest_rating": 8.7,
# "total_reviews": 2341,
# "location": "Collins Avenue, Miami Beach, FL",
# "price_range": "$250-$450/night",
# "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
# "cleanliness_score": 9.1,
# "service_score": 8.5,
# "location_score": 9.4,
# "value_score": 8.2,
# "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
# }
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
result, _ := client.Fields(context.Background(), &webscrapingai.FieldsOptions{
URL: "https://booking-platform.com/hotel/grand-resort-miami",
Fields: map[string]string{
"hotel_name": "Name of the hotel",
"star_rating": "Hotel star rating (1-5)",
"guest_rating": "Guest review rating",
"total_reviews": "Number of reviews",
"location": "Hotel address and area",
"price_range": "Typical price range per night",
"amenities": "List of amenities offered",
"cleanliness_score": "Cleanliness rating if shown",
"service_score": "Service rating if shown",
"location_score": "Location rating if shown",
"value_score": "Value for money rating if shown",
"highlights": "Main highlights or selling points",
},
})
fmt.Println(result.Result)
}
// Response:
// {
// "hotel_name": "Grand Resort Miami Beach",
// "star_rating": 4,
// "guest_rating": 8.7,
// "total_reviews": 2341,
// "location": "Collins Avenue, Miami Beach, FL",
// "price_range": "$250-$450/night",
// "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
// "cleanliness_score": 9.1,
// "service_score": 8.5,
// "location_score": 9.4,
// "value_score": 8.2,
// "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
// }
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.FieldsOptions;
import ai.webscraping.result.FieldsResult;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
FieldsResult result = client.fields(FieldsOptions.builder()
.url("https://booking-platform.com/hotel/grand-resort-miami")
.addField("hotel_name", "Name of the hotel")
.addField("star_rating", "Hotel star rating (1-5)")
.addField("guest_rating", "Guest review rating")
.addField("total_reviews", "Number of reviews")
.addField("location", "Hotel address and area")
.addField("price_range", "Typical price range per night")
.addField("amenities", "List of amenities offered")
.addField("cleanliness_score", "Cleanliness rating if shown")
.addField("service_score", "Service rating if shown")
.addField("location_score", "Location rating if shown")
.addField("value_score", "Value for money rating if shown")
.addField("highlights", "Main highlights or selling points")
.build());
System.out.println(result.getResult());
// Response:
// {
// "hotel_name": "Grand Resort Miami Beach",
// "star_rating": 4,
// "guest_rating": 8.7,
// "total_reviews": 2341,
// "location": "Collins Avenue, Miami Beach, FL",
// "price_range": "$250-$450/night",
// "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
// "cleanliness_score": 9.1,
// "service_score": 8.5,
// "location_score": 9.4,
// "value_score": 8.2,
// "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
// }
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var result = await client.FieldsAsync(new FieldsRequest {
Url = "https://booking-platform.com/hotel/grand-resort-miami",
Fields = new Dictionary<string, string> {
["hotel_name"] = "Name of the hotel",
["star_rating"] = "Hotel star rating (1-5)",
["guest_rating"] = "Guest review rating",
["total_reviews"] = "Number of reviews",
["location"] = "Hotel address and area",
["price_range"] = "Typical price range per night",
["amenities"] = "List of amenities offered",
["cleanliness_score"] = "Cleanliness rating if shown",
["service_score"] = "Service rating if shown",
["location_score"] = "Location rating if shown",
["value_score"] = "Value for money rating if shown",
["highlights"] = "Main highlights or selling points",
},
});
Console.WriteLine(result.Result);
// Response:
// {
// "hotel_name": "Grand Resort Miami Beach",
// "star_rating": 4,
// "guest_rating": 8.7,
// "total_reviews": 2341,
// "location": "Collins Avenue, Miami Beach, FL",
// "price_range": "$250-$450/night",
// "amenities": ["Pool", "Spa", "Beach Access", "Free WiFi", "Restaurant"],
// "cleanliness_score": 9.1,
// "service_score": 8.5,
// "location_score": 9.4,
// "value_score": 8.2,
// "highlights": ["Beachfront location", "Rooftop pool", "Award-winning restaurant"]
// }
curl -G "https://api.webscraping.ai/ai/question" \
--data-urlencode "api_key=YOUR_API_KEY" \
--data-urlencode "url=https://booking-platform.com/hotel/grand-resort-miami" \
--data-urlencode "question=What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?"
# pip install webscraping_ai
# https://pypi.org/project/webscraping-ai/
from webscraping_ai import Client
client = Client(api_key="YOUR_API_KEY")
answer = client.question(
"https://booking-platform.com/hotel/grand-resort-miami",
question="What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?",
)
print(answer)
// npm install webscraping-ai
// https://www.npmjs.com/package/webscraping-ai
import { WebScrapingAI } from 'webscraping-ai';
const client = new WebScrapingAI({ apiKey: 'YOUR_API_KEY' });
const answer = await client.question({
url: 'https://booking-platform.com/hotel/grand-resort-miami',
question: 'What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?',
});
console.log(answer);
<?php
// composer require webscraping-ai/webscraping-ai-php
// https://packagist.org/packages/webscraping-ai/webscraping-ai-php
require 'vendor/autoload.php';
use WebScrapingAI\Client;
$client = new Client('YOUR_API_KEY');
$answer = $client->question(
'https://booking-platform.com/hotel/grand-resort-miami',
'What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?',
);
echo $answer;
# gem install webscraping_ai
# https://rubygems.org/gems/webscraping_ai
require 'webscraping_ai'
client = WebScrapingAI::Client.new(api_key: 'YOUR_API_KEY')
answer = client.question(
'https://booking-platform.com/hotel/grand-resort-miami',
question: 'What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?'
)
puts answer
// go get github.com/webscraping-ai/webscraping-ai-go/v4
// https://pkg.go.dev/github.com/webscraping-ai/webscraping-ai-go/v4
package main
import (
"context"
"fmt"
webscrapingai "github.com/webscraping-ai/webscraping-ai-go/v4"
)
func main() {
client, _ := webscrapingai.NewClient(&webscrapingai.Config{APIKey: "YOUR_API_KEY"})
answer, _ := client.Question(context.Background(), &webscrapingai.QuestionOptions{
URL: "https://booking-platform.com/hotel/grand-resort-miami",
Question: "What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?",
})
fmt.Println(answer)
}
// Maven: ai.webscraping:webscraping-ai:4.0.0
// https://central.sonatype.com/artifact/ai.webscraping/webscraping-ai
import ai.webscraping.Client;
import ai.webscraping.Config;
import ai.webscraping.option.QuestionOptions;
Client client = new Client(Config.builder().apiKey("YOUR_API_KEY").build());
String answer = client.question(QuestionOptions.builder()
.url("https://booking-platform.com/hotel/grand-resort-miami")
.question("What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?")
.build());
System.out.println(answer);
// dotnet add package WebScrapingAI
// https://www.nuget.org/packages/WebScrapingAI
using WebScrapingAI;
var client = new WebScrapingAIClient(new WebScrapingAIClientOptions { ApiKey = "YOUR_API_KEY" });
var answer = await client.QuestionAsync(new QuestionRequest {
Url = "https://booking-platform.com/hotel/grand-resort-miami",
Question = "What do guests love most about this hotel? What are the most common complaints? Would you recommend it for families, couples, or business travelers?",
});
Console.WriteLine(answer);
Build comprehensive hotel databases
Power personalized hotel suggestions
Analyze hospitality market trends
Monitor competitor hotel performance
More travel data solutions
Get started with 1,000 free API credits. No credit card required.