# TikTok Profile & Videos

> TikTok Profile & Videos is a paid API for AI agents from social.duoleads.com, paid per call via x402, $0.02/call, status unknown (last checked 2026-10-29).

Fetches the latest public videos of a TikTok account by handle or profile URL, with per-video metrics and creator info.

## Facts

- Endpoint: GET https://social.duoleads.com/v1/tiktok/videos?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/tiktok-profile-videos-86fee246
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_p3hhi5ADVy4nCCCLCX0Td

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 tiktok-profile-videos-86fee246
```

Example prompt: Pull the latest public videos for the TikTok account @charlidamelio — I want to see the captions, play counts, likes, shares, and cover images for each recent video.

## When to prefer this

Choose this endpoint when you need a paginated feed of a specific TikTok creator's recent public videos with full engagement metrics and creator metadata. It is ideal for influencer analysis, content monitoring, or competitor research on TikTok. Prefer it over the Audience & Engagement Stats sibling when you need individual video details rather than aggregate account-level numbers, and over general social search endpoints when you know the exact TikTok handle.

## Known failure modes

- Invalid or non-existent handle returns a not-found response (not charged)
- Malformed input or missing required 'handle' parameter returns a bad-input error (not charged)
- Private or restricted TikTok accounts may return empty results
- Expired or invalid cursor may break pagination
- Rate limits or upstream TikTok data provider outages may cause temporary failures

## How this service works

TikTok Profile & Videos: the latest public videos of one TikTok account by handle or tiktok.com/@ URL. Per video the caption, plays, likes, comments, shares, language, cover image link, time and URL, with the creator's name, verification and followers, in the shared social schema; next_cursor pages back. Bad input is free; not found or no match is not charged.

## Output

Returns a JSON object with a list of video items, each containing the video ID, URL, caption text, detected language, cover image URL, creation timestamp, engagement metrics (likes, views, replies, reposts), and author details (handle, display name, verification status, follower count). Also includes the query echo, a next_cursor for pagination, platform label, data timestamp, and a disclaimer about third-party sourcing.

## 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"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [
      "handle"
     ],
     "properties": {
      "cursor": {
       "type": "string",
       "maxLength": 512,
       "description": "next_cursor of the previous page."
      },
      "handle": {
       "type": "string",
       "maxLength": 200,
       "description": "A TikTok handle (with or without @) or a tiktok.com/@handle URL."
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "as_of": "2026-10-15T12:00:00.000Z",
  "items": [
   {
    "id": "7000000000000000001",
    "url": "https://www.tiktok.com/@synthcreator/video/7000000000000000001",
    "lang": "en",
    "text": "Synthetic video one #synth",
    "type": "video",
    "author": {
     "handle": "synthcreator",
     "verified": true,
     "followers": 44240,
     "display_name": "Synthetic Creator"
    },
    "metrics": {
     "likes": 5960,
     "views": 55992,
     "replies": 58,
     "reposts": 342
    },
    "platform": "tiktok",
    "parent_id": null,
    "created_at": "2026-10-13T14:00:00.000Z",
    "media_urls": [
     "https://p16.tiktokcdn.invalid/cover/7000000000000000001.jpeg"
    ]
   },
   {
    "id": "7000000000000000002",
    "url": "https://www.tiktok.com/@synthcreator/video/7000000000000000002",
    "lang": "en",
    "text": "Synthetic video two",
    "type": "video",
    "author": {
     "handle": "synthcreator",
     "verified": true,
     "followers": 44240,
     "display_name": "Synthetic Creator"
    },
    "metrics": {
     "likes": 40,
     "views": 1000,
     "replies": 2,
     "reposts": 3
    },
    "platform": "tiktok",
    "parent_id": null,
    "created_at": "2026-10-12T10:13:20.000Z",
    "media_urls": [
     "https://p16.tiktokcdn.invalid/cover/7000000000000000002.jpeg"
    ]
   }
  ],
  "query": {
   "cursor": null,
   "handle": "synthcreator"
  },
  "source": "public data via third-party provider; not affiliated with the platform",
  "complete": true,
  "platform": "tiktok",
  "disclaimer": "Public data via third-party providers; not affiliated with or endorsed by any platform. Do not use to profile, target or train AI on individuals.",
  "request_id": "01KEXAMPLE0000000000000000",
  "next_cursor": "1791800000000"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/tiktok-profile-videos-86fee246/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from social.duoleads.com](https://www.zero.xyz/host/social.duoleads.com/llms.txt)
