> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scrapebadger.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get User Videos

> A user's posted videos, newest first, with cursor pagination.

<Note>
  Each request costs **8 credits**. Failed requests are not charged.
</Note>

Pass `pagination.cursor` unchanged with the same username and region to continue.
Guest cursors last up to 15 minutes and can expire earlier when their session is
replaced (HTTP 410). Public metadata can omit native-only fields. CDN links may
return 403 and are not guaranteed downloads.


## OpenAPI

````yaml GET /v1/tiktok/users/{username}/videos
openapi: 3.1.0
info:
  title: ScrapeBadger TikTok API
  version: 1.0.0
  description: >-
    TikTok scraping API for user profiles, videos, comments, transcripts,
    hashtags, music/sounds, search, trending, and the EU Commercial Content (ad
    transparency) library. Returns clean structured JSON; handles signing,
    anti-bot bypass, and regional proxy routing automatically.
servers:
  - url: https://scrapebadger.com
    description: Production
security:
  - apiKeyAuth: []
paths:
  /v1/tiktok/users/{username}/videos:
    get:
      tags:
        - TikTok Users
      summary: Get User Videos
      description: A user's posted videos, newest first, with cursor pagination.
      operationId: getTikTokUserVideos
      parameters:
        - name: username
          in: path
          required: true
          schema:
            type: string
          description: The user's @handle (unique_id), without the leading '@'.
        - name: region
          in: query
          schema:
            type: string
            default: US
          description: >-
            Content region (ISO 3166-1 alpha-2). Routes the request through a
            proxy and signer for that locale.
        - name: count
          in: query
          schema:
            type: integer
            default: 30
            minimum: 1
            maximum: 50
          description: Maximum number of items to return (1-50).
        - name: cursor
          in: query
          schema:
            type: string
          description: >-
            Pagination cursor — pass the `pagination.cursor` value from a prior
            response to fetch the next page. Omit for the first page.
          required: false
      responses:
        '200':
          description: User videos
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VideoListResponse'
              example:
                videos:
                  - id: '7234567890123456789'
                    description: 'new dance #fyp #dance'
                    create_time_utc: 1700000000
                    create_time_at: '2023-11-14T22:13:20Z'
                    region: US
                    url: >-
                      https://www.tiktok.com/@charlidamelio/video/7234567890123456789
                    share_url: >-
                      https://www.tiktok.com/@charlidamelio/video/7234567890123456789
                    aweme_type: 0
                    author:
                      id: '6784129854561813509'
                      sec_uid: MS4wLjABAAAA...
                      unique_id: charlidamelio
                      nickname: charli d'amelio
                      avatar_thumb: https://p16-sign.tiktokcdn-us.com/avatar.jpeg
                      signature: no bio yet
                      verified: true
                      follower_count: 155600000
                      following_count: 1300
                      heart_count: 11800000000
                      video_count: 2700
                      region: US
                    music:
                      id: '7011111111111111111'
                      title: original sound
                      author_name: charli d'amelio
                      duration: 15
                      play_url: https://sf16-sg.tiktokcdn.com/music.mp3
                      original: true
                    stats:
                      play_count: 24000000
                      digg_count: 3100000
                      comment_count: 18000
                      share_count: 42000
                      collect_count: 99000
                    video:
                      height: 1024
                      width: 576
                      duration: 15
                      ratio: 540p
                      format: mp4
                      cover: https://p16-sign.tiktokcdn-us.com/cover.jpeg
                      play_addr: https://v16-webapp.tiktok.com/video.mp4
                      download_addr: https://v16-webapp.tiktok.com/download.mp4
                      has_watermark: true
                    hashtags:
                      - fyp
                      - dance
                    mentions: []
                    challenges:
                      - id: '229207'
                        title: fyp
                        desc: ''
                        is_commerce: false
                    is_slideshow: false
                    image_urls: []
                    is_ad: false
                    is_pinned: false
                pagination:
                  has_more: true
                  cursor: '30'
                  count: 30
                  search_id: null
                region: US
components:
  schemas:
    VideoListResponse:
      type: object
      properties:
        videos:
          type: array
          items:
            $ref: '#/components/schemas/TikTokVideo'
        pagination:
          $ref: '#/components/schemas/TikTokCursorPage'
        region:
          type: string
      required:
        - region
    TikTokVideo:
      type: object
      properties:
        id:
          type: string
        description:
          type: string
          description: Caption text.
        text_language:
          type: string
        create_time_utc:
          type: integer
          description: Post Unix timestamp.
        create_time_at:
          type: string
          description: Post ISO 8601 UTC.
        region:
          type: string
          description: Location created.
        url:
          type: string
          description: Web video URL.
        share_url:
          type: string
          description: Canonical share link.
        group_id:
          type: string
        aweme_type:
          type: integer
          description: 0 video, 150 photo/slideshow, ...
        content_type:
          type: string
        author:
          $ref: '#/components/schemas/TikTokAuthor'
        music:
          $ref: '#/components/schemas/TikTokMusic'
        stats:
          $ref: '#/components/schemas/TikTokStats'
        video:
          $ref: '#/components/schemas/TikTokVideoMeta'
        status:
          $ref: '#/components/schemas/TikTokVideoStatus'
        video_control:
          $ref: '#/components/schemas/TikTokVideoControl'
        anchors:
          type: array
          items:
            $ref: '#/components/schemas/TikTokAnchor'
        hashtags:
          type: array
          items:
            type: string
        mentions:
          type: array
          items:
            type: string
        text_extra:
          type: array
          items:
            $ref: '#/components/schemas/TikTokTextExtra'
        challenges:
          type: array
          items:
            $ref: '#/components/schemas/TikTokChallenge'
        effect_stickers:
          type: array
          items:
            $ref: '#/components/schemas/TikTokEffectSticker'
        is_slideshow:
          type: boolean
        image_urls:
          type: array
          items:
            type: string
          description: Image URLs for photo/slideshow posts.
        is_ad:
          type: boolean
        is_aigc:
          type: boolean
        aigc_description:
          type: string
        is_pinned:
          type: boolean
        is_muted:
          type: boolean
        secret:
          type: boolean
        private_item:
          type: boolean
        duet_enabled:
          type: boolean
        stitch_enabled:
          type: boolean
        share_enabled:
          type: boolean
        comment_status:
          type: string
        can_repost:
          type: boolean
        is_paid_content:
          type: boolean
        is_on_this_day:
          type: boolean
        support_danmaku:
          type: boolean
          description: Supports bullet comments.
        subtitles:
          type: array
          items:
            $ref: '#/components/schemas/TikTokSubtitle'
          description: Populated only on the transcript endpoint.
        voice_to_text:
          type: string
          description: ASR transcript (transcript endpoint only).
        diversification_labels:
          type: array
          items:
            type: string
        suggested_words:
          type: array
          items:
            type: string
      required:
        - id
      description: A TikTok post (video or photo slideshow) with full metadata.
    TikTokCursorPage:
      type: object
      properties:
        has_more:
          type: boolean
          description: True when more pages are available.
        cursor:
          type: string
          description: Opaque cursor; pass back as ?cursor= for the next page.
        count:
          type: integer
          description: Number of items in this page.
        search_id:
          type: string
          description: Search endpoints chain rid → search_id across pages.
      description: Cursor pagination metadata shared by all list endpoints.
    TikTokAuthor:
      type: object
      properties:
        id:
          type: string
          description: Numeric user id.
        sec_uid:
          type: string
          description: Secure user id (sec_uid) used for downstream list calls.
        unique_id:
          type: string
          description: The @handle.
        nickname:
          type: string
          description: Display name.
        avatar_thumb:
          type: string
        avatar_medium:
          type: string
        avatar_larger:
          type: string
        signature:
          type: string
          description: Bio text.
        verified:
          type: boolean
        private_account:
          type: boolean
        follower_count:
          type: integer
        following_count:
          type: integer
        heart_count:
          type: integer
          description: Total likes received.
        video_count:
          type: integer
        digg_count:
          type: integer
          description: Likes given.
        region:
          type: string
        verify_reason:
          type: string
        verification_type:
          type: integer
        account_region:
          type: string
        language:
          type: string
        original_musician:
          type: boolean
        is_star:
          type: boolean
        ins_id:
          type: string
          description: Linked Instagram handle.
        twitter_name:
          type: string
        youtube_channel_title:
          type: string
        room_id:
          type: string
          description: Non-empty while the user is live.
        commerce_user_level:
          type: integer
        with_shop_entry:
          type: boolean
      description: Author summary embedded in a video, comment, or search result.
    TikTokMusic:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
        author_name:
          type: string
        album:
          type: string
        duration:
          type: integer
          description: Seconds.
        play_url:
          type: string
        cover_thumb:
          type: string
        cover_medium:
          type: string
        cover_large:
          type: string
        original:
          type: boolean
        is_copyrighted:
          type: boolean
        mid:
          type: string
        owner_id:
          type: string
        owner_nickname:
          type: string
        is_commerce_music:
          type: boolean
        is_original_sound:
          type: boolean
        video_count:
          type: integer
          description: Videos using this sound (standalone music endpoints only).
        user_count:
          type: integer
          description: >-
            Distinct creators using this sound (standalone music endpoints
            only).
      description: Sound/music attached to a video, or a standalone music entity.
    TikTokStats:
      type: object
      properties:
        play_count:
          type: integer
          description: Views.
        digg_count:
          type: integer
          description: Likes.
        comment_count:
          type: integer
        share_count:
          type: integer
        collect_count:
          type: integer
          description: Saves/bookmarks.
        download_count:
          type: integer
        forward_count:
          type: integer
        whatsapp_share_count:
          type: integer
        repost_count:
          type: integer
      description: Engagement statistics for a video.
    TikTokVideoMeta:
      type: object
      properties:
        height:
          type: integer
        width:
          type: integer
        duration:
          type: integer
          description: Seconds.
        ratio:
          type: string
        format:
          type: string
        definition:
          type: string
        codec_type:
          type: string
        encoded_type:
          type: string
        bitrate:
          type: integer
        cover:
          type: string
        origin_cover:
          type: string
        dynamic_cover:
          type: string
        animated_cover:
          type: string
        ai_dynamic_cover:
          type: string
        share_cover:
          type: string
        play_addr:
          type: string
          description: Direct play URL.
        download_addr:
          type: string
          description: Watermarked download URL.
        download_no_watermark_addr:
          type: string
          description: Clean MP4 (mobile).
        has_watermark:
          type: boolean
        volume_loudness:
          type: number
        volume_peak:
          type: number
      description: Playable-media metadata for a video.
    TikTokVideoStatus:
      type: object
      properties:
        is_delete:
          type: boolean
        allow_share:
          type: boolean
        allow_comment:
          type: boolean
        private_status:
          type: integer
          description: 0 public, 1 friends, 2 private.
        in_reviewing:
          type: boolean
        reviewed:
          type: boolean
        is_prohibited:
          type: boolean
        download_status:
          type: integer
        self_see:
          type: boolean
      description: Moderation/availability state of a post.
    TikTokVideoControl:
      type: object
      properties:
        allow_download:
          type: boolean
        allow_duet:
          type: boolean
        allow_stitch:
          type: boolean
        allow_react:
          type: boolean
        allow_comment:
          type: boolean
        share_type:
          type: integer
        prevent_download:
          type: boolean
      description: Per-post interaction permissions.
    TikTokAnchor:
      type: object
      properties:
        id:
          type: string
        type:
          type: integer
        keyword:
          type: string
        url:
          type: string
        icon:
          type: string
      description: A link/shopping/POI anchor attached to a post.
    TikTokTextExtra:
      type: object
      properties:
        type:
          type: string
          description: '''hashtag'' or ''mention''.'
        hashtag_name:
          type: string
        user_unique_id:
          type: string
        user_id:
          type: string
        start:
          type: integer
        end:
          type: integer
      description: An entity (hashtag or @mention) inside the caption.
    TikTokChallenge:
      type: object
      properties:
        id:
          type: string
        title:
          type: string
          description: Hashtag text, no '#'.
        desc:
          type: string
        cover:
          type: string
        is_commerce:
          type: boolean
      description: A hashtag/challenge referenced from a video.
    TikTokEffectSticker:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        photo_url:
          type: string
      description: An effect/sticker applied to a video.
    TikTokSubtitle:
      type: object
      properties:
        language:
          type: string
        language_code:
          type: string
        url:
          type: string
        source:
          type: string
          description: ASR vs creator.
        version:
          type: string
        format:
          type: string
      description: A subtitle/caption track for a video.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.