Tripadvisor Search API
The Tripadvisor Search API returns search results as structured JSON, including place IDs, names, ratings, review counts, links, and review snippets when available. Search by keyword, choose a supported Tripadvisor domain, and filter by result type. Use offset pagination to collect further results.
Endpoint: https://api.scrapingdog.com/tripadvisor/search
Each successful request costs 5 credits, including an empty search, and returns up to 30 results. The response example below shows one of 30 returned places; totals and pagination reflect the full response. The API key has been replaced with
APIKEY.API Parameters
🔑
Scrapingdog Parameters
api_keyRequiredYour personal Scrapingdog API key, available on your dashboard. ReplaceAPIKEYwhen executing requests.
Type: String
🔍
Search
queryRequiredNonblank search text, for exampleJaipur. The submitted string must be at most1,000characters before trimming. Leading and trailing whitespace is removed.
Type: StringssrcOptionalFilter results by type, for examplehfor Hotels. Values are case-sensitive;aandAhave different meanings. See the supported result filters for all accepted values.
Default:a
Type: String enum
🌐
Localization
domainOptionalThe Tripadvisor edition to search, for examplewww.tripadvisor.in. Use a hostname without a scheme, path, or trailing slash. See the supported Tripadvisor domains and locales.
Default:www.tripadvisor.com
Type: String
📄
Pagination
offsetOptionalNumber of results to skip. Start at0, follow the returnednext_offset, and stop when it isnull. Send decimal digits only, up to9007199254740961.
Default:0
Type: Integer
API Examples

curl --get 'https://api.scrapingdog.com/tripadvisor/search' \ --data-urlencode 'api_key=APIKEY' \ --data-urlencode 'query=jaipur' \ --data-urlencode 'domain=www.tripadvisor.in' \ --data-urlencode 'ssrc=a' \ --data-urlencode 'offset=0'
import requests url = "https://api.scrapingdog.com/tripadvisor/search" params = { "api_key": "APIKEY", "query": "jaipur", "domain": "www.tripadvisor.in", "ssrc": "a", "offset": 0, } response = requests.get(url, params=params, timeout=70) response.raise_for_status() data = response.json() print(data["places"]) print(data["next_offset"])
const axios = require('axios'); axios.get('https://api.scrapingdog.com/tripadvisor/search', { params: { api_key: 'APIKEY', query: 'jaipur', domain: 'www.tripadvisor.in', ssrc: 'a', offset: 0, }, timeout: 70000, }).then(({ data }) => { console.log(data.places); console.log(data.next_offset); }).catch(error => { console.error(error.response?.data ?? error.message); });
<?php $params = [ 'api_key' => 'APIKEY', 'query' => 'jaipur', 'domain' => 'www.tripadvisor.in', 'ssrc' => 'a', 'offset' => 0, ]; $url = 'https://api.scrapingdog.com/tripadvisor/search?' . http_build_query($params); $ch = curl_init($url); curl_setopt_array($ch, [CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 70]); $body = curl_exec($ch); if ($body === false) { throw new RuntimeException(curl_error($ch)); } $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); if ($status !== 200) { throw new RuntimeException("HTTP $status: $body"); } $data = json_decode($body, true, 512, JSON_THROW_ON_ERROR); print_r($data['places']);
require 'net/http' require 'uri' require 'json' url = URI('https://api.scrapingdog.com/tripadvisor/search') url.query = URI.encode_www_form( api_key: 'APIKEY', query: 'jaipur', domain: 'www.tripadvisor.in', ssrc: 'a', offset: 0 ) http = Net::HTTP.new(url.host, url.port) http.use_ssl = true http.read_timeout = 70 response = http.get(url.request_uri) raise "HTTP #{response.code}: #{response.body}" unless response.is_a?(Net::HTTPSuccess) data = JSON.parse(response.body) puts JSON.pretty_generate(data.fetch('places'))
import java.net.URI; import java.net.URLEncoder; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.nio.charset.StandardCharsets; import java.time.Duration; public class Main { public static void main(String[] args) throws Exception { String query = URLEncoder.encode("jaipur", StandardCharsets.UTF_8); String apiKey = URLEncoder.encode("APIKEY", StandardCharsets.UTF_8); String url = "https://api.scrapingdog.com/tripadvisor/search?api_key=" + apiKey + "&query=" + query + "&domain=www.tripadvisor.in&ssrc=a&offset=0"; HttpRequest request = HttpRequest.newBuilder(URI.create(url)) .timeout(Duration.ofSeconds(70)).GET().build(); HttpResponse<String> response = HttpClient.newHttpClient() .send(request, HttpResponse.BodyHandlers.ofString()); if (response.statusCode() != 200) { throw new RuntimeException("HTTP " + response.statusCode() + ": " + response.body()); } System.out.println(response.body()); } }
Supported Domains & Reported Locales
| Country / language edition | domain | Reported locale |
|---|---|---|
| United States | www.tripadvisor.com | en-US |
| Arabic | ar.tripadvisor.com | ar-US-u-nu-latn |
| Argentina | www.tripadvisor.com.ar | es-AR |
| Australia | www.tripadvisor.com.au | en-AU |
| Austria | www.tripadvisor.at | de-AT |
| Belgium (Dutch) | www.tripadvisor.be | nl-BE |
| Belgium (French) | fr.tripadvisor.be | fr-BE |
| Brazil | www.tripadvisor.com.br | pt-BR |
| Canada (English) | www.tripadvisor.ca | en-CA |
| Canada (French) | fr.tripadvisor.ca | fr-CA |
| Chile | www.tripadvisor.cl | es-CL |
| China (International) | cn.tripadvisor.com | zh-Hans-US |
| Colombia | www.tripadvisor.co | es-CO |
| Peru | www.tripadvisor.com.pe | es-PE |
| Denmark | www.tripadvisor.dk | da-DK |
| Egypt | www.tripadvisor.com.eg | ar-EG-u-nu-latn |
| France | www.tripadvisor.fr | fr-FR |
| Germany | www.tripadvisor.de | de-DE |
| Greece | www.tripadvisor.com.gr | el-GR |
| Hong Kong (Chinese) | www.tripadvisor.com.hk | zh-Hant-HK |
| Hong Kong (English) | en.tripadvisor.com.hk | en-HK |
| India | www.tripadvisor.in | en-IN |
| Indonesia | www.tripadvisor.co.id | id-ID |
| Ireland | www.tripadvisor.ie | en-IE |
| Israel | www.tripadvisor.co.il | he-IL |
| Italy | www.tripadvisor.it | it-IT |
| Japan | www.tripadvisor.jp | jp-JP |
| Korea | www.tripadvisor.co.kr | ko-KR |
| Malaysia | www.tripadvisor.com.my | en-MY |
| Mexico | www.tripadvisor.com.mx | es-MX |
| Netherlands | www.tripadvisor.nl | nl-NL |
| New Zealand | www.tripadvisor.co.nz | en-NZ |
| Norway | no.tripadvisor.com | nb-NO |
| Philippines | www.tripadvisor.com.ph | en-PH |
| Portugal | www.tripadvisor.pt | pt-PT |
| Russia | www.tripadvisor.ru | ru-RU |
| Singapore | www.tripadvisor.com.sg | en-SG |
| South Africa | www.tripadvisor.co.za | en-ZA |
| Spain | www.tripadvisor.es | es-ES |
| Sweden | www.tripadvisor.se | se-SE |
| Switzerland (French) | fr.tripadvisor.ch | fr-CH |
| Switzerland (German) | www.tripadvisor.ch | de-CH |
| Switzerland (Italian) | it.tripadvisor.ch | it-CH |
| Taiwan | www.tripadvisor.com.tw | zh-Hant-TW |
| Thailand | th.tripadvisor.com | th-u-ca-gregory |
| Turkiye | www.tripadvisor.com.tr | tr-TR |
| United Kingdom | www.tripadvisor.co.uk | en-UK |
| Venezuela | www.tripadvisor.com.ve | es-VE |
| Vietnam | www.tripadvisor.com.vn | vi-VN |
{
"search_metadata": {
"status": "Success",
"tripadvisor_url": "https://www.tripadvisor.in/Search?q=jaipur&geo=1&ssrc=a&offset=0&limit=30",
"total_time_taken": 0.74
},
"search_parameters": {
"engine": "tripadvisor",
"query": "jaipur",
"domain": "www.tripadvisor.in",
"locale": "en-IN",
"ssrc": "a",
"offset": 0,
"limit": 30
},
"total_time_taken": 0.74,
"total_results": 30,
"total_available": 2000,
"next_offset": 30,
"scrapingdog_pagination": {
"current": "https://api.scrapingdog.com/tripadvisor/search?api_key=APIKEY&query=jaipur&domain=www.tripadvisor.in&ssrc=a&offset=0",
"next": "https://api.scrapingdog.com/tripadvisor/search?api_key=APIKEY&query=jaipur&domain=www.tripadvisor.in&ssrc=a&offset=30"
},
"places": [
{
"position": 1,
"title": "Fairmont Jaipur",
"place_type": "ACCOMMODATION",
"place_id": "2446448",
"link": "https://www.tripadvisor.in/Hotel_Review-g2555901-d2446448-Reviews-Fairmont_Jaipur-Kookas_Jaipur_District_Rajasthan.html",
"description": "Fairmont Jaipur is an ode to the Pink City, reflected in awe-inspiring architecture inspired by the Mughals and Royal Rajputs. Nestled amid the majestic Aravalli Hills, the hotel features 245 elegantly appointed rooms and suites, blending traditional Rajasthani artistry with modern comforts. Dining experiences range from Zoya, the vibrant all-day restaurant celebrating authentic Rajasthani cuisine, to Anjum, where Fairmont’s celebrated tea culture finds a local expression, and Aza, the refined library bar for intimate evenings over signature cocktails. Complimentary Wi-Fi is offered to all guests, ensuring a seamless and comfortable stay.",
"rating": 4.7,
"reviews": 6024,
"location": "Kookas, India",
"thumbnail": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/03/80/78/91/fairmont-jaipur.jpg",
"highlighted_review": {
"text": "## ⭐️ A Truly Royal Stay at Fairmont Jaipur\n\n Our stay at **Fairmont Jaipur",
"highlighted_texts": [
"Jaipur",
"Jaipur"
],
"mention_count": 2272
}
}
]
}