Skip to content
All TikTok APIs
Accounts & creatorsTikTokUser Video · List

TikTok user videos

Page through the public videos and engagement counts of a TikTok account by username.

POST/v1/tiktok/users/videos

Chinese name: TikTok 用户作品 · 用户视频 · 列表 按用户名分页读取 TikTok 公开账号发布的视频和互动计数。
tiktok.users.videos@v1

Price per call

¥0.02/ call

Nonempty complete results are charged; empty, partial, and failed results are not.

Current statusAvailableChecking live status
Checking live status

Try it

Sign in and run one real call. The result and charge appear right here.

Security check

Loading the security check…

Checking live execution status…

Execution result

// Result

Request parameters

usernamestringrequired

pattern: "^[A-Za-z0-9._]{2,24}$" · minLength: 1 · maxLength: 256

Example: "tiktok"

sort_typestringoptional

enum: "0" | "1" · default: "0"

Example: "0"

countintegeroptional

default: 20 · minimum: 1 · maximum: 30

Example: 20

cursorstringoptional

minLength: 1

Request JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "username": {
      "type": "string",
      "minLength": 1,
      "maxLength": 256,
      "pattern": "^[A-Za-z0-9._]{2,24}$"
    },
    "sort_type": {
      "default": "0",
      "type": "string",
      "enum": [
        "0",
        "1"
      ]
    },
    "count": {
      "default": 20,
      "type": "integer",
      "minimum": 1,
      "maximum": 30
    },
    "cursor": {
      "type": "string",
      "minLength": 1
    }
  },
  "required": [
    "username"
  ],
  "additionalProperties": false
}

Code samples

Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.

curl -X POST https://api.dataxapi.com/v1/tiktok/users/videos \
  -H "Authorization: Bearer $DATAXAPI_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"username":"tiktok","sort_type":"0","count":20}'

Response example

200 · application/json
{
  "code": 200,
  "request_id": "req_example_tiktok_users_videos",
  "message": "success",
  "data": {
    "items": [
      {
        "aweme_id": "7326156045968067873",
        "desc": "Public TikTok caption",
        "create_time": 1705900000,
        "author": {
          "uid": "107955",
          "unique_id": "tiktok",
          "nickname": "TikTok"
        },
        "statistics": {
          "digg_count": 1200,
          "comment_count": 80,
          "share_count": 35,
          "play_count": 54000
        },
        "region": "US",
        "text_extra": [
          {
            "hashtag_name": "fyp"
          }
        ]
      }
    ]
  },
  "page": {
    "next_cursor": "cursor_example"
  },
  "warnings": [],
  "meta": {
    "listing_id": "tiktok.users.videos",
    "version": "v1",
    "catalog_release_id": "catalog-production-2026-09-19.b069be57",
    "price_book_version": "pricebook-production-2026-09-19.4487e352",
    "result_status": "complete",
    "charged_amount": "0.02",
    "balance_after": "49.98",
    "currency": "CNY"
  }
}
Response fields
codenumber
const: 200
request_idstring
messagestring
const: "success"
dataobject
pageobject
warningsarray
metaobject
Response JSON Schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "code": {
      "type": "number",
      "const": 200
    },
    "request_id": {
      "type": "string"
    },
    "message": {
      "type": "string",
      "const": "success"
    },
    "data": {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "aweme_id": {},
              "desc": {},
              "create_time": {},
              "author": {},
              "statistics": {},
              "region": {},
              "text_extra": {}
            },
            "additionalProperties": false
          }
        }
      },
      "required": [
        "items"
      ],
      "additionalProperties": false
    },
    "page": {
      "type": "object",
      "properties": {
        "next_cursor": {
          "anyOf": [
            {
              "type": "string"
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "required": [
        "next_cursor"
      ],
      "additionalProperties": false
    },
    "warnings": {
      "type": "array",
      "items": {
        "type": "string"
      }
    },
    "meta": {
      "type": "object",
      "properties": {
        "listing_id": {
          "type": "string",
          "const": "tiktok.users.videos"
        },
        "version": {
          "type": "string",
          "const": "v1"
        },
        "catalog_release_id": {
          "type": "string",
          "minLength": 1
        },
        "price_book_version": {
          "type": "string",
          "minLength": 1
        },
        "result_status": {
          "type": "string",
          "enum": [
            "complete",
            "empty",
            "partial"
          ]
        },
        "charged_amount": {
          "type": "string"
        },
        "balance_after": {
          "type": "string"
        },
        "currency": {
          "type": "string",
          "const": "CNY"
        }
      },
      "required": [
        "listing_id",
        "version",
        "catalog_release_id",
        "price_book_version",
        "result_status",
        "charged_amount",
        "balance_after",
        "currency"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "code",
    "request_id",
    "message",
    "data",
    "page",
    "warnings",
    "meta"
  ],
  "additionalProperties": false
}

Usage notes

Good for

  • Use it to review an account's public videos or compare its latest and most popular posts.

Not for

  • Do not use it for private videos, drafts, favorites, or signed-in content.

Known limitations

  • sort_type=0 is newest first and 1 is most popular; each page asks for at most 30 videos.
  • Video playback URLs are not returned.
  • Only the returned DataXAPI cursor can continue the same query.
  • Counts are point-in-time public snapshots, not live or historical trends.
  • Nested objects such as the author are returned as upstream sends them, minus tokens, account-binding flags, privacy settings, and tracking fields; avatar and media links inside them may expire.

Billing

¥0.02 per call. Nonempty complete results are charged; empty, partial, and failed results are not.

See all pricing →