TikTok Video Scraper Goat avatar

TikTok Video Scraper Goat

Pricing

Pay per usage

Go to Apify Store
TikTok Video Scraper Goat

TikTok Video Scraper Goat

Scrape TikTok videos in bulk from profile handles or direct video URLs. Returns video ID, author, caption, hashtags, music, full metrics (plays, likes, comments, shares, saves), no-watermark video URL, cover image, duration, and post date.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Goutam Soni

Goutam Soni

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

TikTok Video Scraper Goat - Export TikTok Videos, Metrics, Music & No-Watermark URLs

Scrape TikTok videos in bulk from any public profile or from direct video links. Pull captions, hashtags, music, full engagement metrics (plays, likes, comments, shares, saves), no-watermark video URLs, cover images, duration, and post dates. No TikTok login, no cookies, no API key.

What this TikTok scraper does

Pass a mix of profile handles and video URLs in one run. The actor detects each input automatically:

  • Profile handles or profile URLs - fetches that user's recent videos, paginating automatically until it reaches your maxVideosPerUser cap or the profile runs out.
  • Direct video URLs - fetches one detailed row for each link.

Every video comes back as a clean, ordered JSON row with no-watermark video URLs, cover images, music, hashtags, and the complete metric set.

Perfect for content research, trend tracking, creator vetting, and competitor analysis on TikTok.

Why use this TikTok Video Scraper

  • No login, no cookies, no API key - works on every public TikTok profile and video.
  • Two input modes in one run - mix profile handles and direct video links freely.
  • Automatic pagination - request 60, 200, or thousands of videos per profile and the cursor loop fetches them all.
  • No-watermark media URLs - clean video links plus the original cover image.
  • Full metric set - plays, likes, comments, shares, and saves on every row.
  • Hashtags and music - parsed hashtags, plus music title and author per video.
  • Per-video billing - you pay only for videos actually returned, never for an empty profile.

What data you get per video

{
"videoId": "0000000000000000000",
"authorHandle": "example_user",
"authorNickname": "Example User",
"authorId": "000000",
"description": "having fun in the studio today #music #behindthescenes",
"hashtags": ["music", "behindthescenes"],
"region": "US",
"isAd": false,
"musicTitle": "original sound - example_user",
"musicAuthor": "Example User",
"musicIsOriginal": true,
"playCount": 1532000,
"likeCount": 210400,
"commentCount": 3120,
"shareCount": 8800,
"saveCount": 14200,
"downloadCount": 410,
"videoUrl": "https://...",
"coverUrl": "https://...",
"musicUrl": "https://...",
"duration": 33,
"createTime": "2024-04-25T08:15:18+00:00",
"createTimestamp": 1714032918,
"webUrl": "https://www.tiktok.com/@example_user/video/0000000000000000000"
}

How to use the TikTok Video Scraper

  1. Click Try for free on the actor page.
  2. Add profile handles and/or video URLs to the inputs field (handles, @handles, profile URLs, or full video URLs - all accepted, auto-deduped).
  3. Set maxVideosPerUser to control how many videos to pull per profile (direct video URLs ignore this and return one row each).
  4. Tune concurrency (default 4) and delayBetweenRequests (default 1s).
  5. Click Save & start. Download JSON / CSV / Excel / XML / HTML.

Input parameters

FieldTypeDefaultDescription
inputsstring[]-Profile handles, profile URLs, or direct video URLs (mix freely, auto-deduped)
maxVideosPerUserinteger30Max videos to fetch per profile handle (ignored for direct video URLs)
concurrencyinteger4Inputs processed in parallel
delayBetweenRequestsnumber1.0Seconds between paginated requests inside one profile pipeline
proxyConfigurationobjectdirectOptional Apify proxy settings

Top use cases

  • Content research - pull a creator's recent videos with full metrics to study what performs.
  • Trend tracking - monitor hashtags and play counts across many profiles over time.
  • Creator vetting - check posting cadence and engagement before a partnership.
  • Competitor analysis - snapshot rival brand accounts and benchmark their video metrics.
  • Media archiving - capture no-watermark video URLs and cover images for your library.

Integrations

Apify API

$curl "https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=json"

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("goat255/tiktok-video-scraper").call(run_input={
"inputs": ["example_user", "https://www.tiktok.com/@example_user/video/0000000000000000000"],
"maxVideosPerUser": 60,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"@{item['authorHandle']}: {item['playCount']} plays, {item['likeCount']} likes")

No-code integrations

Send results directly to Google Sheets, Slack, Zapier, Make, Amazon S3, or your own webhook via Apify Integrations.

Pricing

Pay-per-event. One charge per video returned. You are never billed for an empty profile or a failed lookup.

EventPrice (tiered by Apify plan)
Video scraped (primary)per video returned

Apify's platform free credit applies on first use.

FAQ

Do I need a TikTok account or API key?

No. The scraper works on every public TikTok profile and video without auth.

Can I scrape a whole profile?

Yes. Pass a handle and set maxVideosPerUser. The actor paginates automatically until it hits your cap or the profile runs out of videos.

Can I scrape a single video?

Yes. Pass the direct video URL and you get one detailed row for it.

Can it scrape private accounts?

No. Only public profiles and videos are accessible.

What metrics are included?

Plays, likes, comments, shares, saves, and downloads, plus duration and post date on every row.

How do I download the media files?

The actor returns videoUrl and coverUrl for every video. Pipe those URLs to your own downloader, S3, or webhook.

Support

Open an issue on the actor page if something breaks or a field is missing. Reviews are read and replied to.

Part of the scraper suite by goat255: