Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"place_id": 123,
"name": "<string>",
"is_closed": true,
"ranking_rank": 123,
"ranking_denominator": 123,
"ranking_city": "<string>",
"ranking_text": "<string>",
"overall_rating": 123,
"review_count": 123,
"rating_count_1": 123,
"rating_count_2": 123,
"rating_count_3": 123,
"rating_count_4": 123,
"rating_count_5": 123,
"subrating_food": 123,
"subrating_service": 123,
"subrating_value": 123,
"subrating_atmosphere": 123,
"travelers_choice_award_type": "<string>",
"travelers_choice_year": 123,
"is_michelin": true,
"michelin_stars": 123,
"michelin_year": 123,
"cuisines": "<any>",
"price_range": "<string>",
"address": "<string>",
"phone": "<string>",
"email": "<string>",
"website": "<string>",
"lat": 123,
"lng": 123
}TripAdvisor Restaurant Details Scraper
Get Results
Retrieve scraped data from TripAdvisor Restaurant Details Scraper
GET
/
v1
/
results
Get Results
curl --request GET \
--url https://api.lobstr.io/v1/results \
--header 'Authorization: <authorization>'import requests
url = "https://api.lobstr.io/v1/results"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.lobstr.io/v1/results', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.lobstr.io/v1/results",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.lobstr.io/v1/results"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.lobstr.io/v1/results")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/results")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"url": "<string>",
"place_id": 123,
"name": "<string>",
"is_closed": true,
"ranking_rank": 123,
"ranking_denominator": 123,
"ranking_city": "<string>",
"ranking_text": "<string>",
"overall_rating": 123,
"review_count": 123,
"rating_count_1": 123,
"rating_count_2": 123,
"rating_count_3": 123,
"rating_count_4": 123,
"rating_count_5": 123,
"subrating_food": 123,
"subrating_service": 123,
"subrating_value": 123,
"subrating_atmosphere": 123,
"travelers_choice_award_type": "<string>",
"travelers_choice_year": 123,
"is_michelin": true,
"michelin_stars": 123,
"michelin_year": 123,
"cuisines": "<any>",
"price_range": "<string>",
"address": "<string>",
"phone": "<string>",
"email": "<string>",
"website": "<string>",
"lat": 123,
"lng": 123
}Retrieve scraped data from your TripAdvisor Restaurant Details Scraper runs.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEY.Query Parameters
string
required
Hash of the squid to get results from.
integer
Page number (default: 1).
Result Fields
Export Details
string
TripAdvisor URL of the restaurant. When the same restaurant is submitted on several TripAdvisor domains, the first URL collected is kept. Example:
https://www.tripadvisor.com/Restaurant_Review-g187175-d806529-Reviews-Michel_Sarran-Toulouse_Haute_Garonne_Occitanie.htmlinteger
TripAdvisor internal identifier of the restaurant, identical on every TripAdvisor domain. One row per
place_id. Example: 806529string
Name of the restaurant as listed on TripAdvisor. Example:
Michel Sarranboolean
Whether TripAdvisor flags the restaurant as permanently closed. Example:
falseinteger
Position of the restaurant in its city ranking. Empty when the listing is closed or delisted. Example:
13integer
Total number of restaurants the city ranking is computed against. Example:
1996string
City the ranking refers to. Example:
Toulousestring
Raw ranking sentence as displayed by TripAdvisor. Empty when the listing is closed or delisted. Example:
#13 of 1,996 Restaurants in Toulousefloat
Average TripAdvisor rating out of 5. Example:
4.7integer
Total number of reviews on TripAdvisor. Example:
1636integer
Number of 1-star reviews. Example:
4integer
Number of 2-star reviews. Example:
19integer
Number of 3-star reviews. Example:
90integer
Number of 4-star reviews. Example:
196integer
Number of 5-star reviews. Example:
1327float
Aggregate food sub-rating out of 5.
0 means the dimension has never been rated. Example: 4.75float
Aggregate service sub-rating out of 5.
0 means the dimension has never been rated. Example: 4.72float
Aggregate value-for-money sub-rating out of 5.
0 means the dimension has never been rated. Example: 4.35float
Aggregate atmosphere sub-rating out of 5.
0 means the dimension has never been rated. Example: 4.37string
TripAdvisor Travelers’ Choice award code for the active year (e.g.
COE, BOTB). Empty when the restaurant has no award. Example: COEinteger
Year of the Travelers’ Choice award. Empty when the restaurant has no award. Example:
2026boolean
Whether the restaurant carries a MICHELIN Guide award on its TripAdvisor page. Example:
trueinteger
Number of MICHELIN stars. Empty for a MICHELIN distinction that is not a star (e.g. Bib Gourmand). Example:
1integer
Year of the MICHELIN award. Example:
2026json
Cuisine types listed on TripAdvisor. Example:
["French", "European", "Healthy"]string
Price range indicator. Example:
$$$$string
Full formatted address of the restaurant. Example:
21 Boulevard Armand Duportal, 31000, Toulouse Francestring
Contact phone number of the restaurant. Example:
+33 5 61 12 32 32string
Contact email address published by the restaurant on TripAdvisor. Empty when the restaurant has not published one. Example:
contact@michel-sarran.comstring
Official website URL of the restaurant. Example:
http://www.michel-sarran.comfloat
Latitude coordinate of the restaurant. Example:
43.607277float
Longitude coordinate of the restaurant. Example:
1.434596Code Examples
curl -G https://api.lobstr.io/v1/results \
-H "Authorization: Token YOUR_API_KEY" \
-d "squid=YOUR_SQUID_HASH" \
-d "page=1"
import requests
response = requests.get(
"https://api.lobstr.io/v1/results",
headers={"Authorization": "Token YOUR_API_KEY"},
params={"squid": "YOUR_SQUID_HASH", "page": 1},
)
print(response.json())
Response
200
{"total_results": 1, "data": [{"url": "https://www.tripadvisor.com/Restaurant_Review-g187175-d806529-Reviews-Michel_Sarran-Toulouse_Haute_Garonne_Occitanie.html", "place_id": 806529, "name": "Michel Sarran", "is_closed": false, "ranking_rank": 13, "ranking_denominator": 1996, "ranking_city": "Toulouse", "ranking_text": "#13 of 1,996 Restaurants in Toulouse", "overall_rating": 4.7, "review_count": 1636, "rating_count_1": 4, "rating_count_2": 19, "rating_count_3": 90, "rating_count_4": 196, "rating_count_5": 1327, "subrating_food": 4.75, "subrating_service": 4.72, "subrating_value": 4.35, "subrating_atmosphere": 4.37, "travelers_choice_award_type": "COE", "travelers_choice_year": 2026, "is_michelin": true, "michelin_stars": 1, "michelin_year": 2026, "cuisines": ["French", "European", "Healthy"], "price_range": "$$$$", "address": "21 Boulevard Armand Duportal, 31000, Toulouse France", "phone": "+33 5 61 12 32 32", "email": "contact@michel-sarran.com", "website": "http://www.michel-sarran.com", "lat": 43.607277, "lng": 1.434596}]}