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

# Creator marketplace detail

> Returns one creator's TikTok Creator Marketplace profile for the last 30 days: follower age, gender and location mix, GMV and GPM (overall, video and LIVE), content and category GMV mix, top collaborated brands, average engagement and commission, post rate, rating and PPS. Read live from TikTok.

Pass the creator's TikTok Shop open id as `openId`. A sec_uid is rejected, so use Bulk creator lookup to get the open id. Precise GMV, GPM and units sold appear only when the creator shares precise data; otherwise use the `*Range` fields, which are US only. `avatarUrl` is a signed TikTok URL that expires. TikTok documents a quota of 10,000 of these queries a day.



## OpenAPI

````yaml api-reference/tik-tok-shop-openapi.json GET /tik_tok_shop/creators/{openId}/marketplace
openapi: 3.0.3
info:
  title: 'Growi API: TikTok Shop'
  version: 1.0.0
  description: >-
    Generated by scripts/gen_tik_tok_shop.rb from Growi's TikTok Shop route
    table.
servers:
  - url: https://api.growi.io/api/public/v1
security:
  - bearerAuth: []
paths:
  /tik_tok_shop/creators/{openId}/marketplace:
    get:
      summary: Creator marketplace detail
      description: >-
        Returns one creator's TikTok Creator Marketplace profile for the last 30
        days: follower age, gender and location mix, GMV and GPM (overall, video
        and LIVE), content and category GMV mix, top collaborated brands,
        average engagement and commission, post rate, rating and PPS. Read live
        from TikTok.


        Pass the creator's TikTok Shop open id as `openId`. A sec_uid is
        rejected, so use Bulk creator lookup to get the open id. Precise GMV,
        GPM and units sold appear only when the creator shares precise data;
        otherwise use the `*Range` fields, which are US only. `avatarUrl` is a
        signed TikTok URL that expires. TikTok documents a quota of 10,000 of
        these queries a day.
      parameters:
        - name: openId
          in: path
          required: true
          schema:
            type: string
            maxLength: 256
          description: TikTok Shop creator open id (not a sec_uid).
        - name: organization_id
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Use the TikTok Shop of this child brand (organization id) of your
            API key's organization
      responses:
        '200':
          description: The creator's marketplace detail.
          content:
            application/json:
              schema:
                type: object
                required:
                  - openId
                  - secUid
                  - creator
                properties:
                  openId:
                    type: string
                  secUid:
                    type: string
                    nullable: true
                    description: >-
                      From creator.profileTtUri. null when the link carries
                      none.
                  creator:
                    type: object
                    properties:
                      profileTtUri:
                        type: string
                        nullable: true
                        description: >-
                          The creator's public TikTok profile deep link. It
                          carries the sec_uid.
                      pps:
                        type: string
                        nullable: true
                        description: Promotion Performance Score (90 days).
                      categoryIds:
                        type: array
                        items:
                          type: string
                      followerCount:
                        type: integer
                        nullable: true
                      avatarUrl:
                        type: string
                        nullable: true
                        description: TikTok's signed avatar URL. It expires.
                      nickname:
                        type: string
                        nullable: true
                      username:
                        type: string
                        nullable: true
                      unitsSold:
                        type: integer
                        nullable: true
                        description: Absent unless the creator shares precise data.
                      selectionRegion:
                        type: string
                        nullable: true
                      bioDescription:
                        type: string
                        nullable: true
                      topCollaboratedBrandIds:
                        type: array
                        items:
                          type: string
                        description: Top 10 brands the creator worked with.
                      brandCollaborationCount:
                        type: integer
                        nullable: true
                      unitsSoldRange:
                        type: object
                        nullable: true
                        description: US only.
                        properties:
                          min:
                            type: integer
                            nullable: true
                          max:
                            type: integer
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                      gmv:
                        $ref: '#/components/schemas/Money'
                      videoGmv:
                        $ref: '#/components/schemas/Money'
                      liveGmv:
                        $ref: '#/components/schemas/Money'
                      gmvRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      gpm:
                        $ref: '#/components/schemas/Money'
                      videoGpm:
                        $ref: '#/components/schemas/Money'
                      liveGpm:
                        $ref: '#/components/schemas/Money'
                      gpmRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      videoGpmRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      liveGpmRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      avgGmvPerBuyer:
                        $ref: '#/components/schemas/Money'
                      avgGmvPerBuyerRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      productOriginalPriceRange:
                        type: object
                        nullable: true
                        description: >-
                          TikTok's range object. min and max are decimal
                          strings.
                        properties:
                          min:
                            type: string
                            nullable: true
                          max:
                            type: string
                            nullable: true
                          formatted:
                            type: string
                            nullable: true
                          currency:
                            type: string
                            nullable: true
                      categoryGmvDistribution:
                        type: array
                        items:
                          type: object
                          properties:
                            categoryId:
                              type: string
                              nullable: true
                            value:
                              type: string
                              nullable: true
                              description: 'Hundredths of a percent: "6000" is 60%.'
                      contentGmvDistribution:
                        type: array
                        description: GMV share by content type (VIDEO, LIVE, SHOWCASE).
                        items:
                          type: object
                          properties:
                            contentType:
                              type: string
                              nullable: true
                            value:
                              type: string
                              nullable: true
                              description: Hundredths of a percent.
                      promotedProductNum:
                        type: integer
                        nullable: true
                      ecLiveCount:
                        type: integer
                        nullable: true
                      ecVideoCount:
                        type: integer
                        nullable: true
                      avgEcVideoPlayCount:
                        type: integer
                        nullable: true
                      avgEcVideoLikeCount:
                        type: integer
                        nullable: true
                      avgEcVideoCommentCount:
                        type: integer
                        nullable: true
                      avgEcVideoShareCount:
                        type: integer
                        nullable: true
                      avgEcLiveViewCount:
                        type: integer
                        nullable: true
                      avgEcLiveLikeCount:
                        type: integer
                        nullable: true
                      avgEcLiveCommentCount:
                        type: integer
                        nullable: true
                      avgEcLiveShareCount:
                        type: integer
                        nullable: true
                      avgCommissionRate:
                        type: integer
                        nullable: true
                        description: Hundredths of a percent.
                      avgCommissionRateRange:
                        type: object
                        nullable: true
                        properties:
                          min:
                            type: integer
                            nullable: true
                          max:
                            type: integer
                            nullable: true
                      ecLiveEngagementRate:
                        type: string
                        nullable: true
                        description: 'Hundredths of a percent: "6000" is 60%.'
                      ecVideoEngagementRate:
                        type: string
                        nullable: true
                        description: Hundredths of a percent, last 30 days.
                      postRate:
                        type: string
                        nullable: true
                        description: >-
                          Projected rate of posting after a sample, hundredths
                          of a percent.
                      rating:
                        type: string
                        nullable: true
                        description: Rating from sellers who worked with the creator.
                      followerLocation:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            value:
                              type: string
                              nullable: true
                              description: >-
                                Share as TikTok's decimal string: "0.3705" is
                                37.05%.
                        description: Followers by US state or territory code.
                      followerAge:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            value:
                              type: string
                              nullable: true
                              description: >-
                                Share as TikTok's decimal string: "0.3705" is
                                37.05%.
                        description: Followers by age range, e.g. 18-23.
                      followerGender:
                        type: array
                        items:
                          type: object
                          properties:
                            key:
                              type: string
                            value:
                              type: string
                              nullable: true
                              description: >-
                                Share as TikTok's decimal string: "0.3705" is
                                37.05%.
                        description: Followers by gender.
                      creatorProfile:
                        type: object
                        nullable: true
                        description: >-
                          null when TikTok returns an empty object (not
                          supported for this account or region).
                        properties:
                          isOfficialRecommend:
                            type: boolean
                            nullable: true
                          contactInfoAvailable:
                            type: boolean
                            nullable: true
                          mcnName:
                            type: string
                            nullable: true
                          liveEngagementRate30d:
                            type: integer
                            nullable: true
                          videoPlayCount30dMedian:
                            type: integer
                            nullable: true
                          liveViewCount30dMedian:
                            type: integer
                            nullable: true
                          liveLikeCount30d:
                            type: integer
                            nullable: true
                          liveCommentCount30dMedian:
                            type: integer
                            nullable: true
                          liveShareCount30dMedian:
                            type: integer
                            nullable: true
                          videoPublishCount30dMedian:
                            type: integer
                            nullable: true
                          hasInvitedLast90Days:
                            type: boolean
                            nullable: true
                          isBlockedByShop:
                            type: boolean
                            nullable: true
                          creatorLevel:
                            type: integer
                            nullable: true
                          fulfillmentReviews:
                            type: integer
                            nullable: true
                          isEligibleFlatFee:
                            type: boolean
                            nullable: true
                          isRisingStar:
                            type: boolean
                            nullable: true
                          fulfillmentScore90d:
                            type: string
                            nullable: true
                          sampleScore:
                            type: integer
                            nullable: true
                            description: Out of 100.
                          connect:
                            type: object
                            nullable: true
                            properties:
                              isPaired:
                                type: boolean
                                nullable: true
                              isConnect:
                                type: boolean
                                nullable: true
                              isBlocked:
                                type: boolean
                                nullable: true
                      creatorTrend:
                        type: array
                        items:
                          type: object
                          properties:
                            startTimestamp:
                              type: integer
                              nullable: true
                              description: Unix seconds.
                            endTimestamp:
                              type: integer
                              nullable: true
                              description: Unix seconds.
                            gmv:
                              type: object
                              nullable: true
                              properties:
                                amount:
                                  type: string
                                  nullable: true
                                symbol:
                                  type: string
                                  nullable: true
                            unitsSold:
                              type: integer
                              nullable: true
                            follower:
                              type: integer
                              nullable: true
                            engagementRate:
                              type: integer
                              nullable: true
                              description: 'Hundredths of a percent: 558 is 5.58%.'
              example:
                openId: uACafQAAAABmUU2qon4R0vUYvUVS3QC6CICP2m5A2-wd77j8R9G0yg
                secUid: MS4wLjABAAAABKjQkOz_IIzXXzEAl_9LGsWhvK
                creator:
                  profileTtUri: >-
                    aweme://user/profile/123?sec_uid=MS4wLjABAAAABKjQkOz_IIzXXzEAl_9LGsWhvK
                  pps: '4.2'
                  categoryIds:
                    - '601739'
                  followerCount: 5700
                  avatarUrl: https://p16-sign.tiktokcdn-us.com/avatar.jpeg
                  nickname: ALY
                  username: aly.finds.fun
                  unitsSold: 47
                  selectionRegion: US
                  bioDescription: Home finds
                  topCollaboratedBrandIds:
                    - '7495000000000000001'
                  brandCollaborationCount: 12
                  unitsSoldRange:
                    min: 10
                    max: 100
                    formatted: 10-100
                  gmv:
                    amount: '1234.50'
                    currency: USD
                  videoGmv:
                    amount: '1000.00'
                    currency: USD
                  liveGmv: null
                  gmvRange:
                    min: '1000'
                    max: '5000'
                    formatted: $1K-$5K
                    currency: USD
                  gpm:
                    amount: '12.30'
                    currency: USD
                  videoGpm: null
                  liveGpm: null
                  gpmRange: null
                  videoGpmRange: null
                  liveGpmRange: null
                  avgGmvPerBuyer:
                    amount: '20.00'
                    currency: USD
                  avgGmvPerBuyerRange: null
                  productOriginalPriceRange:
                    min: '10'
                    max: '40'
                    formatted: null
                    currency: USD
                  categoryGmvDistribution:
                    - categoryId: '601739'
                      value: '6000'
                  contentGmvDistribution:
                    - contentType: VIDEO
                      value: '8000'
                    - contentType: LIVE
                      value: '2000'
                  promotedProductNum: 30
                  ecLiveCount: 2
                  ecVideoCount: 25
                  avgEcVideoPlayCount: 4100
                  avgEcVideoLikeCount: 120
                  avgEcVideoCommentCount: 8
                  avgEcVideoShareCount: 3
                  avgEcLiveViewCount: null
                  avgEcLiveLikeCount: null
                  avgEcLiveCommentCount: null
                  avgEcLiveShareCount: null
                  avgCommissionRate: 1500
                  avgCommissionRateRange:
                    min: 1000
                    max: 2000
                  ecLiveEngagementRate: null
                  ecVideoEngagementRate: '350'
                  postRate: '6000'
                  rating: '4.8'
                  followerLocation:
                    - key: CA
                      value: '0.3705'
                  followerAge:
                    - key: 18-23
                      value: '0.2500'
                  followerGender:
                    - key: Female
                      value: '0.8000'
                  creatorProfile: null
                  creatorTrend: []
        '400':
          description: 'invalid_request: the open id is empty, too long, or a sec_uid'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '403':
          description: >-
            The shop's TikTok authorization doesn't include this data (`code:
            scope_not_granted`), so the seller has to re-authorize the shop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '404':
          description: >-
            `organization_id` isn't an active child brand of your organization,
            or the record you asked for doesn't exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '422':
          description: >-
            No TikTok Shop is connected for this organization. A parent
            organization whose shops sit on its child brands has to pass
            `organization_id`. Also returned when the shop isn't connected
            through TikTok's official API (`code: unsupported_on_web_only_shop`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '429':
          description: >-
            Rate limited: one call every 2 seconds and an hourly cap per API
            key. See `Retry-After` and the `X-RateLimit-*` headers. Also
            returned when TikTok's daily quota for this shop is spent (`code:
            quota_exhausted`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '502':
          description: >-
            TikTok refused or failed. `error` is a fixed message and `code`
            names the failure when there is one
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
components:
  schemas:
    Money:
      type: object
      nullable: true
      description: 'TikTok''s money object: amount as a decimal string, ISO currency code.'
      properties:
        amount:
          type: string
          nullable: true
        currency:
          type: string
          nullable: true
    TikTokShopError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: What went wrong
        code:
          type: string
          description: Machine-readable reason, when there is one
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.