Browser

scraping-tiktok-videos-by-hashtag

Try it

Scrapes TikTok videos for any hashtag or keyword using apidojo's TikTok scraper on Apify. Triggers when the user asks to: get all TikTok videos for a hashtag, scrape TikTok content by topic or tag, export TikTok video data for a keyword, fetch TikTok posts under a challenge or trend, collect TikTok video metrics for a hashtag, or download TikTok video metadata by tag. Returns video URL, view count, like count, comment count, share count, author handle, caption, and timestamp per video. Ideal for trend researchers, data analysts, and social media teams.

What it does

Scrapes TikTok videos for any hashtag or keyword using apidojo's TikTok scraper on Apify. Triggers when the user asks to: get all TikTok videos for a hashtag, scrape TikTok content by topic or tag, export TikTok video data for a keyword, fetch TikTok posts under a challenge or trend, collect TikTok video metrics for a hashtag, or download TikTok video metadata by tag. Returns video URL, view count, like count, comment count, share count, author handle, caption, and timestamp per video. Ideal for trend researchers, data analysts, and social media teams.

The skill document

Scraping TikTok Videos by Hashtag

Raw video dataset for any TikTok hashtag or keyword. Returns full video metadata including engagement metrics and author info.

Prerequisites

  • APIFY_TOKEN environment variable set
  • Optional: Apify MCP server installed

Inputs

ParameterTypeRequiredDefaultNotes
startUrlsarrayOptional[]TikTok URLs — user profiles, hashtags, music pages, search, locations
keywordsarrayOptional[]Search keywords/terms to find posts
sortTypestringOptionalRELEVANCESort order for keyword results: RELEVANCE, MOST_LIKED, DATE_POSTED
locationstringOptionalISO 3166-1 alpha-2 country code for regional filtering (e.g. US, GB)
maxItemsnumberOptionalUnlimitedMaximum posts to return across the run
includeSearchKeywordsbooleanOptionalfalseAdd the matched search keyword field to each post
customMapFunctionstringOptionalJavaScript function to transform each output object

Workflow

Progress:
- [ ] Step 1: Normalize hashtag list
- [ ] Step 2: Run tiktok-scraper
- [ ] Step 3: Poll for SUCCEEDED
- [ ] Step 4: Deliver video dataset

Step 2: Run the Actor

Recommended — run_actor.js (handles waiting, output, and file saving automatically):

# Quick answer (prints table to chat)
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}'

# Save as CSV
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.csv --format csv

# Save as JSON
node scripts/run_actor.js \
  --actor "apidojo~tiktok-scraper" \
  --input '{"param": "value"}' \
  --output YYYY-MM-DD_results.json --format json

APIFY_TOKEN must be set in environment or .env file.

If Apify MCP is available:

Tool: apify:run-actor
Actor: "apidojo~tiktok-scraper"
Input:
{
  "keywords": ["tag1", "tag2"],
  "maxItems": 100
}

REST API fallback:

curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tiktok-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["tag1", "tag2"], "maxItems": 100}'

Save id as RUN_ID. Poll until status = SUCCEEDED:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID?token=$APIFY_TOKEN" | grep '"status"'

Fetch results:

curl "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN&format=json"

Step 3: Handle Edge Cases

  • 0 results for hashtag: Hashtag may be banned on TikTok or spelled incorrectly. Try alternate spelling.
  • < 20 results: Hashtag may be very niche — inform user, return what is available.
  • Duplicate video IDs across hashtags: Deduplicate by videoId field.

Output Format

# TikTok Video Dataset: #
Videos collected: N | Hashtags queried: N

| Video ID | Author | Caption (truncated) | Views | Likes | Comments | Shares | Posted |
|----------|--------|---------------------|-------|-------|----------|--------|--------|
| ...      | ...    | ...                 | ...   | ...   | ...      | ...    | ...    |

Available fields: videoId, authorUsername, desc, playCount, diggCount, commentCount,
shareCount, createTime, videoUrl, musicTitle, hashtags, isAd

Troubleshooting

Banned hashtag returns 0: Some hashtags are restricted by TikTok — try parent category tag. Slow run: TikTok rate-limits heavily; maxItems: 200 is a safe cap per run.

Related skills

Extracts TikTok posts tagged at a specific location using apidojo's TikTok Location Scraper on Apify. Triggers when the user asks to: get TikTok videos from a specific location, scrape TikTok posts tagged at a place, find TikTok content from a city or venue, collect TikTok videos geotagged at a location URL, export TikTok location-tagged content, or pull TikTok posts from a place page. Returns video title, views, likes, comments, shares, channel info, hashtags, and timestamp per post. Ideal for local marketing teams, event researchers, and geo-targeting analysts.

1 installs

Scrapes detailed TikTok user data and recent video history using apidojo's TikTok User scraper on Apify. Triggers when the user asks to: get all videos from a TikTok account, fetch a TikTok creator's recent posts and stats, export a TikTok user's video history, scrape all TikTok content from a specific creator, get TikTok post data by username, or collect video-level metrics from a TikTok profile. Returns per-video view count, likes, comments, shares, captions, and timestamps for a given account. Ideal for creator analysis, content auditing, and competitive benchmarking.

1 installs

Extracts TikTok posts using a specific audio track or sound using apidojo's TikTok Music Scraper on Apify. Triggers when the user asks to: get all TikTok videos using a specific sound, find TikTok posts using an audio clip, scrape TikTok videos using a trending music track, export TikTok posts made with a song, find creators using a specific sound, or collect TikTok content associated with a music URL. Returns video caption, views, likes, comments, channel info, song metadata, and hashtags per post. Ideal for music marketers, trend analysts, and viral sound trackers.

1 installs

Scrapes comments from any TikTok video using apidojo's TikTok Comments scraper on Apify. Triggers when the user asks to: get all comments on a TikTok video, export TikTok comment data, scrape what viewers are saying on a TikTok post, fetch comment text and likes from a TikTok URL, collect TikTok comment threads for analysis, or download comments from a viral TikTok video. Returns commenter username, comment text, like count, reply count, and timestamp per comment. Ideal for sentiment analysts, brand monitors, and content researchers.

1 installs

Analyzes TikTok hashtag performance, reach, and trending content using apidojo's TikTok scraper on Apify. Triggers when the user asks to: analyze a TikTok hashtag, find trending hashtags on TikTok in a niche, see which hashtags perform best for a content type, compare hashtag reach and total view counts on TikTok, identify viral content under a hashtag, research TikTok hashtag strategy for a campaign, find which hashtags a competitor uses most, or determine the best hashtags to use for a TikTok post. Returns hashtag name, total views, top video stats, top creators, and engagement benchmarks. Ideal for social media managers, content strategists, and TikTok growth consultants.

1 installs

Researches TikTok profiles, videos, hashtags, search, trending content, and Creative Center ads intelligence via the Crawlora API, returning clean JSON. Use when the user wants a TikTok creator's profile/videos, hashtag or keyword search, trending hashtags/videos, or competitor ad analysis from TikTok Top Ads — instead of scraping TikTok or the Creative Center directly.

1 installs