# API Direct – TikTok User Videos

> API Direct – TikTok User Videos is a paid API for AI agents from x402.apidirect.io, paid per call via x402, $0.007/call, status unknown (last checked 2026-10-30).

Fetch a TikTok user's videos in reverse-chronological order by username, numeric user ID, or profile URL, with optional AI sentiment analysis.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/tiktok/user/videos?utm_source=zero.xyz
- Price: $0.007/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-direct-tiktok-user-videos-171624b2
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_wPb5T0KYr0_MqbVXR87NR

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-direct-tiktok-user-videos-171624b2
```

Example prompt: Pull the last 3 pages of TikTok videos for the user @charlidamelio — newest first — and include AI sentiment analysis on each video.

## When to prefer this

Use this endpoint when you need to retrieve a TikTok creator's video feed programmatically — especially when you have their username, numeric ID, or profile URL. It supports bulk retrieval via pagination (up to 1000 pages × 30 videos each) and optionally enriches results with AI emotion analysis, making it suitable for influencer research, competitive monitoring, and sentiment-aware content auditing. Prefer this over manual scraping or generic social APIs when you need structured, ready-to-use video metadata from TikTok specifically.

## Known failure modes

- User not found — invalid or deleted username/user_id returns an empty result or 404-style error
- Ambiguous input — providing more than one of username, user_id, or url causes a validation error
- Rate limiting or TikTok blocks — platform-side restrictions may return incomplete results
- Private account — videos from private profiles may not be accessible
- Invalid page range — pages value outside 1–1000 returns a schema validation error

## How this service works

Get a user's videos, newest first, by username, numeric user ID, or profile URL.

## Output

Returns a paginated list of TikTok videos for the specified user, sorted newest first. Each page contains up to 30 videos with metadata (e.g. video ID, description, play counts, timestamps). When sentiment analysis is enabled, each video also includes an emotions object with scores (0–100) for joy, trust, fear, surprise, sadness, disgust, anger, and anticipation, plus dominant_emotion, emotional_intensity (0–10), and polarity (positive/negative/neutral).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "url": {
       "type": "string",
       "maxLength": 500,
       "description": "TikTok profile URL, e.g. https://www.tiktok.com/@tiktok (max 500 characters). Provide exactly one of username, user_id, or url."
      },
      "pages": {
       "type": "integer",
       "default": 1,
       "maximum": 1000,
       "minimum": 1,
       "description": "Number of pages to fetch, 1-1000 (default: 1). Each page returns up to 30 videos."
      },
      "user_id": {
       "type": "string",
       "description": "Numeric TikTok user ID, as returned by Search Users or User Profile. Provide exactly one of username, user_id, or url."
      },
      "username": {
       "type": "string",
       "maxLength": 100,
       "description": "TikTok username, with or without leading @ (max 100 characters). Provide exactly one of username, user_id, or url."
      },
      "get_sentiment": {
       "type": "boolean",
       "default": false,
       "description": "Set to true to add AI emotion analysis to each item. Adds a `sentiment` object containing `emotions` (joy, trust, fear, surprise, sadness, disgust, anger and anticipation, each scored 0-100), `dominant_emotion`, `emotional_intensity` (0-10), and `polarity` (positive, negative or neutral). Any item t"
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-tiktok-user-videos-171624b2/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.apidirect.io](https://www.zero.xyz/host/x402.apidirect.io/llms.txt)
