logo
EN

TikTok Profile and Video Scraper

Collect public TikTok profile details and recent video metadata, including captions, hashtags, media links, and engagement counts.

Developer
YiJacobJohnRaku
Pricing
$0.001 / record
Last updated
2026-09-10

Overview

TikTok Profile and Video Scraper turns known public profile URLs into structured records that combine account context with recent video details. Each record keeps the profile handle, display name, biography, public profile links and counts alongside the video's caption, hashtags, publication time, media links, music attribution, duration, and visible engagement counts.

This dataset helps teams compare creators and content without manually copying details from separate profile and video pages. Keeping account attributes and video-level signals in the same row makes it easier to review a creator's public positioning, study recurring content themes, and compare how visible videos performed when the data was collected.

Data notes

Records come from publicly accessible TikTok profiles and their visible videos. Each record represents one video and repeats the associated profile context so it can be analyzed independently. “Video ID” is used to identify records across retrieved result pages. Follower, following, like, comment, view, and bookmark counts are source-reported snapshots and can change after collection; they are preserved as text rather than recalculated values. “Post time” is kept in the source-reported date-time form, and the source does not state a timezone. Hashtags are preserved as source text. Cover, download, music, profile-image, and profile-website links may be empty or may stop working later. Private, deleted, restricted, login-only, and otherwise inaccessible profiles or videos are not covered.

What the results look like

Each record is one public TikTok video with its profile context:

Account handleDisplay nameVideo captionPost timeLike countView count
mymedicalclinicMYメディカルクリニック理想を予想していってしまうと気持ちが…#看護師の日常 #看護師あるある #看護師 #看護学生 #新人看護師2026-09-08 10:30:00601268
mymedicalclinicMYメディカルクリニック圧がすごい…😢#看護師の日常 #看護師あるある #看護師 #看護学生 #新人看護師2025-08-21 10:30:00471212

The output also includes “Profile URL,” “Profile bio,” “Profile website,” “Profile image URL,” “Follower count,” “Following count,” “Hashtags,” “Comment count,” “Bookmark count,” “Verified indicator,” “Private indicator,” “Cover image URL,” “Video duration,” “Download URL,” “Video ID,” “Video URL,” “Music name,” “Music author,” and “Music URL.”

Use cases

  • For creator comparisons, group records by “Account handle” and compare “Follower count” with “Like count,” “Comment count,” and “View count” to understand visible audience size and per-video interaction together.
  • For content-theme research, review “Video caption” and “Hashtags” across profiles to identify recurring topics, phrases, and campaign themes.
  • For publishing-pattern analysis, compare “Post time” and “Video duration” to see when and in what formats each collected profile publishes.
  • For media and source review, use “Video URL,” “Cover image URL,” “Download URL,” and “Music URL” to connect structured records back to the reported public assets.

Scope and boundaries

Each run accepts 1 to 10,000 public TikTok profile URLs and can request up to 100,000 videos per profile; retrieval is capped at 10,000 returned records per run.

  • Good for
  • Use it when you need structured public profile and recent-video records for one or more known TikTok accounts.
  • Use it for creator research, content audits, competitor monitoring, or engagement comparisons across public profiles.
  • Do not use for
  • Do not use it to discover accounts by keyword because it starts from known profile URLs.
  • Do not use it for private, deleted, restricted, login-only, or complete historical content because only publicly accessible records are covered.

Failure handling

Failure and retry behavior declared by the developer. We recommend including it in your system prompt when integrating.

  1. 1If a run stops before completion, retry the same small profile list once; if it stops again, use fewer profile URLs or request fewer videos.
  2. 2An empty result can mean the profile URL is invalid, the profile or videos are not publicly accessible, or access was temporarily limited; verify the URL and retry later.

Input

Parameters required to call this App, generated from the input.schema in manifest.json.

  • TikTok profile URLsprofile_urlsRequiredarray<string>
    Public TikTok profile URLs to collect, with one URL per item. Enter 1 to 10,000 profile URLs per run.
    Itemsup to 10000 itemsExample["https://www.tiktok.com/@mymedicalclinic"]
  • Videos per profilevideos_per_profileOptionalinteger
    Maximum number of recent videos to request for each profile, from 1 to 100,000. When omitted, the collector decides the limit; set it explicitly when a predictable depth is important.
    Range1–100000

Output

Field structure of a single record, generated from the output.schema in manifest.json.

  • Account handleauthorstring
    TikTok handle associated with the collected profile and video.
    Examplemymedicalclinic
  • Profile bioauthor_biostring
    Biography text publicly displayed on the profile at collection time.
    Example渋谷/大手町/横浜みなとみらい/田町三田/新宿/東京駅八重洲にて開院中🩺 医療職や事務職の採用強化中🔥 詳細は下記URLをクリック👇
  • Profile image URLauthor_iconurlstring
    Profile-image address reported for the account.
    Examplehttps://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/4af6e93b846016891ba01c98478ee937~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=1b92ae83&x-expires=1789099200&x-signature=02jgWi0zRMweFi%2BcVW3IHSZ2SH4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8
  • Display nameauthor_subtitlestring
    Public display name shown for the TikTok account.
    ExampleMYメディカルクリニック

Sample data

Generated from output.schema. Fields without a sample value use structural placeholders.

output.example
{
  "author": "mymedicalclinic",
  "author_bio": "渋谷/大手町/横浜みなとみらい/田町三田/新宿/東京駅八重洲にて開院中🩺\n医療職や事務職の採用強化中🔥\n詳細は下記URLをクリック👇",
  "author_iconurl": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/4af6e93b846016891ba01c98478ee937~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=1b92ae83&x-expires=1789099200&x-signature=02jgWi0zRMweFi%2BcVW3IHSZ2SH4%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8",
  "author_subtitle": "MYメディカルクリニック",
  "author_webpage": "",
  "bookmark_num": "",
  "comment_num": "3",
  "covers_url": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/o4IBbi1GdAgnAAB1IPy8DqBwisviiT7ZOieAKr~tplv-tiktokx-origin.image?dr=9636&x-expires=1789099200&x-signature=GWvPGwY4LxrAkINvG31pSnSs5aI%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
  "description": "理想を予想していってしまうと気持ちが…#看護師の日常 #看護師あるある #看護師 #看護学生 #新人看護師",
  "followers": "21600",
  "following": "2484",
  "hashtag": "[\"#看護師の日常\", \"#看護師あるある\", \"#看護師\", \"#看護学生\", \"#新人看護師\"]",
  "is_private": "False",
  "is_verified": "False",
  "like_num": "60",
  "music_author": "MYメディカルクリニック",
  "music_name": "オリジナル楽曲 - MYメディカルクリニック",
  "music_url": "",
  "original_url": "https://www.tiktok.com/@mymedicalclinic",
  "post_date": "2026-09-08 10:30:00",
  "video_download": "https://v19-webapp-prime.us.tiktok.com/video/tos/alisg/tos-alisg-pve-0037/ogBApZIwqiAiiidpCZKn7TPiYeBbAABEOQB1Gg/?a=1988&bti=ODszNWYuMDE6&&bt=531&ft=4KJMyMzm8Zmo0_sT-a4jVMmCQpWrKsd.&mime_type=video_mp4&rc=Nmk8ZGQ7PDc1OTc2NGhkN0BpMzozO3U5cnN1ZDMzODgzNEAxX182NTRhNjQxYzAtMTUtYSNlcWQwMmQ0cGFhLS1kLzFzcw%3D%3D&expire=1789099537&l=2026090904051585267220257DD016719E&ply_type=2&policy=2&signature=2453a31c82653533b24fb2da32450ccd&tk=tt_chain_token&btag=e000b8000",
  "video_duration": "21",
  "video_id": "7681943242379775240",
  "video_url": "https://www.tiktok.com/@mymedicalclinic/video/7681943242379775240",
  "views_num": "1268"
}

Integration

This App can be integrated via MCP, API, SDK, or file export. All channels share the same capabilities and pricing. Every request authenticates with the Authorization: Bearer header using an API key (long-lived, created in the Data Hub Console); MCP clients can also sign in with OAuth, no key required. More options such as CLI and Skill are on the way. This App runs asynchronously and can be canceled midway: After you cancel, the run stops. Records already delivered are kept and billed.

With the MCP (Model Context Protocol), you can call this App directly from AI clients like Claude and Cursor. Pick your client and auth mode, then copy the config below.

Client config

Replace the value after Bearer with your long-lived API key. Works in any client, CI, or headless environment.

mcpServers config
{
  "mcpServers": {
    "octoparse_datahub": {
      "type": "http",
      "url": "https://mcp-v2.octoparse.com?pin=YiJacobJohnRaku/tiktok-profile-scraper",
      "headers": { "Authorization": "Bearer <YOUR_API_KEY>" }
    }
  }
}

Let AI set it up for you

Don't want to edit configs by hand? Copy the install prompt and paste it into any AI client. It will complete the setup its own way. (The prompt asks the AI to request your API key from you, so credentials never end up in chat history or shared configs.)

detail.access.mcp.composeHint

Pricing

returned profile video record

Charged by the number of records successfully returned. Failed runs are not charged.

$0.001/ record

Multiple billing events accumulate independently. See each item for details. Failed runs are not charged.

View credits

Try it now

Fill in the parameters and run. Results come from a real call.

Example
Parameters are validated against input.schema before submission
$0.001 / record