scraping-tiktok-posts-by-music — Claude Code skill
Pulls TikTok posts built on one sound or track and returns their stats, creators and song metadata. Useful when you need to see who is using a piece of music.
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a claude-codeWhat scraping-tiktok-posts-by-music does
The skill runs the apidojo/tiktok-music-scraper actor on Apify. Each post comes back with caption, views, likes, comments, shares, hashtags, channel details and song metadata such as id, title, artist and duration. You pass TikTok music page URLs in startUrls; maxItems caps the run. An optional customMapFunction lets you transform every output object with JavaScript.
Runs go through scripts/run_actor.js. Output lands in the console as a table, or in CSV and JSON via the --output and --format flags. There is a fallback: POST to https://api.apify.com/v2/acts/apidojo~tiktok-music-scraper/runs with your token in the Authorization header. With Apify MCP configured, the same actor can be called through the call_actor tool.
No Apify token means nothing runs — the REST path expects APIFY_TOKEN, and the MCP path expects a working Apify MCP setup. You also have to supply the sound URL yourself; a track name will not do. Trending sounds can return thousands of posts, so set maxItems before you start. A removed sound yields an empty dataset, and copyrighted audio can come back thinner in some regions.
What it helps with
- collect every TikTok video using one sound
- export posts with a given track to CSV
- find creators who posted under the same audio
- count views and likes for posts tied to a music URL
- grab song metadata alongside post hashtags
Example prompts for the agent
- Scrape TikTok posts for this sound:
https://www.tiktok.com/music/Song-Title-123456, cap at 100 - Export videos using this track to
results.csv - Find the creators behind this sound and show their views and likes
How to install scraping-tiktok-posts-by-music
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a claude-code2Manually: put the files in place
~/.claude/skills/scraping-tiktok-posts-by-music/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/scraping-tiktok-posts-by-music/
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a codex2Manually: put the files in place
.agents/skills/scraping-tiktok-posts-by-music/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a cursor2Manually: put the files in place
.cursor/skills/scraping-tiktok-posts-by-music/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install apidojo-io/apidojo-skills scraping-tiktok-posts-by-music2Manually: put the files in place
.github/skills/scraping-tiktok-posts-by-music/SKILL.md1Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a gemini-cli2Platform CLI
gemini skills install https://github.com/apidojo-io/apidojo-skills --path skills/primitives/scraping-tiktok-posts-by-musicManually: put the files in place
.devin/skills/scraping-tiktok-posts-by-music/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about scraping-tiktok-posts-by-music
How do I install scraping-tiktok-posts-by-music in Claude Code?
Run npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-music -a claude-code. The skill then sits at ~/.claude/skills/scraping-tiktok-posts-by-music/SKILL.md.
What does scraping-tiktok-posts-by-music do?
It calls the apidojo/tiktok-music-scraper actor on Apify with TikTok music page URLs and returns caption, views, likes, comments, hashtags, channel info and song metadata for each post.
What do I need before running it?
A TikTok sound page URL and an Apify token: the REST route needs APIFY_TOKEN, and the MCP route needs Apify MCP set up. Without the sound URL the run will not start.
Source text
SKILL.md · Apache-2.0
---
name: scraping-tiktok-posts-by-music
description: >
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.
license: Apache-2.0
metadata:
author: apidojo
version: "1.0"
apify-actor: apidojo/tiktok-music-scraper
---
# 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)
```bash
# 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 json
```
### REST API fallback
```bash
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.
© apidojo · Apache-2.0 · apidojo-io/apidojo-skills