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

# Hashtag videos

> Returns the videos TikTok shows for a `hashtag` in a `region` (default NG), up to 30 per page. Includes the hashtag (id, name, description, exact video and view counts, cover and profile images, any pinned announcement) and every video with its description, created date, stats (views, likes, comments, shares, saves, reposts — large view/like/comment/share counts are rounded; saves are exact), author (with stats, also rounded), video details (duration, size, covers, play/download URLs, every rendition, subtitles) or photo-post images, music (with its TikTok sound page and Apple Music / Spotify links), hashtags, mentions, tagged place, effects, stickers, link anchors, AI-generated labels, flags and related searches. `servedRegion` is the region the results are for. Pass the returned `cursor` to get the next page; it is null on the last page.

**About the results:** videos come in TikTok’s ranked order, not a complete or chronological list. A video can occasionally appear on more than one page, and the list ends after a few hundred videos at most, however many use the hashtag. Some hashtags are not available in every region; then the response is a 404 and another `region` may work.

**Downloading video files:** TikTok only serves `video.playUrl`, `video.downloadUrl` and `video.formats[].url` to requests that send the `Cookie` and `Referer` headers returned in `mediaHeaders` (without them: 403 Access Denied). Send both headers from your code, e.g. `curl -H "Cookie: <mediaHeaders.Cookie>" -H "Referer: <mediaHeaders.Referer>" "<video.playUrl>" -o video.mp4`. Covers, photo-post images, music and subtitles need no headers. Media URLs expire within hours.

**Watermarks:** `playUrl` and every `formats[].url` are watermark-free; `downloadUrl` is TikTok’s download copy with the TikTok logo and @username burned in.

<Info>
  **Cost: 1 credit** per successful request. Errors and cache hits (`cache_max_age`) are free.
</Info>

<Accordion title="Copy for AI assistant" icon="sparkles">
  Paste this into ChatGPT, Claude or your coding assistant to generate working code for this endpoint (use the copy button).

  ```text Prompt
  I want to make an API call to /v1/tiktok/search/hashtag. Here are the details:

  Endpoint: GET https://api.scraperize.com/v1/tiktok/search/hashtag
  Description: Returns the videos TikTok shows for a `hashtag` in a `region` (default NG), up to 30 per page. Includes the hashtag (id, name, description, exact video and view counts, cover and profile images, any pinned announcement) and every video with its description, created date, stats (views, likes, comments, shares, saves, reposts — large view/like/comment/share counts are rounded; saves are exact), author (with stats, also rounded), video details (duration, size, covers, play/download URLs, every rendition, subtitles) or photo-post images, music (with its TikTok sound page and Apple Music / Spotify links), hashtags, mentions, tagged place, effects, stickers, link anchors, AI-generated labels, flags and related searches. `servedRegion` is the region the results are for. Pass the returned `cursor` to get the next page; it is null on the last page.

  Required Headers:
  - x-api-key: Your API key

  Parameters:
  - hashtag (string) [required]: The hashtag to get videos for, without the `#` (letters, numbers and underscores; up to 100 characters).
  - region (select): The region (country) to get results for, as a two-letter code (ISO 3166-1). Defaults to NG (Nigeria).
  - cursor (string): The `cursor` from the previous response, to get the next page. Omit for the first page.
  - cache_max_age (select): Optional. Return a cached result if one this age or newer exists — served for **0 credits** with `meta.cached=true` and `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and refreshes the cache. Omit to always scrape fresh.

  Example Response:
  {
    "data": {
      "hashtag": {
        "id": "75619",
        "name": "lagos",
        "url": "https://www.tiktok.com/tag/lagos",
        "description": null,
        "videoCount": 3433864,
        "viewCount": 20527131299,
        "isCommerce": false,
        "coverUrl": null,
        "profileImageUrl": null,
        "announcement": null
      },
      "region": "NG",
      "regionName": "Nigeria",
      "servedRegion": "NG",
      "videos": [
        {
          "id": "7664144953794219271",
          "url": "https://www.tiktok.com/@fresh.dan.hajiya/video/7664144953794219271",
          "type": "video",
          "description": null,
          "createdAt": "2026-07-19T07:56:49.000Z",
          "language": "un",
          "stats": {
            "playCount": 86000,
            "likeCount": 8957,
            "commentCount": 222,
            "shareCount": 3432,
            "collectCount": 1589,
            "repostCount": 0
          },
          "author": {
            "id": "7636526947615065108",
            "secUid": "MS4wLjABAAAA5wF3dHd45NnX6Rj4sr9FMXX-y736fClzWh0Tn_VNeYRK1R_VjYsqYkskZGMj6hKo",
            "handle": "fresh.dan.hajiya",
            "nickname": "Fresh Dan hajiya",
            "bio": "Follow my page",
            "avatarUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/178cb850f2008a7b1d0f5426eb8763ac~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=871efe03…",
            "verified": false,
            "privateAccount": false,
            "stats": {
              "followerCount": 3164,
              "followingCount": 1216,
              "likeCount": 19400,
              "videoCount": 258,
              "friendCount": 0,
              "diggCount": 8874
            }
          },
          "video": {
            "duration": 35,
            "width": 576,
            "height": 1024,
            "definition": "540p",
            "format": "mp4",
            "codec": "h264",
            "bitrate": 435728,
            "quality": "lowest",
            "size": 1960235,
            "coverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oM6FHcFik4EtLEz1A0BIIghigfJsJpCqAB8AwH~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
            "originCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oU8I6LiJFS0wPcq0ChF4gpwIBfAyiABtHAH1kI~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
            "dynamicCoverUrl": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/owg6ti0CiIZIwQLHkcfF8r4AIlhP1BqFAB50Av~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signatur…",
            "playUrl": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD…",
            "downloadUrl": "https://webapp-sg.tiktok.com/ca9b50800b5d9639e0752de89c30b400/6ac65b32/kmoat/mps/logo/v2/r/p/v14044g50000d9e85sfog65qq88kfdu0/42a4122620344053ab2d146b8e941605/5…",
            "volume": {
              "loudness": -29.5,
              "peak": 0.15668
            },
            "formats": [
              {
                "gearName": "adapt_lower_720_1",
                "qualityType": 14,
                "codec": "h265_hvc1",
                "format": "mp4",
                "bitrate": 565698,
                "fps": 29,
                "width": 720,
                "height": 1280,
                "size": 2545008,
                "url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAmCAL4qcEAktC3hH4QFdfQ38wi60ABV1IFIbi/?a=1988&bti=ODszNWYuMDE6&&bt=552&ft=-Csk_mIUPD…"
              }
            ],
            "subtitles": []
          },
          "photo": null,
          "music": {
            "id": "7663386761804532498",
            "title": "original sound",
            "url": "https://www.tiktok.com/music/original-sound-7663386761804532498",
            "authorName": "Dan basi",
            "album": null,
            "duration": 46,
            "preciseDuration": null,
            "shootDuration": 46,
            "original": true,
            "isCopyrighted": false,
            "isCommerceMusic": true,
            "isUnlimitedMusic": false,
            "isPrivate": false,
            "coverUrl": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/d31b934dc66421ab31ae5aa0e0aacac6~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=34a3524…",
            "playUrl": "https://v45.tiktokcdn.com/faf9af5f17048e67bcc015e11563cff2/6ac509bd/video/tos/alisg/tos-alisg-v-27dcd7/osEOmEA1aLZ0jiGK2oBBawAKo9AfBUzA3EAWiO/?a=1180&bti=ODszNW…",
            "streaming": []
          },
          "hashtags": [],
          "mentions": [],
          "effects": [
            {
              "id": "33910467",
              "name": "The real black and white"
            }
          ],
          "stickerTexts": [
            "Lagos"
          ],
          "location": null,
          "contentCategory": {
            "id": 120,
            "name": "General"
          },
          "anchors": [],
          "warnings": [],
          "playlistId": null,
          "isAd": false,
          "isPinned": false,
          "isPrivate": false,
          "isCommerce": false,
          "aigcDescription": null,
          "aigcLabelType": null,
          "duetEnabled": true,
          "stitchEnabled": true,
          "shareEnabled": true,
          "canRepost": true,
          "commentStatus": 0,
          "suggestedSearches": []
        }
      ],
      "mediaHeaders": {
        "Cookie": "tt_chain_token=<session token returned by the API>",
        "Referer": "https://www.tiktok.com/"
      },
      "count": 30,
      "cursor": "30",
      "hasMore": true,
      "fetchedAt": "2026-10-05T14:45:36.742Z"
    },
    "meta": {
      "requestId": "req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f",
      "creditsCharged": 1,
      "creditsRemaining": 4999,
      "cached": false
    }
  }

  Please help me write code in my preferred programming language to make this API call and handle the response appropriately. Include error handling and best practices.
  ```
</Accordion>


## OpenAPI

````yaml /api-reference/openapi.json get /v1/tiktok/search/hashtag
openapi: 3.0.3
info:
  title: Scraperize API
  version: 1.0.0
  description: >-
    Extract public data from social media platforms as clean JSON. Endpoints are
    split by platform and by what they return, e.g. `GET /v1/twitter/tweet`.


    ## Authentication

    Send your API key in the `x-api-key` header (or `Authorization: Bearer
    <key>`). Create keys in your dashboard.


    ## Credits

    Each successful live scrape costs **1 credit**. Credits are prepaid and
    never expire.


    ## Caching

    Every endpoint accepts an optional `cache_max_age`
    (`1d`|`3d`|`7d`|`14d`|`30d`). A cache hit within that window is returned for
    **0 credits**.


    ## Responses

    Success returns `{ "data": …, "meta": { "requestId", … } }`. Errors return
    `{ "error": { "code", "message", "requestId" } }` with a matching HTTP
    status. `meta` on a scrape carries `creditsCharged`, `creditsRemaining`,
    `cached`, and (on a hit) `cachedAt`.


    ## Rate limits

    Requests are limited per team per minute; over the limit returns `429` with
    a `Retry-After` header.
servers:
  - url: https://api.scraperize.com
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Twitter
    description: Twitter / X scraping endpoints
  - name: Facebook
    description: Facebook scraping endpoints
  - name: Linkme
    description: Linkme (link.me) scraping endpoints
  - name: Amazon
    description: Amazon (creator shop / storefront) scraping endpoints
  - name: Linkbio
    description: Linkbio (lnk.bio) scraping endpoints
  - name: Pillar
    description: Pillar (pillar.io) scraping endpoints
  - name: Komi
    description: Komi (komi.io) scraping endpoints
  - name: Linktree
    description: Linktree (linktr.ee) scraping endpoints
  - name: Kick
    description: Kick (kick.com) scraping endpoints
  - name: Snapchat
    description: Snapchat (snapchat.com) scraping endpoints
  - name: Telegram
    description: Telegram (t.me) scraping endpoints
  - name: LinkedIn
    description: LinkedIn scraping endpoints
  - name: Twitch
    description: Twitch scraping endpoints
  - name: TikTok
    description: TikTok (tiktok.com) scraping endpoints
paths:
  /v1/tiktok/search/hashtag:
    get:
      tags:
        - TikTok
      summary: Hashtag videos
      description: >-
        Returns the videos TikTok shows for a `hashtag` in a `region` (default
        NG), up to 30 per page. Includes the hashtag (id, name, description,
        exact video and view counts, cover and profile images, any pinned
        announcement) and every video with its description, created date, stats
        (views, likes, comments, shares, saves, reposts — large
        view/like/comment/share counts are rounded; saves are exact), author
        (with stats, also rounded), video details (duration, size, covers,
        play/download URLs, every rendition, subtitles) or photo-post images,
        music (with its TikTok sound page and Apple Music / Spotify links),
        hashtags, mentions, tagged place, effects, stickers, link anchors,
        AI-generated labels, flags and related searches. `servedRegion` is the
        region the results are for. Pass the returned `cursor` to get the next
        page; it is null on the last page.


        **About the results:** videos come in TikTok’s ranked order, not a
        complete or chronological list. A video can occasionally appear on more
        than one page, and the list ends after a few hundred videos at most,
        however many use the hashtag. Some hashtags are not available in every
        region; then the response is a 404 and another `region` may work.


        **Downloading video files:** TikTok only serves `video.playUrl`,
        `video.downloadUrl` and `video.formats[].url` to requests that send the
        `Cookie` and `Referer` headers returned in `mediaHeaders` (without them:
        403 Access Denied). Send both headers from your code, e.g. `curl -H
        "Cookie: <mediaHeaders.Cookie>" -H "Referer: <mediaHeaders.Referer>"
        "<video.playUrl>" -o video.mp4`. Covers, photo-post images, music and
        subtitles need no headers. Media URLs expire within hours.


        **Watermarks:** `playUrl` and every `formats[].url` are watermark-free;
        `downloadUrl` is TikTok’s download copy with the TikTok logo and
        @username burned in.
      parameters:
        - name: hashtag
          in: query
          required: true
          description: >-
            The hashtag to get videos for, without the `#` (letters, numbers and
            underscores; up to 100 characters).
          schema:
            type: string
            minLength: 1
            maxLength: 100
          example: lagos
        - name: region
          in: query
          required: false
          description: >-
            The region (country) to get results for, as a two-letter code (ISO
            3166-1). Defaults to NG (Nigeria).
          schema:
            type: string
            enum:
              - AL
              - DZ
              - AR
              - AU
              - AT
              - AZ
              - BY
              - BE
              - BO
              - BR
              - KH
              - CM
              - CA
              - CL
              - CO
              - CR
              - CZ
              - EG
              - FR
              - DE
              - GH
              - GR
              - HK
              - IS
              - IE
              - IL
              - IT
              - JM
              - JP
              - KZ
              - KE
              - KW
              - LI
              - LT
              - LU
              - MX
              - MA
              - MZ
              - NA
              - NL
              - NG
              - MK
              - 'NO'
              - PA
              - PE
              - PH
              - PT
              - PR
              - RO
              - SA
              - SG
              - ZA
              - KR
              - ES
              - SE
              - CH
              - TW
              - TH
              - TT
              - TN
              - TR
              - UG
              - UA
              - AE
              - GB
              - US
              - UY
              - UZ
              - VE
            x-enumNames:
              - Albania (AL)
              - Algeria (DZ)
              - Argentina (AR)
              - Australia (AU)
              - Austria (AT)
              - Azerbaijan (AZ)
              - Belarus (BY)
              - Belgium (BE)
              - Bolivia (BO)
              - Brazil (BR)
              - Cambodia (KH)
              - Cameroon (CM)
              - Canada (CA)
              - Chile (CL)
              - Colombia (CO)
              - Costa Rica (CR)
              - Czechia (CZ)
              - Egypt (EG)
              - France (FR)
              - Germany (DE)
              - Ghana (GH)
              - Greece (GR)
              - Hong Kong (HK)
              - Iceland (IS)
              - Ireland (IE)
              - Israel (IL)
              - Italy (IT)
              - Jamaica (JM)
              - Japan (JP)
              - Kazakhstan (KZ)
              - Kenya (KE)
              - Kuwait (KW)
              - Liechtenstein (LI)
              - Lithuania (LT)
              - Luxembourg (LU)
              - Mexico (MX)
              - Morocco (MA)
              - Mozambique (MZ)
              - Namibia (NA)
              - Netherlands (NL)
              - Nigeria (NG)
              - North Macedonia (MK)
              - Norway (NO)
              - Panama (PA)
              - Peru (PE)
              - Philippines (PH)
              - Portugal (PT)
              - Puerto Rico (PR)
              - Romania (RO)
              - Saudi Arabia (SA)
              - Singapore (SG)
              - South Africa (ZA)
              - South Korea (KR)
              - Spain (ES)
              - Sweden (SE)
              - Switzerland (CH)
              - Taiwan (TW)
              - Thailand (TH)
              - Trinidad and Tobago (TT)
              - Tunisia (TN)
              - Türkiye (TR)
              - Uganda (UG)
              - Ukraine (UA)
              - United Arab Emirates (AE)
              - United Kingdom (GB)
              - United States (US)
              - Uruguay (UY)
              - Uzbekistan (UZ)
              - Venezuela (VE)
            default: NG
          example: NG
        - name: cursor
          in: query
          required: false
          description: >-
            The `cursor` from the previous response, to get the next page. Omit
            for the first page.
          schema:
            type: string
          example: '30'
        - name: cache_max_age
          in: query
          required: false
          description: >-
            Optional. Return a cached result if one this age or newer exists —
            served for **0 credits** with `meta.cached=true` and
            `meta.cachedAt`. Otherwise a fresh scrape runs (**1 credit**) and
            refreshes the cache. Omit to always scrape fresh.
          schema:
            type: string
            enum:
              - 1d
              - 3d
              - 7d
              - 14d
              - 30d
          example: 7d
      responses:
        '200':
          description: The hashtag and one page of its videos.
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: object
                    properties:
                      hashtag:
                        type: object
                        properties:
                          id:
                            type: string
                          name:
                            type: string
                          url:
                            type: string
                          description:
                            type: string
                            nullable: true
                          videoCount:
                            type: integer
                            nullable: true
                          viewCount:
                            type: integer
                            nullable: true
                          isCommerce:
                            type: boolean
                          coverUrl:
                            type: string
                            nullable: true
                          profileImageUrl:
                            type: string
                            nullable: true
                          announcement:
                            type: object
                            nullable: true
                            properties:
                              title:
                                type: string
                                nullable: true
                              body:
                                type: string
                                nullable: true
                      region:
                        type: string
                      regionName:
                        type: string
                      servedRegion:
                        type: string
                        nullable: true
                      videos:
                        type: array
                        items:
                          type: object
                      mediaHeaders:
                        type: object
                        nullable: true
                        description: >-
                          Send these headers when downloading video files
                          (playUrl / downloadUrl / formats[].url); TikTok
                          returns 403 without them.
                        properties:
                          Cookie:
                            type: string
                          Referer:
                            type: string
                      count:
                        type: integer
                      cursor:
                        type: string
                        nullable: true
                      hasMore:
                        type: boolean
                      fetchedAt:
                        type: string
                        format: date-time
                  meta:
                    type: object
                    description: >-
                      requestId + credit/caching metadata (creditsCharged,
                      creditsRemaining, cached, cachedAt).
                required:
                  - data
                  - meta
              example:
                data:
                  hashtag:
                    id: '75619'
                    name: lagos
                    url: https://www.tiktok.com/tag/lagos
                    description: null
                    videoCount: 3433864
                    viewCount: 20527131299
                    isCommerce: false
                    coverUrl: null
                    profileImageUrl: null
                    announcement: null
                  region: NG
                  regionName: Nigeria
                  servedRegion: NG
                  videos:
                    - id: '7664144953794219271'
                      url: >-
                        https://www.tiktok.com/@fresh.dan.hajiya/video/7664144953794219271
                      type: video
                      description: null
                      createdAt: '2026-07-19T07:56:49.000Z'
                      language: un
                      stats:
                        playCount: 86000
                        likeCount: 8957
                        commentCount: 222
                        shareCount: 3432
                        collectCount: 1589
                        repostCount: 0
                      author:
                        id: '7636526947615065108'
                        secUid: >-
                          MS4wLjABAAAA5wF3dHd45NnX6Rj4sr9FMXX-y736fClzWh0Tn_VNeYRK1R_VjYsqYkskZGMj6hKo
                        handle: fresh.dan.hajiya
                        nickname: Fresh Dan hajiya
                        bio: Follow my page
                        avatarUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/178cb850f2008a7b1d0f5426eb8763ac~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=871efe03&x-expires=1791381600&x-signature=9HnyI0blj9HBTDp4gmWP1%2BvfH0s%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        verified: false
                        privateAccount: false
                        stats:
                          followerCount: 3164
                          followingCount: 1216
                          likeCount: 19400
                          videoCount: 258
                          friendCount: 0
                          diggCount: 8874
                      video:
                        duration: 35
                        width: 576
                        height: 1024
                        definition: 540p
                        format: mp4
                        codec: h264
                        bitrate: 435728
                        quality: lowest
                        size: 1960235
                        coverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oM6FHcFik4EtLEz1A0BIIghigfJsJpCqAB8AwH~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=ZVI4QJVB1lJ1fTGlHenGvfc4COE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        originCoverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oU8I6LiJFS0wPcq0ChF4gpwIBfAyiABtHAH1kI~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=%2FM9mO6%2BtioWQOSOWcUQke5APxrE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        dynamicCoverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/owg6ti0CiIZIwQLHkcfF8r4AIlhP1BqFAB50Av~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=NZFaTvGauVVSwP9aemYoXMg9JX8%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        playUrl: >-
                          https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000
                        downloadUrl: >-
                          https://webapp-sg.tiktok.com/ca9b50800b5d9639e0752de89c30b400/6ac65b32/kmoat/mps/logo/v2/r/p/v14044g50000d9e85sfog65qq88kfdu0/42a4122620344053ab2d146b8e941605/57a1158136616c98d53fe82878165df1/mp4/main.mp4?a=1988&bti=ODszNWYuMDE6&&bt=0&eid=1286&ft=bLZkAmIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmODk3aGU3Z2U2MzczOTU3NUBpM2duO3Q5cnY7PDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtLjY1My4vXjIxMC8vLl4xYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&definition=720p&du=36&item_id=7664144953794219271&l=20261005224534F520729309A358AC28C8&logo_type=tiktok_m&ply_type=2&policy=eyJ2bSI6MiwiY2siOiJ0dF9jaGFpbl90b2tlbiJ9&user_text=fresh.dan.hajiya&btag=e00088000
                        volume:
                          loudness: -29.5
                          peak: 0.15668
                        formats:
                          - gearName: adapt_lower_720_1
                            qualityType: 14
                            codec: h265_hvc1
                            format: mp4
                            bitrate: 565698
                            fps: 29
                            width: 720
                            height: 1280
                            size: 2545008
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oAmCAL4qcEAktC3hH4QFdfQ38wi60ABV1IFIbi/?a=1988&bti=ODszNWYuMDE6&&bt=552&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=PDlnZTc6NDM8ZWU4NGdnaUBpM2duO3Q5cnY7PDMzODczNEA0YjYzLzFgNWIxYC9iMTNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6156b0726f1fc36b4743e712e6369c4d&tk=tt_chain_token&btag=e00048000
                          - gearName: lowest_540_0
                            qualityType: 25
                            codec: h264
                            format: mp4
                            bitrate: 435728
                            fps: 29
                            width: 576
                            height: 1024
                            size: 1960235
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owCBpgD4qSBF7bK5B1FEgLDxEXAReZvIQpfPUI/?a=1988&bti=ODszNWYuMDE6&&bt=425&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Mzg0Zjg8O2U6Njw0ZDRkO0BpM2duO3Q5cnY7PDMzODczNEAzYDAyMzMxNWMxXjZjYzNiYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=38e54db36d1f6798cf77d1d763203b61&tk=tt_chain_token&btag=e00048000
                          - gearName: adapt_540_1
                            qualityType: 28
                            codec: h265_hvc1
                            format: mp4
                            bitrate: 387147
                            fps: 29
                            width: 576
                            height: 1024
                            size: 1741728
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0lHI8iVqhq4uttdAQBAEFL6I01wQARCBkiFf2/?a=1988&bti=ODszNWYuMDE6&&bt=378&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=OGVoaDY7Nzo3PDpnZTtnaEBpM2duO3Q5cnY7PDMzODczNEAwYV9jLjUtNTAxMGNfYDZhYSNyYzVuMmRjMmJhLS1kMTFzcw%3D%3D&expire=1791384370&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=98091fea8dbcc2c90ba9e6dea8e49f7f&tk=tt_chain_token&btag=e00048000
                        subtitles: []
                      photo: null
                      music:
                        id: '7663386761804532498'
                        title: original sound
                        url: >-
                          https://www.tiktok.com/music/original-sound-7663386761804532498
                        authorName: Dan basi
                        album: null
                        duration: 46
                        preciseDuration: null
                        shootDuration: 46
                        original: true
                        isCopyrighted: false
                        isCommerceMusic: true
                        isUnlimitedMusic: false
                        isPrivate: false
                        coverUrl: >-
                          https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/d31b934dc66421ab31ae5aa0e0aacac6~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=34a35240&x-expires=1791381600&x-signature=AOni5hRKeTVR2XoXbWzg4DDk8RA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        playUrl: >-
                          https://v45.tiktokcdn.com/faf9af5f17048e67bcc015e11563cff2/6ac509bd/video/tos/alisg/tos-alisg-v-27dcd7/osEOmEA1aLZ0jiGK2oBBawAKo9AfBUzA3EAWiO/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=M3d2b3A5cmR3PDMzODU8NEBpM3d2b3A5cmR3PDMzODU8NEBoYWptMmRjMGBhLS1kMS1zYSNoYWptMmRjMGBhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&btag=e0004d000&sp_exp=hash_v0
                        streaming: []
                      hashtags: []
                      mentions: []
                      effects:
                        - id: '33910467'
                          name: The real black and white
                        - id: '2559280207'
                          name: smootnes
                        - id: '2559297390'
                          name: smootnes
                      stickerTexts:
                        - Lagos
                      location: null
                      contentCategory:
                        id: 120
                        name: General
                      anchors: []
                      warnings: []
                      playlistId: null
                      isAd: false
                      isPinned: false
                      isPrivate: false
                      isCommerce: false
                      aigcDescription: null
                      aigcLabelType: null
                      duetEnabled: true
                      stitchEnabled: true
                      shareEnabled: true
                      canRepost: true
                      commentStatus: 0
                      suggestedSearches: []
                    - id: '7692749460610239751'
                      url: >-
                        https://www.tiktok.com/@romeo_onchain/video/7692749460610239751
                      type: video
                      description: >-
                        How I got rich overnight on Lagos life #lagoslife #lagos
                        #game #fun
                      createdAt: '2026-10-04T09:56:56.000Z'
                      language: en
                      stats:
                        playCount: 99200
                        likeCount: 4499
                        commentCount: 356
                        shareCount: 477
                        collectCount: 553
                        repostCount: 0
                      author:
                        id: '7470236297904669713'
                        secUid: >-
                          MS4wLjABAAAAjZpQhCmfaRKrnsibq7xv-HBJqHrYH8zGwVhCt_EY72l9xh_oYEMRu4gH4Awe1Pru
                        handle: romeo_onchain
                        nickname: Romeo Onchain 🌹
                        bio: Ai, crypto and finance creative 🥹🙂‍↔️
                        avatarUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/e825cd7463a8775874b51714bc5afbc7~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=9b1182bf&x-expires=1791381600&x-signature=pU3w%2FtEuJeSHwM3lY4Cp0sDCFPA%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        verified: false
                        privateAccount: false
                        stats:
                          followerCount: 2042
                          followingCount: 293
                          likeCount: 114600
                          videoCount: 535
                          friendCount: 0
                          diggCount: 37800
                      video:
                        duration: 24
                        width: 576
                        height: 1250
                        definition: 540p
                        format: mp4
                        codec: h264
                        bitrate: 278552
                        quality: lowest
                        size: 850769
                        coverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oMFYBf8xCihuIuI3VB1wiAiCIOIRAuLPPAkYO7~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Ic7pOXmtaEyNc9YFTQRRPR%2Bxbt0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        originCoverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/osR1ACHSixuiL7IAFwRIYPVPIFiOBAB8CfnI3u~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=Yyct%2Fw1ATW5TjHjVFn8Th41mZps%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        dynamicCoverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/ogGEB4mHQCvh4QIDdejRIUxDfXveEAcIEWAELV~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=TsjmS3hs70fPTQD9gufbQ31H%2FVc%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        playUrl: >-
                          https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000
                        downloadUrl: >-
                          https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oIejQIXWexHCGDIEcRCeI14RAgLoDVAEhvG4OI/?a=1988&bti=ODszNWYuMDE6&&bt=539&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Ojk7ZGVkNDVpNmc3aTxlZEBpanFycnY5cnI1ZTMzODczNEAyLl5gMDFhXzIxMDI0XmMxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=6ee7902ce9a9b59d6a66daf65f8ede2f&tk=tt_chain_token&btag=e000b8000
                        volume:
                          loudness: -31.5
                          peak: 0.16788
                        formats:
                          - gearName: lowest_540_0
                            qualityType: 25
                            codec: h264
                            format: mp4
                            bitrate: 278552
                            fps: 30
                            width: 576
                            height: 1250
                            size: 850769
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/owLXvekVhAHvDcHZIxIEHjIC4ECeIK41IWeAQG/?a=1988&bti=ODszNWYuMDE6&&bt=272&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGRkN2Y5Z2kzOjQ6ZzU6OUBpanFycnY5cnI1ZTMzODczNEA2L2BgYDQ1NjYxXy4uMGBgYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=89aab238606844d76bf2b855ef6e0469&tk=tt_chain_token&btag=e000b8000
                          - gearName: adapt_540_1
                            qualityType: 28
                            codec: h265_hvc1
                            format: mp4
                            bitrate: 193761
                            fps: 30
                            width: 576
                            height: 1250
                            size: 591797
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/o0BC7uXxEALYOIiNnfIPC28AEFUPRw3iJVABi1/?a=1988&bti=ODszNWYuMDE6&&bt=189&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=ZGY5Nzc4PDc7NjM1ZmhkN0BpanFycnY5cnI1ZTMzODczNEBiLl5iNDBgNS0xXzEwLjAxYSM0a2VeMmRzMi5hLS1kMWBzcw%3D%3D&expire=1791384359&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=aa18f55f3dabeec0043c3fbf7253db35&tk=tt_chain_token&btag=e000b8000
                        subtitles: []
                      photo: null
                      music:
                        id: '7686207409320184594'
                        title: original sound
                        url: >-
                          https://www.tiktok.com/music/original-sound-7686207409320184594
                        authorName: JØSH
                        album: null
                        duration: 36
                        preciseDuration: null
                        shootDuration: 36
                        original: true
                        isCopyrighted: false
                        isCommerceMusic: true
                        isUnlimitedMusic: false
                        isPrivate: false
                        coverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/18575df4bb2a7072adb48219721ad68a~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=8f23e4f3&x-expires=1791381600&x-signature=2LuSmJeOUXtw96HnGSEzqB6QzDE%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        playUrl: >-
                          https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAo5uwrDECOxquTCDFAQKJsfBfKqABEEzg6Uq/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=anlqeXE5cnVoZDMzODU8NEBpanlqeXE5cnVoZDMzODU8NEBsMF5eMmQ0NmlhLS1kMS1zYSNsMF5eMmQ0NmlhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297971&VSignature=wX95TC7rgBApdl6fGFnJcg&btag=e00048000&sp_exp=hash_v0
                        streaming: []
                      hashtags:
                        - id: '87294604'
                          name: lagoslife
                          description: null
                        - id: '75619'
                          name: lagos
                          description: null
                        - id: '2006'
                          name: game
                          description: null
                      mentions: []
                      effects:
                        - id: '33910467'
                          name: The real black and white
                        - id: '2559280207'
                          name: smootnes
                        - id: '2559297390'
                          name: smootnes
                      stickerTexts: []
                      location: null
                      contentCategory:
                        id: 103
                        name: Games
                      anchors: []
                      warnings: []
                      playlistId: null
                      isAd: false
                      isPinned: false
                      isPrivate: false
                      isCommerce: false
                      aigcDescription: null
                      aigcLabelType: null
                      duetEnabled: true
                      stitchEnabled: true
                      shareEnabled: true
                      canRepost: true
                      commentStatus: 0
                      suggestedSearches: []
                    - id: '7686621200197487879'
                      url: >-
                        https://www.tiktok.com/@yazeet1/video/7686621200197487879
                      type: video
                      description: null
                      createdAt: '2026-09-17T21:36:09.000Z'
                      language: un
                      stats:
                        playCount: 127100
                        likeCount: 23100
                        commentCount: 206
                        shareCount: 357
                        collectCount: 3483
                        repostCount: 0
                      author:
                        id: '7323184151870735366'
                        secUid: >-
                          MS4wLjABAAAABhlx2Bf-v91p-X9tcTXgvSFV9PzX0D5kXMSsQxIYCxfAIcmFh8qt2phPHoBpGoed
                        handle: yazeet1
                        nickname: Yazeet
                        bio: |-
                          Proudly being a Muslim 🙏Ya Allah 
                          Forgive All My Enemies 😭
                        avatarUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/6655b2c322548df5c672a1352728fe2d~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=97d831db&x-expires=1791381600&x-signature=xrTKoIdYcfR9bmaVp6LVC%2BghiAU%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        verified: false
                        privateAccount: false
                        stats:
                          followerCount: 235700
                          followingCount: 29
                          likeCount: 5100000
                          videoCount: 1418
                          friendCount: 0
                          diggCount: 104200
                      video:
                        duration: 18
                        width: 576
                        height: 1024
                        definition: 540p
                        format: mp4
                        codec: h264
                        bitrate: 508981
                        quality: lowest
                        size: 1187644
                        coverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/o4QYQEDQjueWARGVGLN8edfBynBIvIdAoQLpCj~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=8CUj8NuuUKB7auQ6c%2FICG4UR3Nk%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        originCoverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0037/oEGGdqIQQDAVvyWeBXLosaeQyUneTIAGGCLjDB~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=U8eFoq0MUbJx4T0PScJvejmW6XE%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        dynamicCoverUrl: >-
                          https://p19-common-sign.tiktokcdn.com/tos-alisg-p-0037/og3FUIgAfENpjXAqA5CvIXIsfzE6IBBUODgRrF~tplv-tiktokx-origin.image?dr=14575&x-expires=1791381600&x-signature=IVKIyhS9L%2Bhckd2Cnhq0FPqInGY%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=my2
                        playUrl: >-
                          https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000
                        downloadUrl: >-
                          https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/ochzIU5j3DAVXACa8FFgBRqQKEIgOBnrEff2sE/?a=1988&bti=ODszNWYuMDE6&&bt=1290&eid=20480&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmNTM2NDYzMzNlMzY3OGU2ZUBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMyMjAuNjUuNWExLjMuNC4xYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=76fdd30d90834064d71b7bb7fe1f400e&tk=tt_chain_token&btag=e000b8000
                        volume:
                          loudness: -11.2
                          peak: 0.95499
                        formats:
                          - gearName: adapt_lower_720_1
                            qualityType: 14
                            codec: h265_hvc1
                            format: mp4
                            bitrate: 539807
                            fps: 30
                            width: 720
                            height: 1280
                            size: 1259573
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/okR6UB3fAgMEOQOq5FUFEzIrIBAfuB2t2gDjEj/?a=1988&bti=ODszNWYuMDE6&&bt=527&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=cnF8b2hsc2d3SkBwaHIxaDFybndmOmlnOjY4ZmRnNzg8OjY1OEBpamh2cmo5cnc4ZDMzODczNEBjRl5Nc3FePmJKYSNvYF90aHFmOiMtNC1fLTVhNTExNl41YTZhYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=2ed9ab3cac739c3d7edf6c7542ee47b1&tk=tt_chain_token&btag=e000b8000
                          - gearName: lowest_540_0
                            qualityType: 25
                            codec: h264
                            format: mp4
                            bitrate: 508981
                            fps: 30
                            width: 576
                            height: 1024
                            size: 1187644
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oABVWgGQQDCICeBAeIAAI8QLeLsvxydnUMGjoX/?a=1988&bti=ODszNWYuMDE6&&bt=497&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Nzw4PGhlaDRmaDg4Z2dmPEBpamh2cmo5cnc4ZDMzODczNEAxYS1fNjEyXjQxXjA2LWMzYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=7023c270b8e208bf06ffabc362d7ad00&tk=tt_chain_token&btag=e000b8000
                          - gearName: adapt_540_1
                            qualityType: 28
                            codec: h265_hvc1
                            format: mp4
                            bitrate: 417604
                            fps: 30
                            width: 576
                            height: 1024
                            size: 974428
                            url: >-
                              https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-pve-0037c001/oEIltqIENBF38gRAgfEAyFEBzjDBOrOxjf53NU/?a=1988&bti=ODszNWYuMDE6&&bt=407&ft=-Csk_mIUPD12N7tEon-Ux~.2NY6e3wv25McAp&mime_type=video_mp4&rc=Z2Y6O2U1ZTo2OGk5PDtoZUBpamh2cmo5cnc4ZDMzODczNEAyMV8uYV5hX2ExMDIvMWFeYSNwZDA1MmRzbWphLS1kMTFzcw%3D%3D&expire=1791384353&l=20261005224534F520729309A358AC28C8&ply_type=2&policy=2&signature=902cfb7cbf7ac7a009a113e1d12b47f4&tk=tt_chain_token&btag=e000b8000
                        subtitles: []
                      photo: null
                      music:
                        id: '7631712092269103880'
                        title: original sound
                        url: >-
                          https://www.tiktok.com/music/original-sound-7631712092269103880
                        authorName: S.m.g🎬_masama🦋
                        album: null
                        duration: 35
                        preciseDuration: null
                        shootDuration: 35
                        original: true
                        isCopyrighted: false
                        isCommerceMusic: true
                        isUnlimitedMusic: false
                        isPrivate: false
                        coverUrl: >-
                          https://p16-common-sign.tiktokcdn.com/tos-alisg-avt-0068/caaf03ec4a36ffa0f7f83efbdf445faf~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=14579&refresh_token=1f0071f3&x-expires=1791381600&x-signature=nVSe4s0xDOAx41sZBvDTdVQuDPo%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=my2
                        playUrl: >-
                          https://v58.tiktokcdn.com/video/tos/alisg/tos-alisg-v-27dcd7/owAAUEA5p8pCfWmS4cEIBF6UJBbDZgmQnEfDw6/?a=1180&bti=ODszNWYuMDE6&&bt=125&ft=GcDrcInz7ThLfO-GXq8Zmo&mime_type=audio_mpeg&rc=andpaXg5cmhuOjMzODU8NEBpandpaXg5cmhuOjMzODU8NEBjZC8zMmRjZ2hhLS1kMS1zYSNjZC8zMmRjZ2hhLS1kMS1zcw%3D%3D&vvpl=1&l=20261005224534F520729309A358AC28C8&VExpiration=1791297970&VSignature=t_cNe2nEt3nfJ9P02kFBmA&btag=e00048000&sp_exp=hash_v0
                        streaming: []
                      hashtags: []
                      mentions: []
                      effects:
                        - id: '33910467'
                          name: The real black and white
                        - id: '2559280207'
                          name: smootnes
                        - id: '2559297390'
                          name: smootnes
                      stickerTexts:
                        - Lagos
                      location: null
                      contentCategory:
                        id: 120
                        name: General
                      anchors: []
                      warnings: []
                      playlistId: null
                      isAd: false
                      isPinned: false
                      isPrivate: false
                      isCommerce: false
                      aigcDescription: null
                      aigcLabelType: null
                      duetEnabled: true
                      stitchEnabled: true
                      shareEnabled: true
                      canRepost: true
                      commentStatus: 0
                      suggestedSearches: []
                  mediaHeaders:
                    Cookie: tt_chain_token=<session token returned by the API>
                    Referer: https://www.tiktok.com/
                  count: 30
                  cursor: '30'
                  hasMore: true
                  fetchedAt: '2026-10-05T14:45:36.742Z'
                meta:
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  creditsCharged: 1
                  creditsRemaining: 4999
                  cached: false
        '400':
          description: Invalid cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: BAD_REQUEST
                  message: The request was invalid.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '401':
          description: Missing, invalid, or revoked API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UNAUTHORIZED
                  message: API key required — pass it in the `x-api-key` header.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '402':
          description: Not enough credits for this request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: INSUFFICIENT_CREDITS
                  message: >-
                    This request costs 1 credit, but your balance is 0. Top up
                    to continue.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '404':
          description: >-
            No hashtag with that name, or TikTok doesn’t show this hashtag’s
            videos in the selected region.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: NOT_FOUND
                  message: >-
                    The requested content was not found (it may not exist, be
                    deleted, or be private).
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '422':
          description: >-
            Invalid query parameters (missing / empty / invalid hashtag, or an
            unsupported region).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: VALIDATION_ERROR
                  message: Request validation failed
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
                  details:
                    - path: url
                      message: Required
        '429':
          description: Over the per-minute rate limit — honour `Retry-After`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: RATE_LIMITED
                  message: >-
                    Rate limit exceeded — max 100 requests per 60s. Retry in
                    ~30s.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
        '503':
          description: >-
            Temporarily unavailable — retry after `Retry-After`. `error.code`
            tells you why: `UPSTREAM_BLOCKED` (the source blocked this request),
            `EXTRACTION_FAILED` (the source returned unexpected data),
            `PLATFORM_UNAVAILABLE` (the source is down), or
            `SERVICE_UNAVAILABLE` (we are at capacity).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error:
                  code: UPSTREAM_BLOCKED
                  message: >-
                    The source is temporarily unavailable. Please try again
                    shortly.
                  requestId: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              example: NOT_FOUND
            message:
              type: string
              example: The requested content was not found.
            requestId:
              type: string
              example: req_8f0c2b7e-1a2b-4c3d-9e8f-0a1b2c3d4e5f
            details:
              type: array
              items:
                type: object
              description: Present on validation errors.
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        Your API key. Send it in the `x-api-key` header (or `Authorization:
        Bearer <key>`). Create and manage keys from your dashboard.

````

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