---
title: "TikTok User Videos"
method: GET
path: "/v1/tiktok/user/videos"
tags: ["TikTok"]
---

# TikTok User Videos

`GET /v1/tiktok/user/videos`

## Request

- Base URL: `https://apidirect.io`
- URL: `https://apidirect.io/v1/tiktok/user/videos`
- Auth: API key in header `X-API-Key`

Get a user's videos, newest first, by username, numeric user ID, or profile URL. Returns the caption, link, publication date, engagement metrics (plays, likes, comments, shares, downloads, saves), playback and download URLs, cover images, the sound used, and author details for each video. Supports fetching multiple pages in a single API call (billed per page).

**Price:** $0.006 per page. **Free tier:** 50 requests/month.

## Query parameters

- `username` string
- `user_id` string
- `url` string
- `pages` integer
- `get_sentiment` boolean

## Response `200`

Successful response

- TiktokUserVideosResponse: Inferred from a live response. Any field can be null or absent, and new fields may be added at any time.
  - `videos` object[], nullable
    - `video_id` string, nullable
    - `title` string, nullable
    - `url` string, nullable
    - `date` string, nullable
    - `date_timestamp` number, nullable
    - `author` string, nullable
    - `source` string, nullable
    - `domain` string, nullable
    - `snippet` string, nullable
    - `region` string, nullable
    - `play_count` number, nullable
    - `likes` number, nullable
    - `comments` number, nullable
    - `shares` number, nullable
    - `downloads` number, nullable
    - `saves` number, nullable
    - `duration` number, nullable
    - `is_ad` boolean, nullable
    - `is_pinned` boolean, nullable
    - `author_name` string, nullable
    - `author_id` string, nullable
    - `author_avatar` string, nullable
    - `author_url` string, nullable
    - `cover` string, nullable
    - `dynamic_cover` string, nullable
    - `origin_cover` string, nullable
    - `video_url` string, nullable
    - `video_url_watermarked` string, nullable
    - `size` number, nullable
    - `size_watermarked` number, nullable
    - `images` unknown[], nullable
      - unknown
    - `music_id` string, nullable
    - `music_title` string, nullable
    - `music_author` string, nullable
    - `music_url` string, nullable
    - `music_cover` string, nullable
    - `music_album` string, nullable
    - `music_original` boolean, nullable
    - `music_duration` number, nullable
    - `mentioned_user_ids` string[], nullable
  - `username` string, nullable
  - `pages` number, nullable
  - `count` number, nullable

## Other responses

- `400`: Bad request: missing or invalid parameters
- `401`: Unauthorized: invalid or missing API key
- `402`: Free tier used up for this endpoint and no payment method on file (`payment_required`).
- `403`: Account blocked after a failed payment (`account_blocked`).
- `404`: TikTok user not found
- `429`: Rate limit exceeded or too many concurrent requests
- `500`: Internal server error
- `502`: Temporary failure retrieving TikTok data. Please retry shortly.
- `503`: Service temporarily unavailable. Please retry shortly.
- `504`: The request timed out

---

[API](https://skmtc.dev/apidirect/apis/api-direct.md) · [All operations](https://skmtc.dev/apidirect/apis/api-direct/llms.txt) · [OpenAPI document](https://skmtc.dev/apidirect/apis/api-direct/revisions/fa8c68d70bd0?raw)
