Apinoa Docs

Reviews

从 Tripadvisor 获取地点的评论。

查看原始 .mdx
GET | POST /v1/tripadvisor/reviews

参数可以用 GET 的查询字符串发送,也可以用 POST 的 JSON 请求体发送,两者等价。

请求

curl "https://gateway.apinoa.com/v1/tripadvisor/reviews?place=143336&limit=5" \
  -H "x-api-key: $APINOA_API_KEY"

参数

参数类型必填说明
cursorstringThe previous page's cursor. Pass it alone for the next page.
languagestringOnly reviews in this language — Tripadvisor counts its machine translations into it (each review says when it is one). All languages by default.
limitinteger 1–100Results wanted (default 20, at most 100). More than one page is charged per page.
monthsstringOnly reviews of visits in these months, e.g. 6,7,8 or june.
placestringThe place's id, as places returns it (a Tripadvisor link is taken too).
qstringOnly reviews that mention this text.
ratingstringOnly reviews with these stars, e.g. 5 or 1,2.
sortenumReview order: Tripadvisor's own (default), newest first, or the most detailed first. relevant newest detailed
visitTypestringOnly reviews by these travellers: families, couples, solo, business, friends (comma-separated).

这些参数及所有响应类型也写在OpenAPI 文档中。

响应

在 data 中返回 PlaceReviewsPage。 真实响应的节选:数组只保留前几项,长文本已截断。

{
  "success": true,
  "data": {
    "engine": "tripadvisor",
    "placeId": "143336",
    "summary": {
      "average": 3.9,
      "count": 40012,
      "distribution": {"1": 6.93, "2": 7.08, "3": 14.87, "4": 29.89, "5": 41.24}
    },
    "starCounts": {"1": 2772, "2": 2833, "3": 5948, "4": 11959, "5": 16500},
    "sort": "newest",
    "page": {"index": 1, "size": 5, "total": 40012},
    "reviews": [
      {
        "id": "1083706294",
        "author": "Richie J",
        "authorId": "DEE03B589798E25B6D9C7B158ED1E551",
        "authorUrl": "https://www.tripadvisor.com/Profile/536richiej",
        "authorAvatarUrl": "https://dynamic-media-cdn.tripadvisor.com/media/photo-o/1a/f6/f2/11/default-avatar-2020-23.jpg?w=1200&h=1200&s=1",
        "rating": 3,
        "title": "Multiple issues derailed experience",
        "body": "The shower only had cold water. There was no body wash bc the canister was broken. Called housekeeping and a bag of soaps were left on bathroom counter. This is…",
        "date": "2026-10-29T22:42:49.097Z",
        "helpfulCount": 0,
        "images": [],
        "language": "en",
        "pinned": false,
        "ext": {
          "url": "https://www.tripadvisor.com/ShowUserReviews-g45963-d143336-r1083706294-Paris_Las_Vegas-Las_Vegas_Nevada.html",
          "visit": {"type": "couples", "date": "2026-10"},
          "photoCount": 0,
          "trustSafetyAlert": false,
          "reviewer": {"username": "536richiej", "contributions": 1, "helpfulVotes": 0}
        }
      },
      {
        "id": "1083555734",
        "author": "Dorothy I",
        "authorId": "A12310ACFD286DA674866408BEEA29DC",
        "authorUrl": "https://www.tripadvisor.com/Profile/dorothyi321",
        "authorAvatarUrl": "https://dynamic-media-cdn.tripadvisor.com/media/photo-s/01/2e/70/69/avatar047.jpg?w=450&h=450&s=1",
        "rating": 5,
        "title": "Lovely",
        "body": "Initially they put me in Versailles tower, I was a bit disappointed, great view but loud and elevator issues, it’s not quite as elegant as I expected from this…",
        "date": "2026-10-28T16:59:35.842Z",
        "helpfulCount": 0,
        "images": [
          "https://dynamic-media-cdn.tripadvisor.com/media/v2/photo-o/35/0f/26/ce/image.jpg?w=3024&h=4032&s=1",
          "https://dynamic-media-cdn.tripadvisor.com/media/v2/photo-o/35/0f/26/d0/image.jpg?w=3024&h=4032&s=1"
        ],
        "language": "en",
        "pinned": false,
        "ext": {
          "url": "https://www.tripadvisor.com/ShowUserReviews-g45963-d143336-r1083555734-Paris_Las_Vegas-Las_Vegas_Nevada.html",
          "visit": {"type": "solo", "date": "2026-10"},
          "photoCount": 3,
          "photoCaptions": ["Perfect view"],
          "trustSafetyAlert": false,
          "reviewer": {"username": "dorothyi321", "contributions": 8, "helpfulVotes": 0}
        }
      }
    ],
    "cursor": "CLGdsXzj_3O3ElOeWzJoq8nqyzEjXq15aaxleTqAcTLFSh2SehSKQB2jIsWOaf8IfICs6nJDR5VnR9U0GpzUQSOAoVlzyvpvL9RzaURF88Z0S5LTXzqHsxc3nH0AOmvJCgsfOSRzVgAZi5qoJ_WLj_8Yg12i9w",
    "fetchedAt": "2026-10-30T01:02:47.016Z",
    "ext": {
      "place": {
        "name": "Paris Las Vegas",
        "type": "hotel",
        "url": "https://www.tripadvisor.com/Hotel_Review-g45963-d143336-Reviews-Paris_Las_Vegas-Las_Vegas_Nevada.html"
      },
      "subRatings": {
        "activitiesAndGym": 3.5,
        "cleanliness": 4.2,
        "dining": 3.9,
        "location": 4.7,
        "pool": 3.7,
        "room": 4,
        "service": 3.9,
        "sleep": 4.2,
        "value": 3.9
      },
      "languages": {
        "de": 13697,
        "no": 16161,
        "fi": 92,
        "ru": 19635,
        "pt": 5745,
        "zhTW": 13079,
        "fr": 10019,
        "hu": 93,
        "sk": 92,
        "sr": 92,
        "zhCN": 12377,
        "sv": 12000,
        "ko": 13790,
        "in": 13751,
        "el": 13880,
        "en": 36553,
        "it": 17367,
        "es": 17965,
        "iw": 161,
        "cs": 93,
        "ar": 9357,
        "vi": 170,
        "th": 13062,
        "ja": 10254,
        "pl": 10764,
        "da": 10191,
        "nl": 16104,
        "tr": 7945
      }
    }
  }
}

错误

状态代码含义
400INVALID_CURSOR该 cursor 不是本操作返回的。请不带它重新开始。
400INVALID_PARAMS参数缺失、未知、超出范围,或该引擎不接受。消息中会指出是哪一个。
401UNAUTHORIZED缺少 x-api-key 请求头,或密钥已吊销或未知。
402INSUFFICIENT_BALANCE余额不足以支付本次调用。请在控制台充值。
404NOT_FOUND该地点不存在。
429MARKETPLACE_SATURATED并发调用过多。请等待 Retry-After 秒后重试。
502UPSTREAM_ERROR引擎返回了无法使用的内容。请退避后重试。
503SERVICE_UNAVAILABLE临时故障。请退避后重试。

全部错误代码见 Errors。失败的调用不计费。

价格

价格 每次调用 $0.0012,每多一次调用加 $0.0012——最多再加 4 次,合计最多 $0.006。标价;单日调用超过 1,000 次后单价下调。

说明

  • 把 places 返回的地点 id 作为 place 传入。
  • 可按 rating、visitType、months、language 或 q(正文文本)筛选。指定 language 时,Tripadvisor 会计入其机器翻译,并在每条评论中注明。

本页内容