Update Settings
curl --request POST \
--url https://api.lobstr.io/v1/squids/{squid_hash} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/squids/{squid_hash}"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/squids/{squid_hash}', 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/squids/{squid_hash}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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/squids/{squid_hash}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.lobstr.io/v1/squids/{squid_hash}")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/squids/{squid_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodyTripAdvisor Reviews Scraper
Update Settings
Configure the TripAdvisor Reviews Scraper parameters including filters for language, ratings, and date range
POST
/
v1
/
squids
/
{squid_hash}
Update Settings
curl --request POST \
--url https://api.lobstr.io/v1/squids/{squid_hash} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: <content-type>'import requests
url = "https://api.lobstr.io/v1/squids/{squid_hash}"
headers = {
"Authorization": "<authorization>",
"Content-Type": "<content-type>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<authorization>', 'Content-Type': '<content-type>'}
};
fetch('https://api.lobstr.io/v1/squids/{squid_hash}', 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/squids/{squid_hash}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>",
"Content-Type: <content-type>"
],
]);
$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/squids/{squid_hash}"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "<authorization>")
req.Header.Add("Content-Type", "<content-type>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.lobstr.io/v1/squids/{squid_hash}")
.header("Authorization", "<authorization>")
.header("Content-Type", "<content-type>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lobstr.io/v1/squids/{squid_hash}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<authorization>'
request["Content-Type"] = '<content-type>'
response = http.request(request)
puts response.read_bodyConfigure your TripAdvisor Reviews Scraper squid settings to control review collection limits and apply filters by language, rating, and recency. These settings help you target specific review types and optimize credit usage.
Headers
string
required
Your API authentication token. Value:
Token YOUR_API_KEYstring
required
Request body format. Value:
application/jsonScraper Parameters
Set these parameters in theparams object:
| Parameter | Type | Default | Description |
|---|---|---|---|
| max_results | integer | unlimited | Maximum number of reviews to collect per listing |
| max_unique_results_per_run | integer | unlimited | Maximum unique reviews across all tasks in the run |
| language | string | All languages | Filter reviews by language (e.g., English, French, German) |
| ratings | string | All ratings | Filter by star rating: 1, 2, 3, 4, 5 |
| fetch_since | string | null | Stop scraping when items older than this threshold are reached (based on published_at). Use a relative duration (24h, 7d, 2w) or an absolute date (YYYY-MM-DD HH:MM:SS) |
| fetch_since_timezone | string | null | Timezone for interpreting an absolute fetch_since date (e.g. Europe/Paris). Only applies when fetch_since is an absolute date — ignored for relative values like 24h or 7d. See supported timezones. |
General Settings
Standard squid settings that apply to all scrapers:| Setting | Type | Description |
|---|---|---|
| name | string | Display name for your squid configuration |
| concurrency | integer | Number of parallel scraping threads (default: 1) |
| export_unique_results | boolean | Export only unique results (deduplicated) |
| to_complete | boolean | Run until all tasks complete |
| no_line_breaks | boolean | Remove line breaks from results |
Use the language and ratings filters to collect only high-quality reviews in your target language, reducing noise and credit consumption.
Set
fetch_since to null for all reviews, or use a relative duration ("24h", "7d", "2w") or absolute date ("YYYY-MM-DD HH:MM") to collect only recent reviews. When using an absolute date, set fetch_since_timezone to interpret it in the correct timezone (e.g. "Europe/Paris").Reviews include subratings (Value, Rooms, Location, Cleanliness, Service, Sleep Quality) for hotels, providing detailed insights beyond the overall rating.
Code Examples
curl -X POST "https://api.lobstr.io/v1/squids/YOUR_SQUID_HASH" \
-H "Authorization: Token YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "TripAdvisor Reviews - NYC Hotels",
"params": {
"max_results": 100,
"language": "English",
"ratings": "5",
"fetch_since": null,
"fetch_since_timezone": null
}
}'
import requests
API_KEY = "YOUR_API_KEY"
BASE_URL = "https://api.lobstr.io/v1"
headers = {"Authorization": f"Token {API_KEY}"}
squid_hash = "YOUR_SQUID_HASH"
# Update TripAdvisor Reviews Scraper settings
response = requests.post(f"{BASE_URL}/squids/{squid_hash}",
headers=headers,
json={
"name": "TripAdvisor Reviews - NYC Hotels",
"params": {
"max_results": 100,
"language": "English",
"ratings": "5",
"fetch_since": None, # relative: "7d", absolute: "2026-01-01 00:00:00"
"fetch_since_timezone": None # e.g. "Europe/Paris" — only used with absolute fetch_since
}
}
)
data = response.json()
print(f"Squid updated: {data['name']}")
print(f"Max results per task: {data['params']['max_results']}")
print(f"Language filter: {data['params']['language']}")
print(f"Rating filter: {data['params']['ratings']}")
Response
201
{
"id": "c7ea965333d54a949a9e74ba62029098",
"name": "TripAdvisor Reviews - NYC Hotels",
"crawler": {
"id": 132,
"name": "TripAdvisor Reviews Scraper",
"slug": "tripadvisor-reviews-scraper"
},
"params": {
"max_results": 100,
"language": "English",
"ratings": "5",
"fetch_since": null,
"fetch_since_timezone": null
},
"concurrency": 5,
"export_unique_results": true,
"to_complete": true,
"no_line_breaks": false,
"status": "idle",
"created_at": "2025-01-20T10:15:00.000000",
"updated_at": "2025-01-27T14:35:00.000000"
}
⌘I