TikTok Video Scraper

Extract public TikTok video metadata, author details, engagement statistics, hashtags, and music from video URLs.

Data fields

FieldTypeDescription
videoIdtextVideo ID exported in the dataset view.
authorUsernametextAuthor exported in the dataset view.
descriptiontextDescription exported in the dataset view.
createTimedateCreated exported in the dataset view.
durationSecondsnumberDuration exported in the dataset view.
diggCountnumberLikes exported in the dataset view.
commentCountnumberComments exported in the dataset view.
shareCountnumberShares exported in the dataset view.

Input preview

videoUrlsVideo URLs *
maxItemsMaximum videos
proxyConfigurationProxy configuration

API and agents

This actor can be run through Apify API, datasets, webhooks, schedules, and the official Apify MCP server.

Ready-to-run examples

Open a saved Apify example, adjust the input, and run the actor in your own Apify account.

View all examples

How this actor works

See example inputs, outputs, API usage, and practical limits before running this actor on Apify.

Open Apify page

Export public TikTok video metadata, captions, author details, engagement statistics, hashtags, music fields, covers, and canonical video URLs.

Use this Actor to turn TikTok video URLs into a clean dataset for campaign reporting, creator monitoring, competitor research, content analysis, and API workflows. Results can be downloaded as CSV, JSON, Excel, XML, RSS, or used through the Apify Dataset API.

At a glance

  • Video URL input: Paste one or many public TikTok video URLs and save one result row per submitted video.
  • Metadata export: Collect video IDs, captions, authors, publish times, durations, hashtags, music, covers, and canonical URLs.
  • Engagement metrics: Export public like, comment, share, play, and collect counts when available.
  • Unavailable status rows: Handle deleted, private, blocked, or unavailable videos with clear availability fields.
  • API export: Send video metadata to spreadsheets, reports, dashboards, monitoring jobs, or AI agents.

What can it do?

TikTok Video Scraper extracts public metadata from TikTok video pages and saves one dataset row per video URL.

  • Normalize video links: Process full public TikTok video URLs and return canonical video URLs.
  • Collect public metadata: Save captions, author fields, music, hashtags, covers, publish time, and duration.
  • Track engagement: Capture public play, like, comment, share, collect, and related counts when TikTok exposes them.
  • Flag unavailable videos: Return status fields for videos that cannot be fetched.
  • Export repeatable datasets: Use Apify downloads, API calls, schedules, webhooks, and integrations.

Common workflows

  • Campaign reporting: Export public engagement metrics for sponsored or branded TikTok videos.
  • Creator monitoring: Track selected creator posts and compare captions, music, hashtags, and metrics.
  • Competitor research: Save competitor video metadata for recurring content analysis.
  • Content analysis: Study captions, hashtag choices, music usage, duration, and public performance signals.
  • Data enrichment: Add TikTok video context to an existing list of URLs.
  • API workflows: Use the Actor as a TikTok video metadata API alternative for public video URLs.

What data can you extract?

The Actor returns one dataset row per public TikTok video URL.

Field Description
videoUrl Submitted or normalized TikTok video URL
videoId TikTok video ID
authorUsername Creator handle
authorDisplayName Creator display name
description Video caption
createTime Publish time in ISO format
durationSeconds Video duration
musicTitle Music or sound title
musicAuthor Music or sound author
hashtags Hashtags used in the caption
diggCount Like count
commentCount Comment count
shareCount Share count
playCount View or play count
collectCount Save or favorite count
coverUrl Cover image URL
canonicalUrl Normalized TikTok video URL
isAvailable Whether public metadata was available
fetchedAt Timestamp when the video was fetched

Example input

{
  "videoUrls": [
    "https://www.tiktok.com/@scout2015/video/6718335390845095173"
  ],
  "maxItems": 10
}

Example output

{
  "videoUrl": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
  "videoId": "7623088450576633119",
  "authorUsername": "khaby.lame",
  "authorDisplayName": "Khabane lame",
  "description": "Not a good morning #learnfromkhaby #comedy",
  "createTime": "2026-04-30T12:37:04.000Z",
  "durationSeconds": 16,
  "musicTitle": "original sound",
  "musicAuthor": "Khabane lame",
  "hashtags": ["learnfromkhaby", "comedy"],
  "diggCount": 12345,
  "commentCount": 123,
  "shareCount": 45,
  "playCount": 67890,
  "collectCount": 100,
  "coverUrl": "https://...",
  "canonicalUrl": "https://www.tiktok.com/@scout2015/video/6718335390845095173",
  "isAvailable": true,
  "fetchedAt": "2026-06-27T00:00:00.000Z"
}

How to run it

  1. Open the Actor on Apify.
  2. Paste one or more public TikTok video URLs.
  3. Set maxItems if you want to process only part of the list.
  4. Choose proxy settings if needed.
  5. Start the run and export the dataset.

Search tips

  • Use full video URLs: Prefer https://www.tiktok.com/@username/video/VIDEO_ID links.
  • Test a few links first: Confirm output quality before running a large campaign list.
  • Remove duplicates: Deduplicate URLs before starting if you do not need repeated rows.
  • Expect availability gaps: Private, deleted, blocked, or restricted videos may return unavailable status rows.
  • Use proxy only when needed: Start simple; enable Apify Proxy if TikTok blocks public access.

Limits and caveats

  • The Actor extracts publicly visible TikTok video metadata only.
  • It does not download video files, scrape full comments, access private videos, or log in.
  • Public counts may differ from the TikTok app due to caching, localization, or delayed updates.
  • Short links and redirected links may not always expose the same public metadata as canonical video URLs.

Integrations

You can connect TikTok video metadata to downstream tools:

  • Export CSV or Excel to spreadsheets for campaign reports.
  • Send engagement rows to dashboards and BI tools.
  • Enrich creator or campaign databases with video metadata.
  • Trigger webhooks after scheduled monitoring runs.
  • Combine video outputs with TikTok profile, hashtag, trends, and ads data.

API usage

Node.js

import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('fetch_cat/tiktok-video-scraper').call({
  videoUrls: ['https://www.tiktok.com/@scout2015/video/6718335390845095173'],
  maxItems: 1
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
import os

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('fetch_cat/tiktok-video-scraper').call(run_input={
    'videoUrls': ['https://www.tiktok.com/@scout2015/video/6718335390845095173'],
    'maxItems': 1,
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~tiktok-video-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"videoUrls":["https://www.tiktok.com/@scout2015/video/6718335390845095173"],"maxItems":1}'

MCP and AI agents

This Actor can be used through the official Apify MCP server at https://mcp.apify.com.

For a focused single-Actor tool setup, use:

https://mcp.apify.com?tools=fetch_cat/tiktok-video-scraper

Use the same JSON keys shown in the input configuration table, such as videoUrls, maxItems, and proxyConfiguration.

Support

If a run fails, returns no data, or a field looks wrong, open an issue from the Actor page.

Please include the Apify run ID or run URL, input JSON, one example public URL, query, or input item, what you expected, and what the dataset returned. Small reproducible inputs make parsing or site-layout issues much faster to fix.

Common questions

Questions and answers reused from the canonical actor README.

Can I scrape multiple TikTok videos at once?

Yes. Add multiple URLs to videoUrls and set maxItems to the number you want to process.

Does it download video files?

No. It exports public metadata, URLs, covers, and metrics. It does not download video files.

Does it scrape comments?

No. It exports public video metadata and count fields, not full comment text.

Can I schedule it?

Yes. Use Apify schedules for recurring checks of the same video URL list.