Skip to main content
skill CX Codex

scraping-tiktok-posts-by-location — Claude Code skill

Collects TikTok posts tied to a place through Apify. Use it to export post metrics, creator details, hashtags, and upload times from a location page.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-location -a claude-code
Open on GitHub

What scraping-tiktok-posts-by-location does

This skill sends a TikTok place-page URL to Apify actor apidojo~tiktok-location-scraper and returns the matching posts. Each record can include the caption, views, likes, comments, shares, bookmarks, hashtags, creator data, upload time, video URL, duration, and audio title.

The recommended runner is scripts/run_actor.js, with table output or files such as results.csv and results.json. A REST route is also available at https://api.apify.com/v2/acts/apidojo~tiktok-location-scraper/runs; that route uses the APIFY_TOKEN bearer token.

The actor requires a TikTok location-page URL, not a city name. Private videos are filtered out, and a deleted location can produce an empty result. Locations with few tagged posts return the posts that remain available.

What it helps with

  • collect TikTok posts from a place page
  • export views, likes, comments, and shares
  • extract creators and hashtags from local posts
  • write location results to CSV or JSON
  • inspect videos tagged at a specific venue

Example prompts for the agent

  • Collect posts from https://www.tiktok.com/place/New-York-City-123456 and show the result as a table.
  • Save posts from this TikTok location to results.csv with maxItems: 100.
  • Run actor apidojo~tiktok-location-scraper and write the place-page data to results.json.

How to install scraping-tiktok-posts-by-location

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-location -a claude-code

2Manually: put the files in place

~/.claude/skills/scraping-tiktok-posts-by-location/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/scraping-tiktok-posts-by-location/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about scraping-tiktok-posts-by-location

How do I install scraping-tiktok-posts-by-location in Claude Code?

Run npx skills add apidojo-io/apidojo-skills --skill scraping-tiktok-posts-by-location -a claude-code, then open ~/.claude/skills/scraping-tiktok-posts-by-location/SKILL.md.

What does scraping-tiktok-posts-by-location do?

It sends a TikTok location page to Apify actor apidojo~tiktok-location-scraper and returns post metrics, creator information, hashtags, and video details.

Can I provide a city name instead of a URL?

No. The skill needs a TikTok location-page URL; a city name alone is not accepted.

Source text

SKILL.md · Apache-2.0
---
name: scraping-tiktok-posts-by-location
description: >
  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.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actor: apidojo/tiktok-location-scraper
---

# Scraping 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)

```bash
# 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

```bash
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.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

All skills for Browser and scraping →

From the same set57

discovering-tiktok-shop-sellers-by-niche Maps TikTok Shop sellers and products in a niche: who promotes what, which items move, where the gaps are. CX Codex +1 770installs tracking-startup-founders-on-twitter Finds startup founders on Twitter by industry or niche and gathers details about their companies and activity. Use it to build a list of accounts to follow. CX Codex +1 769installs tracking-brand-sentiment-across-platforms Pulls brand mentions from Twitter, Reddit and TikTok, scores sentiment per platform, and returns one brand health number from 0 to 100. CX Codex +1 767installs finding-tiktok-creators-by-location Finds TikTok creators and their videos by geographic location through apidojo's scraper on Apify. Useful for local campaigns and regional research. CX Codex +1 766installs finding-speaking-opportunities-on-twitter A skill that searches Twitter for conferences, podcasts, and summits actively recruiting speakers. CX Codex +1 763installs tracking-google-serp-rankings A skill that pulls Google results for a keyword list: positions, URLs, titles, snippets and SERP features. Useful for SEO audits and competitor checks. CX Codex +1 763installs scraping-youtube-channel-info Collect YouTube channel details from URLs, handles, or keywords. Use it to export channel stats or find channels by topic. CX Codex +1 761installs tracking-hiring-signals-from-company-tweets Pulls hiring signals out of company tweets through apidojo's Apify scraper: who is recruiting, for which team, and how recently. CX Codex +1 760installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor