ScrapeField

Search TikTok

Search TikTok by keyword. Returns videos by default; `type=user` returns accounts and `type=hashtag` returns hashtags. Use this for trend research and creator discovery when you do not already have a username.

4credits
GEThttps://api.scrapefield.com/v1/tiktok/search
Try itno key needed4 credits on a real call · 0 here
https://api.scrapefield.com/v1/tiktok/search?query=sourdough+starter

In your code

curl -H "Authorization: Bearer $SCRAPEFIELD_KEY" \
  "https://api.scrapefield.com/v1/tiktok/search?query=sourdough+starter"

Parameters

ParameterWhat it does
query
string · required
What to search for.
type
string
What kind of result to return.
video · user · hashtag, default video
limit
integer
How many results to return, 1–30.
1–30, default 30
cursor
string
The `meta.next_cursor` from the previous page. Omit for the first page.
fresh
boolean
Skip the cache and fetch now. Charged normally. Not available on trial credits — buy any pack to unlock it.
default false

Response

Returns an array of tiktok_video — or, with type, tiktok_profile for user and tiktok_hashtag for hashtag. This is a real response, not an abbreviated one — including the fields that come back null, because a field is null when the platform does not show it and you should know which ones those are before you build on them.

{
  "data": [
    {
      "id": "7411570153993953594",
      "share_url": "https://www.tiktok.com/@creator0/video/7411570153993953594",
      "username": "creator0",
      "video_description": "Same corner, four years apart. #baking #filmphoto #fyp",
      "create_time": "2026-08-06T15:01:27.000Z",
      "duration": 127,
      "cover_image_url": "https://cdn.example/tt/7411570153993953594.jpeg",
      "play_url": "https://cdn.example/tt/7411570153993953594.mp4",
      "view_count": 64027,
      "like_count": 4381,
      "comment_count": 15,
      "share_count": 103,
      "favorites_count": 292,
      "hashtag_names": [
        "baking",
        "filmphoto",
        "fyp"
      ],
      "region_code": "DE",
      "music": {
        "id": "7243220523121411063",
        "title": "original sound - creator0",
        "author": "creator0",
        "original": true
      },
      "duet_enabled": true,
      "stitch_enabled": true
    },
    {
      "id": "7480480158984492997",
      "share_url": "https://www.tiktok.com/@creator1/video/7480480158984492997",
      "username": "creator1",
      "video_description": "Same corner, four years apart. #sourdough #filmphoto #fyp",
      "create_time": "2026-06-06T05:08:42.000Z",
      "duration": 148,
      "cover_image_url": "https://cdn.example/tt/7480480158984492997.jpeg",
      "play_url": "https://cdn.example/tt/7480480158984492997.mp4",
      "view_count": 2729816,
      "like_count": 19143,
      "comment_count": 181,
      "share_count": 233,
      "favorites_count": 2120,
      "hashtag_names": [
        "sourdough",
        "filmphoto",
        "fyp"
      ],
      "region_code": "PT",
      "music": {
        "id": "7262448134740224488",
        "title": "original sound - creator1",
        "author": "creator1",
        "original": true
      },
      "duet_enabled": false,
      "stitch_enabled": true
    }
  ],
  "meta": {
    "request_id": "req_7f3ac1e94b2d40f8a1c6e5d2",
    "credits_charged": 4,
    "credits_remaining": 74218,
    "cached": false,
    "fetched_at": "2026-09-20T09:12:03Z",
    "next_cursor": "eyJwIjoxLCJzIjoiYTNmOSJ9"
  }
}

Fields of tiktok_video

A public TikTok video. Named after TikTok's Display and Research APIs.

FieldWhat it is
id
string
TikTok's numeric id — the number at the end of the URL.
share_url
URL
The video.
username
string
Who posted it.
video_description
string · or null
The caption.
create_time
time, ISO 8601 UTC
When it was posted.
duration
integer
Seconds.
cover_image_url
URL · or null
play_url
URL · or null
The video file on TikTok's CDN. TikTok signs it and it stops working after a while, so fetch it soon. We do not rehost videos.
view_count
integer
like_count
integer
comment_count
integer
share_count
integer
favorites_count
integer · or null
Saves. null where the page does not show them.
hashtag_names
array of strings
Without the #.
region_code
string · or null
Where it was posted from, ISO 3166-1 alpha-2.
music
object · or null
The sound.
music.id
string
music.title
string
music.author
string · or null
music.original
boolean
An original sound rather than a track.
duet_enabled
boolean
stitch_enabled
boolean

Fields of tiktok_profile

A public TikTok account. Named after TikTok's Display and Research APIs.

FieldWhat it is
username
string
Without the @.
display_name
string · or null
bio_description
string · or null
bio_url
URL · or null
The link in the bio.
avatar_url
URL · or null
profile_url
URL
The profile.
is_verified
boolean
follower_count
integer
following_count
integer
likes_count
integer
Likes across all their videos.
video_count
integer

Fields of tiktok_hashtag

A TikTok hashtag, from a search. Named after TikTok's Display and Research APIs.

FieldWhat it is
hashtag_name
string
Without the #.
url
URL
The hashtag page.
video_count
integer · or null
view_count
integer · or null

What it costs

4 credits per successful call, whether we fetch it or serve it from cache — you pay for the answer, not for how we produced it. Responses are cached for 1 hours and a cached one tells you when the data was actually fetched. A call we fail costs 0 and is refunded automatically.

On the smallest pack that is $3.12 per 1,000 calls; on the largest, $1.60. The full table.