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

# Shop List (Analytics)

> Search and filter TikTok Shop sellers using analytics data, with metrics including GMV, product count, and historical sales performance.

<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">1 credit</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/shop/list/analytics.

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/shop/list/analytics

Description: Search and filter TikTok Shop sellers using analytics data, with metrics including GMV, product count, and historical sales performance.

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

Parameters:
- category_id (Optional): Shop's primary category ID
- category_l2_id (Optional): Shop's secondary category ID
- category_l3_id (Optional): Shop's subcategory category ID
- from_flag (Optional): 1 = Local store 2 = Cross-border store
- sales_flag (Optional): Main sales methods: 1. Video; 2. Live streaming
- sales_trend_flag (Optional): Sales trend in the past 7 days, 0=stable 1=up 2=down
- seller_sort_field (Optional): List sorting enumeration.1=total_sale_cnt 2=total_sale_gmv_amt 3=spu_avg_price
- sort_type (Optional): Sort order 0=asc 1=desc
- region (Required): Region code, region, such as US
- page_num (Required): Page numbers start from 1 and go up to a maximum of 100,000.
- page_size (Required): The maximum number of pages is 10.

Example Response:
{
"code": 0,
"message": "success",
"data": [
{
  "category_id": "603014",
  "category_l2_id": "835592",
  "category_l3_id": "700740",
  "cover_url": "https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/587383daaf8a4eaaa4dfb4c8f2b5944f~tplv-fhlh96nyum-resize-png:300:300.png?dr=12184&t=555f072d&ps=933b5bde&shp=905da467&shcp=6ce186a1&idc=useast5&from=2422056039",
  "first_crawl_dt": 20250823,
  "from_flag": 1,
  "most_product_category_list": "[{ \"category_name\":\"Sports & Outdoor\",\"category_id\":\"603014\"}]",
  "product_category_list": "[{ \"category_name\":\"Sports & Outdoor\",\"category_id\":\"603014\"}]",
  "rating": 0,
  "region": "US",
  "sales_flag": 1,
  "sales_trend_flag": 0,
  "seller_id": "7494089513770779735",
  "seller_link": null,
  "seller_name": "VigorPeakk",
  "spu_avg_price": 38.59,
  "total_crawl_product_cnt": 0,
  "total_ifl_cnt": 2,
  "total_live_cnt": 1,
  "total_product_cnt": 2,
  "total_sale_1d_cnt": 0,
  "total_sale_30d_cnt": 0,
  "total_sale_7d_cnt": 0,
  "total_sale_90d_cnt": 0,
  "total_sale_cnt": 9,
  "total_sale_gmv_1d_amt": 0,
  "total_sale_gmv_30d_amt": 0,
  "total_sale_gmv_7d_amt": 0,
  "total_sale_gmv_90d_amt": 0,
  "total_sale_gmv_amt": 408.96,
  "total_video_cnt": 1,
  "user_id": ""
}
],
"requestId": "77d4b2b0-11c9-46bd-9a34-9d933088a7bc"
}`)}
    >
      <span>✨</span>
      <span>Copy for AI</span>
    </button>
  </div>
</div>


## OpenAPI

````yaml en/tiktok.openapi.json GET /v1/tiktok/shop/list/analytics
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/shop/list/analytics:
    get:
      tags:
        - TikTok Shop
      summary: Shop List (Analytics)
      description: >-
        Search and filter TikTok Shop sellers using analytics data, with metrics
        including GMV, product count, and historical sales performance.
      operationId: get_api_v3_echotik_seller_list
      parameters:
        - name: category_id
          in: query
          description: Shop's primary category ID
          required: false
          schema:
            type: string
        - name: category_l2_id
          in: query
          description: Shop's secondary category ID
          required: false
          schema:
            type: string
        - name: category_l3_id
          in: query
          description: Shop's subcategory category ID
          required: false
          schema:
            type: string
        - name: from_flag
          in: query
          description: 1 = Local store 2 = Cross-border store
          required: false
          schema:
            type: integer
        - name: sales_flag
          in: query
          description: 'Main sales methods: 1. Video; 2. Live streaming'
          required: false
          schema:
            type: integer
        - name: sales_trend_flag
          in: query
          description: Sales trend in the past 7 days, 0=stable 1=up 2=down
          required: false
          schema:
            type: integer
        - name: seller_sort_field
          in: query
          description: >-
            List sorting enumeration.1=total_sale_cnt 2=total_sale_gmv_amt
            3=spu_avg_price
          required: false
          schema:
            type: integer
        - name: sort_type
          in: query
          description: Sort order 0=asc 1=desc
          required: false
          schema:
            type: integer
        - name: region
          in: query
          description: Region code, region, such as US
          required: true
          schema:
            type: string
        - name: page_num
          in: query
          description: Page numbers start from 1 and go up to a maximum of 100,000.
          required: true
          schema:
            type: integer
        - name: page_size
          in: query
          description: The maximum number of pages is 10.
          required: true
          schema:
            type: integer
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  message:
                    type: string
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        category_id:
                          type: string
                          title: First-level category ID
                        category_l2_id:
                          type: string
                          title: Secondary category ID
                        category_l3_id:
                          type: string
                          title: Third-level category ID
                        cover_url:
                          type: string
                          title: >-
                            Please use the download interface to download the
                            store cover image.
                        first_crawl_dt:
                          type: integer
                          title: First store crawl time
                        from_flag:
                          type: integer
                          title: Cross-border identification 1=Local 2=Cross-border
                        most_product_category_list:
                          type: string
                          title: TOP1 Product Category
                        product_category_list:
                          type: string
                          title: Product categories
                        rating:
                          type: integer
                        region:
                          type: string
                        sales_flag:
                          type: integer
                          title: 'Main sales methods: 1. Video; 2. Live streaming'
                        sales_trend_flag:
                          type: integer
                          title: Sales Trends
                        seller_id:
                          type: string
                          title: Shop Id
                        seller_link:
                          type: string
                          nullable: true
                        seller_name:
                          type: string
                        spu_avg_price:
                          type: number
                          title: Average price of all SKUs in the store
                        total_crawl_product_cnt:
                          type: integer
                          title: Number of items in store
                        total_ifl_cnt:
                          type: integer
                          title: Total number of creators selling products
                        total_live_cnt:
                          type: integer
                          title: Total live streams
                        total_product_cnt:
                          type: integer
                          description: Including removed products
                          title: Historical number of items in store
                        total_sale_1d_cnt:
                          type: integer
                          title: Sales in the last 1 day (increment)
                        total_sale_30d_cnt:
                          type: integer
                          title: Sales in the last 30 day (increment)
                        total_sale_7d_cnt:
                          type: integer
                          title: Sales in the last 7 day (increment)
                        total_sale_90d_cnt:
                          type: integer
                          title: Sales in the last 90 day (increment)
                        total_sale_cnt:
                          type: integer
                          title: Total sales
                        total_sale_gmv_1d_amt:
                          type: integer
                          title: GMV (increment) from the last 1 day
                        total_sale_gmv_30d_amt:
                          type: integer
                          title: GMV (increment) from the last 30 day
                        total_sale_gmv_7d_amt:
                          type: integer
                          title: GMV (increment) from the last 7 day
                        total_sale_gmv_90d_amt:
                          type: integer
                          title: GMV (increment) from the last 90 day
                        total_sale_gmv_amt:
                          type: number
                          title: Total Sales GMV
                        total_video_cnt:
                          type: integer
                          title: Total number of sales videos
                        user_id:
                          type: string
                  requestId:
                    type: string
                required:
                  - code
                  - message
                  - data
                  - requestId
                example:
                  code: 0
                  message: success
                  data:
                    - category_id: '603014'
                      category_l2_id: '835592'
                      category_l3_id: '700740'
                      cover_url: >-
                        https://p16-oec-general-useast5.ttcdn-us.com/tos-useast5-i-omjb5zjo8w-tx/587383daaf8a4eaaa4dfb4c8f2b5944f~tplv-fhlh96nyum-resize-png:300:300.png?dr=12184&t=555f072d&ps=933b5bde&shp=905da467&shcp=6ce186a1&idc=useast5&from=2422056039
                      first_crawl_dt: 20250823
                      from_flag: 1
                      most_product_category_list: >-
                        [{ "category_name":"Sports &
                        Outdoor","category_id":"603014"}]
                      product_category_list: >-
                        [{ "category_name":"Sports &
                        Outdoor","category_id":"603014"}]
                      rating: 0
                      region: US
                      sales_flag: 1
                      sales_trend_flag: 0
                      seller_id: '7494089513770779735'
                      seller_link: null
                      seller_name: VigorPeakk
                      spu_avg_price: 38.59
                      total_crawl_product_cnt: 0
                      total_ifl_cnt: 2
                      total_live_cnt: 1
                      total_product_cnt: 2
                      total_sale_1d_cnt: 0
                      total_sale_30d_cnt: 0
                      total_sale_7d_cnt: 0
                      total_sale_90d_cnt: 0
                      total_sale_cnt: 9
                      total_sale_gmv_1d_amt: 0
                      total_sale_gmv_30d_amt: 0
                      total_sale_gmv_7d_amt: 0
                      total_sale_gmv_90d_amt: 0
                      total_sale_gmv_amt: 408.96
                      total_video_cnt: 1
                      user_id: ''
                  requestId: 77d4b2b0-11c9-46bd-9a34-9d933088a7bc
        '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/shop/list/analytics' \
              --header 'Authorization: Bearer <YOUR_API_KEY>'
        - lang: python
          label: Python
          source: |-
            import requests

            response = requests.get(
                'https://api.keyapi.ai/v1/tiktok/shop/list/analytics',
                params={},
                headers={'Authorization': 'Bearer <YOUR_API_KEY>'}
            )
            print(response.json())
        - lang: javascript
          label: JavaScript
          source: >-
            const response = await
            fetch('https://api.keyapi.ai/v1/tiktok/shop/list/analytics',
              {
                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).

````