> ## Documentation Index
> Fetch the complete documentation index at: https://docs.keyapi.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Product Reviews

> Retrieve customer reviews for a TikTok Shop product, including ratings, review text, and buyer information.

<div className="inline-flex items-center gap-2 px-4 py-2 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg">
  <span className="text-base">🪙</span>
  <span className="text-sm font-medium text-yellow-900 dark:text-yellow-100"><span className="font-semibold">2 credits</span><span className="text-yellow-700 dark:text-yellow-300 ml-1">per request</span></span>
</div>

## Copy for AI

<div className="my-6 rounded-xl border border-gray-200 bg-gray-50 p-5 dark:border-gray-800 dark:bg-gray-900/40">
  <div className="min-w-0">
    <p className="text-base font-semibold text-gray-900 dark:text-gray-100">🤖 Why Code When AI Can Do It For You?</p>
    <p className="mt-1 text-sm text-gray-700 dark:text-gray-300">Stop writing code like it's 1970! Let AI do the heavy lifting - click the sparkles to copy a perfectly formatted prompt for ChatGPT, Claude, or your favorite AI assistant.</p>
  </div>

  <div className="mt-4">
    <button
      type="button"
      className="inline-flex items-center gap-2 rounded-md border border-emerald-300 bg-emerald-50 px-3 py-2 text-sm font-medium text-emerald-800 hover:bg-emerald-100 dark:border-emerald-700 dark:bg-emerald-900/30 dark:text-emerald-100 dark:hover:bg-emerald-900/50"
      onClick={() => navigator.clipboard.writeText(`I want to make an API call to https://api.keyapi.ai/v1/tiktok/product/reviews.

Please help me write code to make this API call and handle the response appropriately. Include error handling and best practices.

Here are the details:

Endpoint: GET https://api.keyapi.ai/v1/tiktok/product/reviews

Description: Retrieve customer reviews for a TikTok Shop product, including ratings, review text, and buyer information.

Required Headers:
--header 'Authorization: Bearer <YOUR_API_KEY>'

Parameters:
- product_id (Required): Product unique ID. Example: 1729679758111249333
- region (Required): Optional regions include: "US", "GB", "DE", "FR", "IT", "ID", "MY", "MX", "PH", "SG", "ES", "TH", "VN", "BR", "JP", "IE". Example: US
- offset (Required): The offset starts from 1. When the has_more returned by the interface is true, the offset for the next time should refer to the next_cursor value returned by the interface.. Example: 1

Example Response:
{
"code": 0,
"message": "success",
"data": {
"review_items": [
  {
    "review": {
      "review_id": "7585673214710253325",
      "rating": 5,
      "display_text": "I cannot express now happy l am I that I found CCC teas. they are beyond delicious and they really give you the pick me up without the crash all while delivering tasty flavors with Zero Sugar and guilt!",
      "images": [
        {
          "height": 1200,
          "width": 1200,
          "thumb_uri": "tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98",
          "thumb_url_list": [
            "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018",
            "https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018"
          ],
          "uri": "tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98",
          "url_list": [
            "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:1200:1200.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=352507
... (truncated)`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/tiktok.openapi.json GET /v1/tiktok/product/reviews
openapi: 3.0.1
info:
  title: Tiktok API english documentation
  description: >-
    The english reference documentation of the Tiktok API includes the
    interface's purpose, parameter description, response status, and sample
    structure.
  version: 1.0.0
servers:
  - url: https://api.keyapi.ai
    description: Production
security: []
tags:
  - name: TikTok Influencer
  - name: TikTok Shop
  - name: TikTok Content
  - name: TikTok Intelligence
paths:
  /v1/tiktok/product/reviews:
    get:
      tags:
        - TikTok Shop
      summary: Get Product Reviews
      description: >-
        Retrieve customer reviews for a TikTok Shop product, including ratings,
        review text, and buyer information.
      operationId: get_api_v3_realtime_product_comment
      parameters:
        - name: product_id
          in: query
          required: true
          schema:
            type: string
            example: '1729679758111249333'
            default: '1729679758111249333'
          example: '1729679758111249333'
          description: Product unique ID
        - name: region
          in: query
          description: >-
            Optional regions include: "US", "GB", "DE", "FR", "IT", "ID", "MY",
            "MX", "PH", "SG", "ES", "TH", "VN", "BR", "JP", "IE"
          required: true
          schema:
            type: string
            example: US
            default: US
          example: US
        - name: offset
          in: query
          description: >-
            The offset starts from 1. When the has_more returned by the
            interface is true, the offset for the next time should refer to the
            next_cursor value returned by the interface.
          required: true
          schema:
            type: string
            example: '1'
            default: '1'
          example: '1'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties: {}
                example:
                  code: 0
                  message: success
                  data:
                    review_items:
                      - review:
                          review_id: '7585673214710253325'
                          rating: 5
                          display_text: >-
                            I cannot express now happy l am I that I found CCC
                            teas. they are beyond delicious and they really give
                            you the pick me up without the crash all while
                            delivering tasty flavors with Zero Sugar and guilt!
                          images:
                            - height: 1200
                              width: 1200
                              thumb_uri: >-
                                tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98
                              thumb_url_list:
                                - >-
                                  https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                                - >-
                                  https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                              uri: >-
                                tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98
                              url_list:
                                - >-
                                  https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:1200:1200.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                                - >-
                                  https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:1200:1200.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                          review_timestamp: '1766177180886'
                          has_origin_text: true
                          display_review_text:
                            - text_type: 1
                              plain_text: >-
                                I cannot express now happy l am I that I found
                                CCC teas. they are beyond delicious and they
                                really give you the pick me up without the crash
                                all while delivering tasty flavors with Zero
                                Sugar and guilt!
                          media:
                            - media_type: 1
                              image:
                                height: 1200
                                width: 1200
                                thumb_uri: >-
                                  tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98
                                thumb_url_list:
                                  - >-
                                    https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                                  - >-
                                    https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:350:350.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                                uri: >-
                                  tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98
                                url_list:
                                  - >-
                                    https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:1200:1200.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                                  - >-
                                    https://p19-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/9fba26edc41343bd96e88425c216da98~tplv-fhlh96nyum-resize-webp:1200:1200.webp?dr=12185&t=555f072d&ps=933b5bde&shp=d21c5c62&shcp=9b759fb9&idc=useast5&from=3525074018
                          review_timestamp_fmt: December 19, 2025
                          main_review_title: ''
                          review_country: United States
                          strike_through_required: false
                        sku_id: '1730048994859324341'
                        sku_specification: 'Item: Bahama Mama-orange pine/t. punch/tropical'
                        review_user:
                          name: BondiBleu
                          avatar:
                            url_list:
                              - >-
                                https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/2cce17e6d2fe28b5197bb9412047e442~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=40e07786&x-expires=1767841200&x-signature=zOgpzhM%2F7mgr9Rg5PNmplCZqM4A%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5
                              - >-
                                https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/2cce17e6d2fe28b5197bb9412047e442~tplv-tiktokx-cropcenter:100:100.jpg?dr=9640&refresh_token=0f927f4c&x-expires=1767841200&x-signature=bbJinEqSlnIbJfcKbtD%2FNXaeOmQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5
                              - >-
                                https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/2cce17e6d2fe28b5197bb9412047e442~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=2fe58daa&x-expires=1767841200&x-signature=X8AHc%2F1Xh7ZZQpXEh5KTcJaHOW0%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=5f8d3399&idc=useast5
                          link: >-
                            aweme://user/profile/7372302399707399211?sec_uid=MS4wLjABAAAAnG4SYbSprvBSKc1bf40PtGjxDV9KHjfF9MsOwUl1QRvSoAwEjUUCGtrW5b0Dzonu&from_scene=8
                          user_id: '7372302399707399211'
                        digg_count: 5
                        is_digged: false
                        is_owner: false
                        is_anonymous: false
                        product_id: '1729679758111249333'
                        review_source_type: 0
                        review_source_name: Verified purchase
                        link: ''
                        is_updated: false
                        is_local: true
                        review_source_info:
                          title: What is an incentivized review?
                          content:
                            template: >-
                              This reviewer received an incentive to post a
                              review, regardless if it's positive or negative.
                              All incentivized reviews are from verified
                              purchasers who ordered directly through TikTok
                              Shop. Only customers who made a purchase through
                              TikTok Shop are invited to write a review. Check
                              our {s_reviewPolicy}.
                            arguments:
                              '{s_reviewPolicy}':
                                link_text_type: 0
                                text_attribute:
                                  text: review policy
                                  link: >-
                                    aweme://webview_popup?url=https://oec-api.tiktokv.com/view/review/incentive-review-rule-page&use_spark=1&height=70%25&show_mask=1&gravity=bottom&mask_bg_color=00000060&container_bg_color=ffffff&loading_bg_color=ffffff
                                  font:
                                    font_weight: 1
                                    font_class: 3
                                  font_color:
                                    color: '#0075DB'
                                    dark_color: '#60B3FF'
                            text_attribute:
                              font:
                                font_weight: 1
                                font_class: 3
                              font_color:
                                color: '#000000'
                                dark_color: '#FFFFFFE6'
                          link: >-
                            aweme://webview_popup?url=https%3A%2F%2Foec-api.tiktokv.com%2Fview%2Freview%2Fimported-review-rule-page-v2&use_spark=1&height=70%25&show_mask=1&gravity=bottom&mask_bg_color=00000060&container_bg_color=ffffff&loading_bg_color=ffffff&is_verified_purchase_open=1&is_incentivized_review_open=1&is_imported_review_open=0
                        review_incentive_name: Incentivized review
                    has_more: true
                    next_cursor: 2
                    product_rating: 4.9
                    top_text: Pick authentic and helpful reviews for you
                    review_count: 26134
                    review_count_str: (26.1K)
                    ratings_link: >-
                      aweme://webview_popup?url=https%3A%2F%2Fsf19.tiktokcdn-us.com%2Fobj%2Fdraft-ttp-tx%2Fmagellan_ecommerce%2F3711319a-8db6-424a-b15b-f6ff01c2ee70.html&use_spark=1&height=70%25&show_mask=1&enable_relative_calculation=1&gravity=bottom&mask_bg_color=00000060&container_bg_color=ffffff&loading_bg_color=ffffff
                    review_count_str_v2: 26,134
                    review_card_ui_ab:
                      review_card_unification_version: '1'
                    platform_link_info:
                      is_platform_product: false
                      biz_type: 0
                    show_global_text: false
                    sort_type_sheet:
                      sort_type_items:
                        - sort_type: 1
                          subtitle: >-
                            Based on factors like content relevance, quality,
                            and richness
                    product_rating_v2:
                      total_rating: 4.9
                      non_incentivised_rating_text: ''
                    third_party_review_cnt: 0
                  requestId: e8a8c592-991f-4661-b95d-3a468d256ad1
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 400
                  data: null
                  message: 'Missing required parameter: handle'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 401
                  data: null
                  message: apiKey is null
        '402':
          description: Payment Required
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 402
                  data: null
                  message: apiKey quota is not enough
        '429':
          description: Too Many Requests
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 429
                  data: null
                  message: qps limit exceeded
        '500':
          description: Internal Server Error
          content:
            application/json:
              schema:
                type: object
                example:
                  code: 500
                  data: null
                  message: Internal server error
      deprecated: false
      security:
        - JWT Bearer: []
      x-codeSamples:
        - lang: curl
          label: cURL
          source: |-
            curl --request GET \
              --url 'https://api.keyapi.ai/v1/tiktok/product/reviews?product_id=1729679758111249333&region=US&offset=1' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/tiktok/product/reviews',
                params={"product_id": "1729679758111249333", "region": "US", "offset": "1"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"product_id":
            "1729679758111249333", "region": "US", "offset": "1"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/tiktok/product/reviews?${params}`, {
              method: 'GET',
              headers: { 'Authorization': 'Bearer <YOUR_API_KEY>' }
            });

            const data = await response.json();

            console.log(data);
components:
  securitySchemes:
    JWT Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: |-
        API key for authentication. Format: `sk_live_xxxxxxxxxxxxx`
        Get your API key from the [Dashboard](http://keyapi.ai/app/dashboard).

````