S
scraping-tiktok-posts-by-location
About scraping-tiktok-posts-by-location
A raw-data collection skill that scrapes TikTok posts from location or place URLs. It is intended for downstream analysis and returns post details and engagement metrics, without assuming a particular use case.
Key features
- 01Scrape posts from location URLs
- 02Set a maximum post count
- 03Return captions and engagement metrics
- 04Include creator and video details
- 05Save results as CSV or JSON
Use cases
- 01Collect TikTok posts tagged to a place
- 02Compare engagement across locations
- 03Prepare location-based post data for analysis
MCP support
Can run the Apify tiktok-location-scraper with the Apify MCP call_actor tool.
Install
Copy the command and run it in a terminal.
$
npx skills add https:/ / github.com/ apidojo-io/ apidojo-skills --skill scraping-tiktok-posts-by-locationAfter installing, type/scraping-tiktok-posts-by-locationin Claude Code to confirm it loaded.
Details
From the project READMEScraping Tiktok Posts By Location
Raw data collection. No assumed use case — returns the full dataset for downstream analysis.
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | ✅ | [] | TikTok location/place URLs (e.g. https://www.tiktok.com/tag/newyork?location=true) |
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-location-scraper" --input '{"startUrls": ["https://www.tiktok.com/place/New-York-City-123456"], "maxItems": 100}'
# Save as CSV
node scripts/run_actor.js --actor "apidojo~tiktok-location-scraper" --input '{"startUrls": ["https://www.tiktok.com/place/New-York-City-123456"], "maxItems": 100}' --output results.csv --format csv
# Save as JSON
node scripts/run_actor.js --actor "apidojo~tiktok-location-scraper" --input '{"startUrls": ["https://www.tiktok.com/place/New-York-City-123456"], "maxItems": 100}' --output results.json --format json
REST API fallback
curl -X POST "https://api.apify.com/v2/acts/apidojo~tiktok-location-scraper/runs" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"startUrls": ["https://www.tiktok.com/place/New-York-City-123456"], "maxItems": 100}'
If Apify MCP is available:
Use the Apify MCP call_actor tool with actor apidojo~tiktok-location-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 |
bookmarks | number | Bookmark/save 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) |
uploadedAtFormatted | string | Upload timestamp (ISO 8601) |
video.url | string | Video file URL |
video.duration | number | Duration in seconds |
song.title | string | Audio track title |
postPage | string | Full post URL |
Edge Cases
- No location URL: This actor requires a TikTok location page URL, not a city name. Ask user to navigate to TikTok > search the location > copy the URL.
- Low results: Some locations have few tagged posts — return what's available.
- Private videos: Excluded automatically.
- Deleted location: Returns empty. URL may be stale.
Comments
Markdown supported