TripAdvisor Hotels API
Scrape TripAdvisor Hotels data with one API call. Searches TripAdvisor hotels in a destination, with filters for nightly price band, hotel class, guest rating, and property type. Returns a unified PlaceList: name, category, and the `url_path` you pass to /v1/tripadvisor/hotel or /v1/tripadvisor/reviews. Note this lane returns no star rating and no review count per result - chain /v1/tripadvisor/hotel for those, or use /v1/tripadvisor/restaurants and /v1/tripadvisor/attractions, whose results do carry ratings.
Last updated October 2026Maintained by the SocialCrawl team
Returns TripAdvisor hotels in a destination, filtered by nightly price, hotel class, guest rating, and property type.
Use it to build a shortlist for a city. Results carry no rating, so chain hotel for the star rating and review count.
Searching 68 platforms in parallel
What can you do with the Hotels API?
The Hotels endpoint gives you structured TripAdvisor data with computed fields in a single request. No scraping infrastructure to build or maintain.
Example Request
curl -H "x-api-key: YOUR_API_KEY" \
"https://www.socialcrawl.dev/v1/tripadvisor/hotels?q=Paris&depth=30"import requests
response = requests.get(
"https://www.socialcrawl.dev/v1/tripadvisor/hotels",
params={
'q': 'Paris',
'depth': '30',
},
headers={"x-api-key": "YOUR_API_KEY"},
)
data = response.json()const response = await fetch(
"https://www.socialcrawl.dev/v1/tripadvisor/hotels?q=Paris&depth=30",
{
headers: { "x-api-key": "YOUR_API_KEY" },
},
);
const data = await response.json();Parameters
| Parameter | Required | Description |
|---|---|---|
| q | Yes | City, region, or destination, e.g. 'Paris'. |
| depth | No | Number of hotels to retrieve (default 30, max 100). |
| sort_by | No | Ordering: BEST_VALUE | RANKED | PRICE_LOW_TO_HIGH | DISTANCE. (BEST_VALUE | RANKED | PRICE_LOW_TO_HIGH | DISTANCE) |
| price_min | No | Minimum nightly price. Omit for no minimum. |
| price_max | No | Maximum nightly price. Omit for no maximum. |
| star_rating_min | No | Minimum hotel class: any | 0 | 1 | 2 | 3 | 4 | 5. (any | 0 | 1 | 2 | 3 | 4 | 5) |
| review_score_min | No | Minimum guest rating: any | 3 | 3.5 | 4 | 4.5 | 5. (any | 3 | 3.5 | 4 | 4.5 | 5) |
| property_type | No | Property type: any | hotel | resort | apartment | villa | hostel | guest_house | bed_and_breakfast. (any | hotel | resort | apartment | villa | hostel | guest_house | bed_and_breakfast) |
| currency | No | Optional 3-letter currency code, e.g. 'USD'. |
What does the TripAdvisor Hotels API return?
Every response follows one unified schema. Here is a real, unmodified response body, so you can see the exact fields you get back before spending a credit.
Example response
{
"success": true,
"platform": "tripadvisor",
"endpoint": "/v1/tripadvisor/hotels",
"data": {
"items": [
{
"place": {
"id": "d228694",
"name": "Hôtel Malte - Astotel",
"url": "https://www.tripadvisor.com/Hotel_Review-g187147-d228694-Reviews-Hotel_Malte_Astotel-Paris_Ile_de_France.html",
"category": "Hotel",
"rating": {
"value": null,
"max": null
},
"reviews_count": null,
"price_level": null,
"address": null,
"phone": null,
"latitude": null,
"longitude": null,
"verified": null,
"description": null,
"image_urls": null,
"categories": null
}
},
{
"place": {
"id": "d229968",
"name": "Hôtel Astra Opéra - Astotel",
"url": "https://www.tripadvisor.com/Hotel_Review-g187147-d229968-Reviews-Hotel_Astra_Opera_Astotel-Paris_Ile_de_France.html",
"category": "Hotel",
"rating": {
"value": null,
"max": null
},
"reviews_count": null,
"price_level": null,
"address": null,
"phone": null,
"latitude": null,
"longitude": null,
"verified": null,
"description": null,
"image_urls": null,
"categories": null
}
}
],
"total": 5,
"dropped": 0
},
"credits_used": 1,
"request_id": "req_example000000",
"cached": false,
"pagination": {
"next_cursor": null,
"has_more": false,
"page_size": 5
},
"credits_remaining": 9999,
"redacted": true
}Live sample illustrating the unified response shape. Field values reflect the record you query.
How does the TripAdvisor Hotels API work?
Send a GET request with your API key and get back clean, structured JSON in our unified schema. Supported computed fields are populated when the source provides the required inputs.
Method
GET
Response
JSON
How do you scrape social media data in seconds?
The fastest social media scraping API for developers. Scrape profiles, posts, comments, and analytics from 68 platforms covering 10B+ monthly active users.
One schema, every platform
Query 68 platforms with identical response structures. Write your integration once.
Computed fields, not just scraped
When an endpoint supports these metrics and the source provides the required inputs, the normalized record includes engagement_rate, estimated_reach, content_category, and language. Ready to use.
See your data before you code
Visual Data Explorer. Paste any URL, get rich result cards, sortable tables, CSV export.
import requests
response = requests.get(
'https://www.socialcrawl.dev/v1/tiktok/profile',
params={'handle': 'charlidamelio'},
headers={'x-api-key': 'sc_YOUR_API_KEY'}
)
data = response.json(){
"success": true,
"platform": "tiktok",
"data": {
"author": {
"username": "charlidamelio",
"followers": 152400000
},
"engagement": {
"likes": 12400000000,
"engagement_rate": 0.087
},
"metadata": {
"language": "en",
"content_category": "lifestyle"
}
}
}Ready to scrape TripAdvisor Hotels data?
Get your API key and start pulling TripAdvisor data in under 60 seconds.
