Places
Find places on Tripadvisor.
GET | POST /v1/tripadvisor/placesSend parameters as a query string with GET, or as a JSON body with POST. Both are equivalent.
Request
curl "https://gateway.apinoa.com/v1/tripadvisor/places?q=hotels&category=hotels&near=Paris&country=US&limit=5" \
-H "x-api-key: $APINOA_API_KEY"Parameters
| Parameter | Type | Required | Notes |
|---|---|---|---|
category | enum | What to list: everything (default), restaurants, hotels, attractions (things to do, tours included), tours, destinations or airlines. all restaurants hotels attractions tours destinations airlines | |
country | enum | The market, as an ISO 3166 country code. US GB CA AU IN IE DE FR IT ES NL BR MX JP KR | |
cursor | string | The previous page's cursor. Pass it alone for the next page. | |
lang | string | Interface language. | |
limit | integer 1–120 | Results wanted (default 30, at most 120). More than one page is charged per page. | |
location | string | Search as if from this point: lat,lng. | |
near | string | Search around this place name, or a lat,lng point. | |
q | string | The query, search operators included. |
The same parameters, and every response type, are in the OpenAPI document.
Response
Returns PlacesPage in data. A real response, shortened: arrays keep their first entries and long text is cut.
{
"success": true,
"data": {
"engine": "tripadvisor",
"query": "hotels",
"outcome": "results",
"near": "Paris",
"country": "US",
"lang": "en",
"places": [
{
"id": "143336",
"name": "Paris Las Vegas",
"url": "https://www.tripadvisor.com/Hotel_Review-g45963-d143336-Reviews-Paris_Las_Vegas-Las_Vegas_Nevada.html",
"categories": ["Hotel"],
"rating": 3.9,
"reviewCount": 40012,
"photos": [
"https://dynamic-media-cdn.tripadvisor.com/media/photo-o/2f/ac/a0/69/paris-las-vegas.jpg?w=1280&h=1103&s=1"
],
"description": "Paris Las Vegas Hotel - A Caesars Rewards Destination. Experience everything you love about Paris, in the heart of the Las Vegas Strip. The city of lights shine…",
"lang": "en",
"ext": {
"type": "hotel",
"kind": "Hotel",
"area": "Las Vegas, Nevada",
"snippet": {
"text": "But, I tought I scored a good deal on the site of Hotel Paris itself.",
"highlights": [{"offset": 50, "length": 5}]
},
"mentions": 11474
}
},
{
"id": "228694",
"name": "Hôtel Malte - Astotel",
"url": "https://www.tripadvisor.com/Hotel_Review-g187147-d228694-Reviews-Hotel_Malte_Astotel-Paris_Ile_de_France.html",
"categories": ["Hotel"],
"rating": 4.9,
"reviewCount": 3979,
"photos": [
"https://dynamic-media-cdn.tripadvisor.com/media/photo-o/33/44/57/47/breakfast-room.jpg?w=3100&h=2069&s=1"
],
"description": "Located in the 2nd district next to the Stock Exchange, the Louvre and Place des Victoires, Hotel Malta provides a superb location for a memorable stay. Whether…",
"lang": "en",
"ext": {
"type": "hotel",
"kind": "Hotel",
"area": "Paris, Ile-de-France, France",
"snippet": {"text": "my favorite hotels in Paris.", "highlights": [{"offset": 12, "length": 6}]},
"mentions": 1124
}
}
],
"page": {"index": 1, "size": 30},
"cursor": "mqcJOnHYbpBCunJIJ48vsmO-A5Os86AMsBlRwIKCGcjSCmu8wlAMK_qtGDrHUEyUilfZgT3-p7E8hFKOOKxWfDJYjjCqVQ5N8fTuGjLS6qvzKcKvxvsSJIjXemS4ncyeRCqsaRVN9KB5h_6R6P6vIFPoYJjWrTyO…",
"fetchedAt": "2026-10-30T01:02:43.549Z",
"ext": {
"category": "hotels",
"scope": {"type": "world"},
"sections": [
{
"type": "listPreview",
"contentType": "HOTELS",
"title": "Hotels in Paris",
"url": "https://www.tripadvisor.com/Hotels-g187147-Paris_Ile_de_France-Hotels.html",
"geo": {
"id": "187147",
"name": "Paris",
"url": "https://www.tripadvisor.com/Tourism-g187147-Paris_Ile_de_France-Vacations.html",
"area": "Ile-de-France, France",
"description": "Lingering over pain au chocolat in a sidewalk café, relaxing after a day of strolling along the Seine and marveling at icons like the Eiffel Tower and the Arc d…",
"photo": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/17/15/6d/d6/paris.jpg?w=3575&h=2600&s=1"
}
}
]
}
}
}Errors
| Status | Code | Meaning |
|---|---|---|
| 400 | INVALID_CURSOR | The cursor is not one this operation returned. Start again without it. |
| 400 | INVALID_PARAMS | A parameter is missing, unknown or out of range, or the engine does not take it. The message names it. |
| 401 | UNAUTHORIZED | The x-api-key header is missing, or the key is revoked or unknown. |
| 402 | INSUFFICIENT_BALANCE | The balance does not cover this call. Top up in the dashboard. |
| 429 | MARKETPLACE_SATURATED | Too many concurrent calls. Retry after the Retry-After seconds. |
| 502 | UPSTREAM_ERROR | The engine answered with something unusable. Retry with backoff. |
| 503 | SERVICE_UNAVAILABLE | A temporary failure. Retry with backoff. |
Every code is listed in Errors. Failed calls are not billed.
Pricing
Price $0.0012 per call, plus $0.0012 for each extra call it makes — at most 3 more, so $0.0048 in total. List price; the rate steps down above 1,000 calls a day.
Notes
categorypicks what to list: restaurants, hotels, attractions, tours, destinations or airlines.limitabove one page reads further pages, one unit each.