Unofficial TikTok Stories API — Active Stories

GET/api/v1/stories· paginated

Fetch a user's active stories.

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 (media url, cover, stats, music, …).

Returns

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

Example Request

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

Example Response

{
  "data": {
    "count": 1,
    "has_more": false,
    "next_cursor": "0",
    "stories": [
      {
        "...": "many more raw story fields",
        "aweme_id": "7548650000000000001",
        "create_time": 1750000000,
        "music": {
          "author": "tiktok",
          "title": "original sound"
        },
        "statistics": {
          "comment_count": 340,
          "digg_count": 12000,
          "play_count": 850000
        },
        "story_metadata": {
          "expired_at": 1750086400
        },
        "video": {
          "...": "more video fields",
          "cover": {
            "url_list": [
              "https://p16-sign.tiktokcdn-us.com/.../cover.jpeg"
            ]
          },
          "duration": 15000,
          "play_addr": {
            "url_list": [
              "https://v19-webapp.tiktok.com/.../video.mp4"
            ]
          }
        }
      },
      {
        "...": "more items"
      }
    ],
    "username": "tiktok"
  },
  "note": "Default (raw) response — full TikTok story objects (trimmed with … ; each item has many more fields). The stories array is empty when the user has no active stories. Add ?format=clean for a small subset.",
  "status": "success"
}
Sends a live request using your API key above.

More Content endpoints