Contenido del repositorio de origen con títulos, ejemplos, código, tablas, enlaces e imágenes preservados.
Scraping Tiktok Posts By Music
Raw data collection. No assumed use case — returns the full dataset for downstream analysis.
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | ✅ | [] | TikTok music/sound page URLs |
maxItems | number | Optional | Unlimited | Maximum posts to return |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
How to Run
Using run_actor.js (recommended)
# Quick answer (table)
node scripts/run_actor.js --actor "apidojo~tiktok-music-scraper" --input '{"startUrls": ["https://www.tiktok.com/music/Song-Title-123456"], "maxItems": 100}'
# Save as CSV
node scripts/run_actor.js --actor "apidojo~tiktok-music-scraper" --input '{"startUrls": ["https://www.tiktok.com/music/Song-Title-123456"], "maxItems": 100}' --output results.csv --format csv
# Save as JSON
node scripts/run_actor.js --actor "apidojo~tiktok-music-scraper" --input '{"startUrls": ["https://www.tiktok.com/music/Song-Title-123456"], "maxItems": 100}' --output results.json --format jsonREST API fallback
curl -X POST "https://api.apify.com/v2/acts/apidojo~tiktok-music-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://www.tiktok.com/music/Song-Title-123456"], "maxItems": 100}'If Apify MCP is available: Use the Apify MCP call_actor tool with actor apidojo~tiktok-music-scraper and the input above.
Output Fields
| Field | Type | Description |
|---|---|---|
id | string | TikTok post ID |
title | string | Post caption/text |
views | number | View count |
likes | number | Like count |
comments | number | Comment count |
shares | number | Share count |
hashtags | array | Hashtags used in post |
channel.name | string | Creator display name |
channel.username | string | Creator @username |
channel.verified | boolean | Verification status |
uploadedAt | number | Upload timestamp (Unix) |
video.url | string | Video file URL |
video.duration | number | Duration in seconds |
song.id | string | Sound/music ID |
song.title | string | Sound title |
song.artist | string | Sound artist |
song.duration | number | Sound duration |
Edge Cases
- No music URL: Requires TikTok sound page URL. Tell user to find the sound on TikTok and copy the URL.
- Copyrighted sound: May have fewer results in some regions.
- Trending sound: May return thousands of posts — use maxItems to cap.
- Sound removed: Returns empty dataset.

