Unofficial TikTok Posts API — A User's Videos

GET/api/v1/posts· paginated

List the videos a user has posted (one raw page per call, cursor-paginated).

ParameterDescription
usernamerequiredTikTok username, @handle, or profile URL.
cursoroptionalPage cursor. Omit (or 0) for the first page; pass the next_cursor from the previous response for the next.
formatoptionalOmit for the full raw objects (default). Use clean for a trimmed subset (id, desc, urls, music, stats).

Returns

username, next_cursor, has_more, count, and a posts array. Raw TikTok video objects by default; trimmed objects with format=clean.

Example Request

https://dev.omar-thing.site/api/v1/posts?username=tiktok&cursor=0&format=clean&key=YOUR_API_KEY

Example Response

{
  "data": {
    "count": 20,
    "has_more": true,
    "next_cursor": "1777572709000",
    "posts": [
      {
        "...": "many more raw fields",
        "aweme_id": "7649091368656194847",
        "aweme_type": 0,
        "create_time": 1736900000,
        "desc": "#FilmTok just made first contact 👽",
        "music": {
          "author": "tiktok",
          "title": "original sound"
        },
        "statistics": {
          "comment_count": 1800,
          "digg_count": 230000,
          "play_count": 5400000,
          "share_count": 9100
        },
        "video": {
          "...": "more video fields",
          "cover": {
            "url_list": [
              "https://p16-sign.../cover.jpeg"
            ]
          },
          "play_addr": {
            "url_list": [
              "https://v16-webapp.../video.mp4"
            ]
          }
        }
      },
      {
        "...": "19 more items"
      }
    ],
    "username": "tiktok"
  },
  "note": "Default (raw) response — full TikTok video objects (trimmed with … ; each item has many more fields). Add ?format=clean for a small subset.",
  "status": "success"
}
Sends a live request using your API key above.

More Content endpoints