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

# Get WeChat Channels User Profile & Stats

> Get WeChat Channels User Profile & Stats

Get WeChat Channels User Profile & Stats

**Pricing** — billed per successful call; the final charge scales by your plan multiplier. Charged only when the upstream response body `code` is `200`.

<Note>
  Response structure is not yet fully documented — **refer to the actual API response**.
</Note>

## Example

```bash theme={null}
curl -X POST "https://api.aisa.one/apis/v1/tikhub/wechat_channels/v2/fetch_user_profile" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'  # see request schema below
```


## OpenAPI

````yaml openapi/tikhub.json POST /tikhub/wechat_channels/v2/fetch_user_profile
openapi: 3.0.0
info:
  title: TikHub API
  description: >-
    Multi-platform social media data — Douyin, TikTok, Bilibili, Kuaishou,
    Weibo, Xiaohongshu, Zhihu, and commercial (Xingtu/Huahuo/Billboard)
    endpoints.
  version: 1.0.0
servers:
  - url: https://api.aisa.one/apis/v1
security:
  - bearerAuth: []
paths:
  /tikhub/wechat_channels/v2/fetch_user_profile:
    post:
      tags:
        - TikHub - Wechat_channels
      summary: Get WeChat Channels User Profile & Stats
      description: >-
        WeChat Channels (v2). Pricing and billing notes describe the upstream
        provider. Use the AIsa price quote for gateway calls.


        ### Purpose

        - Get a creator's homepage profile and interaction stats.
        **Complementary** to `fetch_channel_info` (verification entity /
        license): this endpoint provides nickname / signature / avatar, follower
        / video / like / favorite / forward counts, live duration, IP region,
        collection count, linked official accounts, etc.

        - ⏱️ Due to WeChat server latency, this endpoint responds slowly; please
        set your client request timeout to 30 seconds — a timeout that is too
        small may result in being billed without receiving the response.


        ### Parameters

        - username: WeChat Channels finder username (`v2_…@finder` format).
        Source: the `username` field of video objects in `fetch_video_detail` /
        `fetch_user_videos` responses; or convert a `sph…` short ID via
        `fetch_channel_id_to_username`. E.g.
        `v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder`
        (People's Daily).

        - raw: Optional, default True. True=raw response; False=simplified
        parsed structure.


        ### Return

        - Account homepage profile and interaction stats


        ### Response structure & JSON Path

        #### `raw=false` (simplified, flattened snake_case):

        - `$.data.username` — finder username

        - `$.data.nickname` / `$.data.signature` / `$.data.head_url` (avatar) /
        `$.data.region` (IP region)

        - `$.data.fans_count` — follower count. **Note: some accounts (e.g.
        People's Daily) return 0**

        - `$.data.feeds_count` — video count (e.g. 10555)

        - `$.data.like_count` / `$.data.fav_count` / `$.data.forward_count` —
        like / favorite / forward counts (0 for some accounts)

        - `$.data.friend_follow_count` — friend-follow count

        - `$.data.live_duration_hours` — accumulated live streaming hours

        - `$.data.original_flag` — original-content flag

        - `$.data.collection_count` — collection count (e.g. 6; details via
        `fetch_user_collections`)

        - `$.data.verify_desc` — verification description (may be null)

        - `$.data.linked_accounts[]` — linked official accounts `[{nickname,
        type}]` 

        #### `raw=true` (full raw response, nested camelCase):

        - `$.data.contact.nickname` / `.signature` / `.headUrl` → `nickname` /
        `signature` / `head_url`

        - `$.data.contact.username` → `username`; `$.data.contact.originalFlag`
        → `original_flag`

        - `$.data.contact.authInfo` (`authProfession` / `authIconType` …) —
        verification info

        - `$.data.ipRegionInfo.regionText` → `region`

        - `$.data.fansCount` → `fans_count` (also 0 for some accounts);
        `$.data.feedsCount` → `feeds_count`

        - `$.data.feedsLikeCount` / `.feedsFavCount` / `.feedsForwardCount` →
        `like_count` / `fav_count` / `forward_count`

        - `$.data.liveDurationHours` → `live_duration_hours`;
        `$.data.collectionListInfo.collectionCount` → `collection_count`

        - `$.data.bizInfo.info[]` (`bizNickname` / `serviceTypeName`) →
        `linked_accounts[]`

        - Also contains dozens of raw fields like `$.data.object[]`
        (first-screen video list), `$.data.anchorStatInfo` (live session stats),
        `$.data.lastBuffer` / `$.data.continueFlag` (pagination of the
        first-screen videos; generally unused here since this endpoint is for
        profile data).


        API references: `fetch_channel_id_to_username` = `POST
        /tikhub/wechat_channels/v2/fetch_channel_id_to_username` (operationId:
        `post_tikhub_wechat_channels_v2_fetch_channel_id_to_username`);
        `fetch_channel_info` = `POST
        /tikhub/wechat_channels/v2/fetch_channel_info` (operationId:
        `post_tikhub_wechat_channels_v2_fetch_channel_info`);
        `fetch_user_collections` = `POST
        /tikhub/wechat_channels/v2/fetch_user_collections` (operationId:
        `post_tikhub_wechat_channels_v2_fetch_user_collections`);
        `fetch_user_videos` = `POST
        /tikhub/wechat_channels/v2/fetch_user_videos` (operationId:
        `post_tikhub_wechat_channels_v2_fetch_user_videos`);
        `fetch_video_detail` = `POST
        /tikhub/wechat_channels/v2/fetch_video_detail` (operationId:
        `post_tikhub_wechat_channels_v2_fetch_video_detail`).
      operationId: post_tikhub_wechat_channels_v2_fetch_user_profile
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FetchUserProfileRequest'
        required: true
      responses:
        '200':
          description: >-
            Successful response. The outer object follows `ResponseModel`; the
            endpoint-specific payload is in `data`.


            ### Return

            - Account homepage profile and interaction stats


            ### Response structure & JSON Path

            #### `raw=false` (simplified, flattened snake_case):

            - `$.data.username` — finder username

            - `$.data.nickname` / `$.data.signature` / `$.data.head_url`
            (avatar) / `$.data.region` (IP region)

            - `$.data.fans_count` — follower count. **Note: some accounts (e.g.
            People's Daily) return 0**

            - `$.data.feeds_count` — video count (e.g. 10555)

            - `$.data.like_count` / `$.data.fav_count` / `$.data.forward_count`
            — like / favorite / forward counts (0 for some accounts)

            - `$.data.friend_follow_count` — friend-follow count

            - `$.data.live_duration_hours` — accumulated live streaming hours

            - `$.data.original_flag` — original-content flag

            - `$.data.collection_count` — collection count (e.g. 6; details via
            `fetch_user_collections`)

            - `$.data.verify_desc` — verification description (may be null)

            - `$.data.linked_accounts[]` — linked official accounts `[{nickname,
            type}]` 

            #### `raw=true` (full raw response, nested camelCase):

            - `$.data.contact.nickname` / `.signature` / `.headUrl` → `nickname`
            / `signature` / `head_url`

            - `$.data.contact.username` → `username`;
            `$.data.contact.originalFlag` → `original_flag`

            - `$.data.contact.authInfo` (`authProfession` / `authIconType` …) —
            verification info

            - `$.data.ipRegionInfo.regionText` → `region`

            - `$.data.fansCount` → `fans_count` (also 0 for some accounts);
            `$.data.feedsCount` → `feeds_count`

            - `$.data.feedsLikeCount` / `.feedsFavCount` / `.feedsForwardCount`
            → `like_count` / `fav_count` / `forward_count`

            - `$.data.liveDurationHours` → `live_duration_hours`;
            `$.data.collectionListInfo.collectionCount` → `collection_count`

            - `$.data.bizInfo.info[]` (`bizNickname` / `serviceTypeName`) →
            `linked_accounts[]`

            - Also contains dozens of raw fields like `$.data.object[]`
            (first-screen video list), `$.data.anchorStatInfo` (live session
            stats), `$.data.lastBuffer` / `$.data.continueFlag` (pagination of
            the first-screen videos; generally unused here since this endpoint
            is for profile data).


            API references: `fetch_user_collections` = `POST
            /tikhub/wechat_channels/v2/fetch_user_collections` (operationId:
            `post_tikhub_wechat_channels_v2_fetch_user_collections`).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResponseModel'
components:
  schemas:
    FetchUserProfileRequest:
      properties:
        username:
          type: string
          maxLength: 256
          minLength: 10
          pattern: ^v2_[0-9a-fA-F]+@finder$
          title: Username
          description: >-
            WeChat Channels finder username (`v2_…@finder` format). Source: the
            `username` field of video objects in `fetch_video_detail` /
            `fetch_user_videos` responses; or convert a `sph…` short ID via
            `fetch_channel_id_to_username`. E.g.
            `v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder`
            (People's Daily).


            API references: `fetch_channel_id_to_username` = `POST
            /tikhub/wechat_channels/v2/fetch_channel_id_to_username`
            (operationId:
            `post_tikhub_wechat_channels_v2_fetch_channel_id_to_username`);
            `fetch_user_videos` = `POST
            /tikhub/wechat_channels/v2/fetch_user_videos` (operationId:
            `post_tikhub_wechat_channels_v2_fetch_user_videos`);
            `fetch_video_detail` = `POST
            /tikhub/wechat_channels/v2/fetch_video_detail` (operationId:
            `post_tikhub_wechat_channels_v2_fetch_video_detail`).
          example: >-
            v2_060000231003b20faec8c6e4811dc1d4c602ee30b0771bbcf220c67926bb76ab7702ac335a53@finder
        raw:
          type: boolean
          title: Raw
          description: True=raw response; False=simplified parsed structure
          default: true
      type: object
      required:
        - username
      title: FetchUserProfileRequest
    ResponseModel:
      properties:
        code:
          type: integer
          title: Code
          description: HTTP status code
          default: 200
        request_id:
          title: Request Id
          description: Unique request identifier
          nullable: true
          type: string
        message:
          type: string
          title: Message
          description: Response message (EN-US)
          default: Request successful. This request will incur a charge.
        message_zh:
          type: string
          title: Message Zh
          description: Response message (ZH-CN)
          default: 请求成功，本次请求将被计费。
        support:
          type: string
          title: Support
          description: Support message
          default: 'Discord: https://discord.gg/aMEAS8Xsvz'
        time:
          type: string
          title: Time
          description: The time the response was generated
        time_stamp:
          type: integer
          title: Time Stamp
          description: The timestamp the response was generated
        time_zone:
          type: string
          title: Time Zone
          description: The timezone of the response time
          default: America/Los_Angeles
        docs:
          title: Docs
          description: Link to the API Swagger documentation for this endpoint
          nullable: true
          type: string
        cache_message:
          title: Cache Message
          description: Cache message (EN-US)
          default: >-
            This response is cached and accessible via the URL below for 24
            hours at no extra cost. The cache is for request tracing only — it
            doesn't affect the API's data freshness and won't be returned
            through the API again.
          nullable: true
          type: string
        cache_message_zh:
          title: Cache Message Zh
          description: Cache message (ZH-CN)
          default: >-
            本次响应已缓存，可通过下方 URL 直接查看，有效期 24
            小时，访问缓存链接无额外费用。缓存仅用于请求溯源，不影响接口数据的时效性，也不会再次通过接口返回。
          nullable: true
          type: string
        cache_url:
          title: Cache Url
          description: The URL to access the cached result
          nullable: true
          type: string
        router:
          type: string
          title: Router
          description: The endpoint that generated this response
          default: ''
        params:
          title: Params
          description: The parameters used in the request
          default: {}
        data:
          title: Data
          description: >-
            Endpoint-specific response payload. The official shared model does
            not declare a fixed type or field set. Use the operation's
            documented return fields or response example; an operation-specific
            schema, when present, describes the documented fields. Undocumented
            fields must be read from the actual response rather than assumed.
          nullable: true
      type: object
      title: ResponseModel
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: AIsa API key. Get yours at https://aisa.one

````

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