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

# Shop Root Categories

> Top-level TikTok Shop categories (US) — drill down with the category endpoint.

<Note>
  Returns the \~28 top-level categories with their ids. Pass an id to [Shop Category Products](/api-reference/endpoint/tiktok/shop-category) for subcategories and top products.
</Note>

<Note>
  **US market only** — TikTok Shop resolves the market from the visitor's location and these endpoints read the US storefront (prices in USD). Lists return what the storefront page renders; there is no further pagination.
</Note>

<Note>
  Each request costs **5 credits**. Failed requests are not charged.
</Note>


## OpenAPI

````yaml GET /v1/tiktok/shop/categories
openapi: 3.1.0
info:
  title: ScrapeBadger TikTok API
  version: 1.0.0
  description: >-
    TikTok scraping API for user profiles, videos, comments, transcripts,
    hashtags, music/sounds, search, trending, and the EU Commercial Content (ad
    transparency) library. Returns clean structured JSON; handles signing,
    anti-bot bypass, and regional proxy routing automatically.
servers:
  - url: https://scrapebadger.com
    description: Production
security:
  - apiKeyAuth: []
paths:
  /v1/tiktok/shop/categories:
    get:
      tags:
        - TikTok Shop
      summary: Shop Root Categories
      description: >-
        Top-level TikTok Shop categories. Drill down with
        /v1/tiktok/shop/categories/{category_id}. US market only (prices in
        USD); lists carry what the storefront page renders, with no further
        pagination.
      operationId: getTikTokShopCategories
      parameters: []
      responses:
        '200':
          description: Shop Root Categories
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ShopCategoryResponse'
              example:
                category: null
                children:
                  - id: '601450'
                    name: Beauty & Personal Care
                    slug: beauty-personal-care
                    level: 1
                    is_leaf: false
                    parent_id: '0'
                    image: >-
                      https://lf16-tiktok-common.tiktokcdn-us.com/obj/tiktok-web-common-tx/i18n_ecom_fe/tiktok_shop_web_mono/apps/homepage_desktop/static/image/beauty-personal.fdbc446c.png
                    url: https://shop.tiktok.com/us/c/beauty-personal-care/601450
                  - id: '601152'
                    name: Womenswear & Underwear
                    slug: womenswear-underwear
                    level: 1
                    is_leaf: false
                    parent_id: '0'
                    image: >-
                      https://lf16-tiktok-common.tiktokcdn-us.com/obj/tiktok-web-common-tx/i18n_ecom_fe/tiktok_shop_web_mono/apps/homepage_desktop/static/image/womenswear-underwear.87b928c5.png
                    url: https://shop.tiktok.com/us/c/womenswear-underwear/601152
                  - id: '824328'
                    name: Menswear & Underwear
                    slug: menswear-underwear
                    level: 1
                    is_leaf: false
                    parent_id: '0'
                    image: >-
                      https://lf16-tiktok-common.tiktokcdn-us.com/obj/tiktok-web-common-tx/i18n_ecom_fe/tiktok_shop_web_mono/apps/homepage_desktop/static/image/menswear-underwear.fb7cf64f.png
                    url: https://shop.tiktok.com/us/c/menswear-underwear/824328
                products: []
                region: US
components:
  schemas:
    ShopCategoryResponse:
      properties:
        category:
          anyOf:
            - $ref: '#/components/schemas/ShopCategory'
            - type: 'null'
          default: null
        children:
          items:
            $ref: '#/components/schemas/ShopCategory'
          title: Children
          type: array
        products:
          items:
            $ref: '#/components/schemas/ShopProduct'
          title: Products
          type: array
        region:
          default: US
          title: Region
          type: string
      title: ShopCategoryResponse
      type: object
    ShopCategory:
      properties:
        id:
          title: Id
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Name
        slug:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Slug
        level:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Level
        is_leaf:
          anyOf:
            - type: boolean
            - type: 'null'
          default: null
          title: Is Leaf
        parent_id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Parent Id
        image:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Image
        url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Url
      required:
        - id
      title: ShopCategory
      type: object
    ShopProduct:
      properties:
        product_id:
          title: Product Id
          type: string
        title:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Title
        url:
          title: Url
          type: string
        image:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Image
        price:
          $ref: '#/components/schemas/ShopPrice'
        rating:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          title: Rating
        review_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Review Count
        sold_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Sold Count
        seller:
          anyOf:
            - $ref: '#/components/schemas/ShopSeller'
            - type: 'null'
          default: null
        brand:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Brand
        labels:
          items:
            type: string
          title: Labels
          type: array
        promo:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Promo
        video:
          anyOf:
            - $ref: '#/components/schemas/ShopVideo'
            - type: 'null'
          default: null
        rank:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Rank
      required:
        - product_id
        - url
      title: ShopProduct
      type: object
    ShopPrice:
      properties:
        amount:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          title: Amount
        original:
          anyOf:
            - type: number
            - type: 'null'
          default: null
          title: Original
        discount:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Discount
        currency:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Currency
        symbol:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Symbol
      title: ShopPrice
      type: object
    ShopSeller:
      properties:
        id:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Id
        name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Name
        logo:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Logo
      title: ShopSeller
      type: object
    ShopVideo:
      description: The TikTok video a product card is bound to (search results only).
      properties:
        id:
          title: Id
          type: string
        title:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Title
        author_name:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Author Name
        play_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Play Count
        like_count:
          anyOf:
            - type: integer
            - type: 'null'
          default: null
          title: Like Count
        cover_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Cover Url
        video_url:
          anyOf:
            - type: string
            - type: 'null'
          default: null
          title: Video Url
      required:
        - id
      title: ShopVideo
      type: object
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````