# TikTok Shop creator details API (tiktok.shop_creator)

- Canonical page: https://everyinfra.com/en/tiktok-api/shop_creator
- Endpoint: POST https://api.everyinfra.com/api/v1/social with {"platform": "tiktok", "action": "shop_creator", "params": {...}}
- Price: $0.000556 per call ($0.56 per 1,000 requests); failed calls and empty results are not charged
- Returns: single object
- Mode: sync; add "mode": "async" for slow tasks

TikTok Shop creator details looks up one creator's TikTok Shop profile by `username` and returns the name, avatar, country, categories, followers, video count, number of promoted products, sales and average views. Sellers and agencies use it to vet affiliate creators before sending samples or offering commission, and to compare candidates on selling activity rather than audience size alone.

Set `country` to the shop market you care about, as a region code; it defaults to US and refers to the TikTok Shop market, not the creator's nationality. Give `avg_views` more weight than `follower_count`: follower totals can be faked, while average views are hard to fake. `product_count` and `sold_count` show whether the creator actually sells. `username` is the creator's handle; a leading @ is optional and a profile URL does not work.

## Health

- Live health (24h percent, hourly and daily trends): https://api.everyinfra.com/api/v1/social/availability?platform=tiktok&action=shop_creator

## Parameters

| name | type | required | default | description |
|---|---|---|---|---|
| username | not declared | yes | not declared | Public TikTok handle, which may optionally include the leading `@`. Do not supply Douyin `secUid` tokens or full profile URLs. In `followers`, this returns follower counts; in `shop_creator`, it queries creator e-commerce details for a designated market. |
| country | not declared | no | not declared | Market region code for `shop_search` and `shop_creator` actions, defaulting to `US` or `us`. It does not filter creator nationality or platform-wide content location. See the catalog for supported markets. |

## Response fields (items in `results`)

| field | meaning |
|---|---|
| id | The record's unique ID on the platform. Unique only within one platform; IDs can repeat across platforms. |
| username | Username (@handle). |
| url | Link to the record on the platform. |
| name | Name of the object itself, for account, product and business capabilities. |
| text | Body text with HTML removed, returned in full and never cut short (on a few platforms the list results themselves carry only an excerpt; the platform's field notes say so). |
| avatar_url | Avatar image link. Some platforms return sized CDN links that can expire. |
| country | Country or region: a full name or an ISO code depending on the platform, not normalized. |
| categories | platform-native meaning |
| follower_count | Followers. null means not disclosed, not 0. |
| video_count | platform-native meaning |
| product_count | platform-native meaning |
| sold_count | platform-native meaning |
| avg_views | platform-native meaning |
| platform | Source platform identifier, the same as platform in the request (for example xiaohongshu, tiktok). |

## Example

```bash
curl -X POST 'https://api.everyinfra.com/api/v1/social' \
  -H "Authorization: Bearer $EVERYINFRA_API_KEY" \
  -H 'Content-Type: application/json' \
  --data-raw '{
  "platform": "tiktok",
  "action": "shop_creator",
  "params": {
    "username": "dealswithty"
  }
}'
```

```python
import os
import requests

response = requests.post(
    "https://api.everyinfra.com/api/v1/social",
    headers={"Authorization": f"Bearer {os.environ['EVERYINFRA_API_KEY']}"},
    json={
        "platform": "tiktok",
        "action": "shop_creator",
        "params": {
            "username": "dealswithty",
        },
    },
    timeout=120,
)
print(response.status_code)
print(response.json())
```

## Response example

Real response to the example request above, captured 2026-09-26T08:56:04Z. `results` and `count` are real with personal information (names, handles, avatars, profile links, contact details) removed. `id`, `billing` and `quota` differ on every call, so only their shape is shown.

```text
{
  "id": "req_…",
  "platform": "tiktok",
  "action": "shop_creator",
  "results": {
    "id": "dealswithty",
    "username": "dealswithty",
    "url": "https://www.tiktok.com/@dealswithty",
    "name": "•••",
    "text": "Inquiries: •••\n\nCheck out showcase for the best deals on tiktok\n👇🏼",
    "avatar_url": "https://p19-common-sign.tiktokcdn-us.com/•••",
    "country": "US",
    "categories": [
      {
        "id": "•••",
        "name": "•••"
      },
      {
        "id": "•••",
        "name": "•••"
      },
      {
        "id": "•••",
        "name": "•••"
      }
    ],
    "platform": "tiktok"
  },
  "billing": {
    "charged": …,
    "charged_usd": …,
    "balance_after_usd": …,
    …
  },
  "quota": { … }
}
```

## FAQ

### What does `country` change?

It picks the TikTok Shop market, by region code, whose creator data you read; the default is US. It does not describe the creator's nationality and does not filter videos by region. To compare a creator across markets, call once per `country` and keep the code with each result.

### Which figure shows a creator's real reach?

`avg_views`, the creator's average views. Follower counts can be bought or padded, but average views are much harder to inflate, so they reflect what a post by this creator actually reaches. Read it with `sold_count` to see whether that reach turns into sales.

### How is this different from TikTok Details?

TikTok Details reads the general profile: bio, verification and account counts. Shop creator details reads the selling side for one shop market: promoted products, sales, categories and average views. Both take the same handle, with or without the @, so you can run them side by side.

## Also

- Capability catalog (no key): https://api.everyinfra.com/api/v1/social/catalog?platform=tiktok
- OpenAPI: https://everyinfra.com/openapi.json · Agents guide: https://everyinfra.com/agents.md
