> ## 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.

# Top Product Insights Detail

> Retrieve detailed insights for a specific top-performing TikTok Shop product category, including trending items and sales data.

<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/insights/product/detail.

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/insights/product/detail

Description: Retrieve detailed insights for a specific top-performing TikTok Shop product category, including trending items and sales data.

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

Parameters:
- time_scope (Optional): Time range filtering conditions: 1. Filter by day: Pass in fixed valid values 1, 7, 30 (corresponding to the past 1 day, past 7 days, past 30 days respectively). 2. Filter by month: Pass in a date in the YYYY-MM format (e.g., 2025-10).
The latest valid month is 4 months before the current month (example: when the current month is 2025-12, only data from 2025-09 and earlier months is supported; querying data from 2025-10, 2025-11, and 2025-12 is not supported).. Example: 1
- region (Optional): Country/region code, example: US. Example: all_regions
- id (Optional): Third-level category ID. Example: 601583

Example Response:
{
"code": 0,
"message": "success",
"data": {
"info": {
  "audience_ages": [
    {
      "age_level": 25,
      "score": 38
    },
    {
      "age_level": 18,
      "score": 29
    },
    {
      "age_level": 35,
      "score": 19
    },
    {
      "age_level": 45,
      "score": 8
    },
    {
      "age_level": 55,
      "score": 6
    }
  ],
  "audience_interests": [],
  "cover_url": null,
  "ecom_type": "l3",
  "first_ecom_category": {
    "id": "601450",
    "label": "category_601450",
    "value": "Beauty & Personal Care"
  },
  "hashtags": [
    "vlog",
    "perfume",
    "สตอรี่ความรู้สึก",
    "manga",
    "الامارات"
  ],
  "posts": [
    "7489287341782207752",
    "7322538146644757803",
    "7437358276766878984",
    "7493243405720440065",
    "7371925907730222366",
    "7354078334856252673",
    "7580412827698056449",
    "7373467970732936453",
    "7558392487014829328",
    "7456866075922189586",
    "7330744428107255082",
    "7452002684271381761",
    "7372930252676336912",
    "7507728712339606791",
    "7483101539792391442",
    "7465257258704882952",
    "7291702264601922849",
    "7477631264082644231",
    "7459821873392651537",
    "7442600990055992583",
    "7487414260713229584",
    "7348480031263345953",
    
... (truncated)`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/tiktok.openapi.json GET /v1/tiktok/insights/product/detail
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/insights/product/detail:
    get:
      tags:
        - TikTok Intelligence
      summary: Top Product Insights Detail
      description: >-
        Retrieve detailed insights for a specific top-performing TikTok Shop
        product category, including trending items and sales data.
      operationId: get_api_v3_realtime_insights_top_product_category_detail
      parameters:
        - name: time_scope
          in: query
          description: >-
            Time range filtering conditions: 1. Filter by day: Pass in fixed
            valid values 1, 7, 30 (corresponding to the past 1 day, past 7 days,
            past 30 days respectively). 2. Filter by month: Pass in a date in
            the YYYY-MM format (e.g., 2025-10).

            The latest valid month is 4 months before the current month
            (example: when the current month is 2025-12, only data from 2025-09
            and earlier months is supported; querying data from 2025-10,
            2025-11, and 2025-12 is not supported).
          required: false
          schema:
            type: string
            example: '1'
            default: '1'
          example: '1'
        - name: region
          in: query
          description: 'Country/region code, example: US'
          required: false
          schema:
            type: string
            example: all_regions
            default: all_regions
          example: all_regions
        - name: id
          in: query
          description: Third-level category ID
          required: false
          schema:
            type: string
            example: '601583'
            default: '601583'
          example: '601583'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties: {}
                example:
                  code: 0
                  message: success
                  data:
                    info:
                      audience_ages:
                        - age_level: 25
                          score: 38
                        - age_level: 18
                          score: 29
                        - age_level: 35
                          score: 19
                        - age_level: 45
                          score: 8
                        - age_level: 55
                          score: 6
                      audience_interests: []
                      cover_url: null
                      ecom_type: l3
                      first_ecom_category:
                        id: '601450'
                        label: category_601450
                        value: Beauty & Personal Care
                      hashtags:
                        - vlog
                        - perfume
                        - สตอรี่ความรู้สึก
                        - manga
                        - الامارات
                      posts:
                        - '7489287341782207752'
                        - '7322538146644757803'
                        - '7437358276766878984'
                        - '7493243405720440065'
                        - '7371925907730222366'
                        - '7354078334856252673'
                        - '7580412827698056449'
                        - '7373467970732936453'
                        - '7558392487014829328'
                        - '7456866075922189586'
                        - '7330744428107255082'
                        - '7452002684271381761'
                        - '7372930252676336912'
                        - '7507728712339606791'
                        - '7483101539792391442'
                        - '7465257258704882952'
                        - '7291702264601922849'
                        - '7477631264082644231'
                        - '7459821873392651537'
                        - '7442600990055992583'
                        - '7487414260713229584'
                        - '7348480031263345953'
                        - '7438642366417734920'
                        - '7366402226266361104'
                        - '7277727410487954690'
                        - '7487906878953999617'
                        - '7515535551953423623'
                        - '7578939582419422480'
                        - '7503520994095746322'
                        - '7522058809922145543'
                        - '7413415145654832385'
                        - '7380457327293467921'
                        - '7418526110725524752'
                        - '7437072616986250504'
                        - '7373841522418093318'
                        - '7463103849075887378'
                        - '7432717888592694535'
                        - '7465239656154582273'
                        - '7467217345413467410'
                        - '7476423483078053153'
                        - '7466195145482849552'
                        - '7388728031080123655'
                        - '7376061755342064902'
                        - '7490463988879314183'
                        - '7497001351096929554'
                        - '7424986288345943314'
                        - '7437510290830314753'
                        - '7509898772168625425'
                        - '7372500018785209618'
                        - '7411521847524707592'
                      second_ecom_category:
                        id: '848648'
                        label: category_848648
                        parent_id: '601450'
                        value: Makeup & Perfume
                      third_ecom_category:
                        id: '601583'
                        label: category_601583
                        parent_id: '848648'
                        value: Perfume
                      url_title: Perfume
                  requestId: ad16be21-c1b0-4fed-8609-e350c4472221
        '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/insights/product/detail?time_scope=1&region=all_regions&id=601583' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/tiktok/insights/product/detail',
                params={"time_scope": "1", "region": "all_regions", "id": "601583"},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const params = new URLSearchParams({"time_scope": "1", "region":
            "all_regions", "id": "601583"});


            const response = await
            fetch(`https://api.keyapi.ai/v1/tiktok/insights/product/detail?${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).

````