TikTok Scraper API: Videos, Profiles, Hashtags & Search avatar

TikTok Scraper API: Videos, Profiles, Hashtags & Search

Pricing

from $1.70 / 1,000 videos

Go to Apify Store
TikTok Scraper API: Videos, Profiles, Hashtags & Search

TikTok Scraper API: Videos, Profiles, Hashtags & Search

TikTok scraper API for profiles, keyword and hashtag searches and video links: exact views, likes, comments, shares and saves, author followers, music, hashtags, caption links and post date. Profile details mode for influencer lists. $2 per 1,000 videos.

Pricing

from $1.70 / 1,000 videos

Rating

0.0

(0)

Developer

Saulius AutomatesIT

Saulius AutomatesIT

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 hours ago

Last modified

Share

Scrape TikTok like an API. Give it profiles (nasa, @espn, profile links), search queries and hashtags (dentist tips, #booktok) or video links, and get one row per video with exact views, likes, comments, shares and saves, the caption, hashtags, mentions, post date, author and follower count, sound, duration, cover and caption (subtitle) links. Switch on profile details to get one row per profile instead: followers, following, total likes, video count, bio, bio link and verified badge, for influencer lists.

No TikTok account, no login, no cookies to paste.

Price

WhatPrice
Video or photo post (every field below)$2 per 1,000 videos
Profile row (profile details mode)$2 per 1,000 profiles
Actor start$0.00005

Videos skipped by the date filter are free, and so are error rows (deleted video, private profile, no results). Hashtags, music, author stats and caption links are included at no extra charge. Store discounts apply on higher Apify plans.

What you get

  • Counts, exact: views (playCount), likes (diggCount), comments, shares, saves (collectCount) and reposts. TikTok shows rounded numbers (1.6M); this Actor returns the exact figure when TikTok has it.
  • Post: caption text and language, post date, video link, hashtags, mentions, ad and AI generated labels, photo post (slideshow) flag and image count, location tag.
  • Author: username, display name, verified, private, bio, avatar, followers, following, total likes, video count.
  • Sound: name, artist, album, original sound flag, audio link.
  • Video: duration, width, height, definition, cover image, play link, and links to TikTok's caption files (videoMeta.subtitleLinks, auto captions included) for transcripts.
  • Input: which profile, search or link produced the row.

Field names follow the most used TikTok scraper on the Store (authorMeta, musicMeta, videoMeta, diggCount, webVideoUrl), so existing pipelines switch without remapping.

Input example

{
"profiles": ["nasa", "https://www.tiktok.com/@espn"],
"resultsPerProfile": 100,
"searchQueries": ["dentist tips", "#booktok"],
"resultsPerSearch": 50,
"videoUrls": ["https://www.tiktok.com/@nasa/video/7665075736742530317"],
"newerThan": "30 days"
}
  • profiles: usernames or links. Videos come newest first, pinned videos first.
  • searchQueries: keywords or #hashtags, in TikTok search order. resultsPerSearch is at least 10.
  • videoUrls: full links, vm.tiktok.com short links or bare video IDs. Good for tracking the counts of campaign posts every day.
  • profileDetailsOnly: one row per profile instead of its videos.
  • newerThan: a date (2026-09-01) or a period (7 days, 4 weeks, 3 months).
  • maxItems: stop after this many charged rows in total.

Output example

{
"type": "video",
"id": "7694283957839400206",
"webVideoUrl": "https://www.tiktok.com/@nasa/video/7694283957839400206",
"text": "A LOT of Artemis II data just dropped! 814GB of observations. 996 new images. 521min of never-before-released crew audio.",
"createTimeISO": "2026-10-08T13:12:22.000Z",
"playCount": 118100,
"diggCount": 20300,
"commentCount": 266,
"shareCount": 735,
"collectCount": 1585,
"hashtags": [],
"authorMeta": { "name": "nasa", "nickName": "NASA", "verified": true, "fans": 2000000, "heart": 10600000, "video": 54 },
"musicMeta": { "musicName": "original sound - NASA", "musicAuthor": "NASA", "musicOriginal": false },
"videoMeta": { "duration": 89, "width": 576, "height": 1024, "coverUrl": "https://p16-common-sign.tiktokcdn-us.com/...", "subtitleLinks": [{ "language": "eng-US", "source": "MT", "format": "webvtt", "url": "https://v16m-webapp.tiktokcdn-us.com/..." }] },
"input": "nasa",
"inputType": "profile"
}

Use it as an API

Run it from any language with the Apify API or client, or call it from an AI agent through Apify's MCP server (https://mcp.apify.com/?tools=sauliusautomatesit/tiktok-scraper-api).

curl -X POST "https://api.apify.com/v2/acts/sauliusautomatesit~tiktok-scraper-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "content-type: application/json" \
-d '{"searchQueries":["#booktok"],"resultsPerSearch":100}'

Who uses it

  • Influencer marketing: creator lists with followers, likes and average views, and every post of a campaign.
  • Brands and agencies: track hashtags, competitors and campaign videos daily with exact counts.
  • Trend and social listening: what is posted for a keyword or hashtag, by date, with sounds and captions.
  • Research and AI: captions, transcripts links and engagement for datasets and agents.

Good to know

  • Only public data that any visitor sees is collected. Private profiles return a free PROFILE_PRIVATE row.
  • TikTok search returns what TikTok ranks for the query, not every video ever posted with that hashtag.
  • Profiles and video links are fast. Searches run a small browser to sign TikTok's requests; very large search jobs run faster with 1 GB of memory.
  • Play and download links from TikTok expire after some hours; download media soon after the run if you need it.
  • Run summary (rows per profile and search, failures) is saved as OUTPUT in the run's key-value store.