[ docs ]Places & travel
Tripadvisor
Measured Tripadvisor data, one operation per call. Places are named by their Tripadvisor URL (Hotel_Review / Restaurant_ Review / Attraction_Review). Every fetch adds rating, review count and rank to the place's history. ops: hotels, restaurants, attractions (full cards for up to ten places of that kind — contact, address and coordinates, rating with breakdown and review tags, rank out of, photos count; hotels add class, rooms, amenities, price range and OTA offers for a stay; restaurants add cuisines, dishes, hours, menu, price level; attractions add types, ticket offers, booking links), searchHotels, searchRestaurants, searchAttractions (a destination or dish, every hit a full card), reviews (reviews for up to ten places of any kind — text, rating, dates, trip type, sub-ratings, owner response; filter by minimum date, ratings, languages), history (stored rating/review-count/rank series for places already held, free). Ops are independent — issue several as PARALLEL tool calls. Fresh fetches cost credits; anything already held is free.
POST https://api.zomler.com/api/v1/platforms/tripadvisorhotels
from 2 credits · fresh for 3 daysFull cards for up to ten hotels by Tripadvisor URL — rating breakdown, rank, class, rooms, amenities, price range, OTA offers for the stay.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
subjectsrequired | list of string | — | 1-10 items |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
stay | object | all defaults | — |
stay.checkIn | string | — | YYYY-MM-DD |
stay.checkOut | string | — | YYYY-MM-DD |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"subjects": [
"example"
],
"op": "hotels"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"subjects": [
"example"
],
"op": "hotels"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"subjects": [
"example"
],
"op": "hotels"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])restaurants
from 2 credits · fresh for 3 daysFull cards for up to ten restaurants by URL — cuisines, dishes, hours, menu link, price level, rating breakdown, rank.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
subjectsrequired | list of string | — | 1-10 items |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"subjects": [
"example"
],
"op": "restaurants"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"subjects": [
"example"
],
"op": "restaurants"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"subjects": [
"example"
],
"op": "restaurants"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])attractions
from 2 credits · fresh for 3 daysFull cards for up to ten attractions by URL — types, ticket offers, booking links, rating breakdown, rank.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
subjectsrequired | list of string | — | 1-10 items |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"subjects": [
"example"
],
"op": "attractions"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"subjects": [
"example"
],
"op": "attractions"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"subjects": [
"example"
],
"op": "attractions"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])searchHotels
from 20 credits for 10Hotels for a destination — every hit a full card, priced for the stay when dates are given.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
queryrequired | string | — | ≤300 chars |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
limit | integer | 10 | 1-100 |
stay | object | all defaults | — |
stay.checkIn | string | — | YYYY-MM-DD |
stay.checkOut | string | — | YYYY-MM-DD |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"query": "example",
"op": "searchHotels"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"query": "example",
"op": "searchHotels"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"query": "example",
"op": "searchHotels"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])searchRestaurants
from 20 credits for 10Restaurants for a destination or dish — every hit a full card.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
queryrequired | string | — | ≤300 chars |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
limit | integer | 10 | 1-100 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"query": "example",
"op": "searchRestaurants"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"query": "example",
"op": "searchRestaurants"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"query": "example",
"op": "searchRestaurants"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])searchAttractions
from 20 credits for 10Things to do for a destination — every hit a full card.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
queryrequired | string | — | ≤300 chars |
language | string | en | BCP-47 |
currency | string | USD | ISO 4217 |
limit | integer | 10 | 1-100 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"query": "example",
"op": "searchAttractions"
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"query": "example",
"op": "searchAttractions"
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"query": "example",
"op": "searchAttractions"
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])reviews
from 49 credits for 25 · fresh for 3 daysReviews for up to ten places of any kind — text, rating, dates, trip type, sub-ratings, owner response, reviewer.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
subjectsrequired | list of string | — | 1-10 items |
since | string | — | YYYY-MM-DD |
ratings◆ | list of integer | [] | each 1-5 |
languages◆ | list of string | [] | each BCP-47 |
limit | integer | 25 | 1-100 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"op": "reviews",
"subjects": [
"example"
]
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"op": "reviews",
"subjects": [
"example"
]
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"op": "reviews",
"subjects": [
"example"
]
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])history
free · reads what is heldStored rating/review-count/rank series of places already held — free.
Request fields
| Field | Type | Default | Values / limits |
|---|---|---|---|
subjectsrequired | list of string | — | 1-10 items |
metric | enum | rating | ratingreviewsrank |
days | integer | 90 | 1-730 |
Example
curl -X POST https://api.zomler.com/api/v1/platforms/tripadvisor \
-H "X-API-Key: zk_live_…" \
-H "Content-Type: application/json" \
-d '{
"request": {
"op": "history",
"subjects": [
"example"
]
},
"estimateOnly": false
}'const res = await fetch("https://api.zomler.com/api/v1/platforms/tripadvisor", {
method: "POST",
headers: {
"X-API-Key": process.env.ZOMLER_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"request": {
"op": "history",
"subjects": [
"example"
]
},
"estimateOnly": false
}),
});
const envelope = await res.json();
console.log(envelope.data, envelope.cost.creditsCharged);import os, httpx
res = httpx.post(
"https://api.zomler.com/api/v1/platforms/tripadvisor",
headers={"X-API-Key": os.environ["ZOMLER_API_KEY"]},
json={
"request": {
"op": "history",
"subjects": [
"example"
]
},
"estimateOnly": False
},
timeout=120,
)
envelope = res.json()
print(envelope["data"], envelope["cost"]["creditsCharged"])