TikTok Place Posts Scraper avatar

TikTok Place Posts Scraper

Pricing

from $0.25 / 1,000 place posts

Go to Apify Store
TikTok Place Posts Scraper

TikTok Place Posts Scraper

Scrape public TikTok place posts from place URLs or IDs. Export captions, creator details, engagement metrics, video links, hashtags, music, and place metadata.

Pricing

from $0.25 / 1,000 place posts

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

📍 TikTok place posts scraper for location feeds

TikTok Place Posts Scraper exports public posts from TikTok place pages. Paste a TikTok place URL or raw place ID, then get one dataset row per public place-feed post with captions, creator details, engagement metrics, video links, cover images, hashtags, music data, source URLs, place metadata, and scrape timestamps.

Use this TikTok place posts scraper when you need a repeatable export from a specific location or venue feed instead of opening TikTok and copying post data by hand. It is useful for local trend checks, destination research, creator discovery, event monitoring, tourism analysis, venue reporting, and social media research around geo-tagged TikTok content.

For a quick first run, keep the prefilled New York place URL and the default 20-post limit. Once the output shape matches your workflow, add more place URLs or IDs, raise the limits, schedule repeat runs, or call the Actor through the Apify API.

✅ What this Actor does

  • Accepts TikTok place URLs such as https://www.tiktok.com/place/New-York-22535796481546927.
  • Accepts raw TikTok place IDs such as 22535796481546927.
  • Saves one dataset row per public post returned from the place feed.
  • Adds post URLs, captions, creation timestamps, source position, and TikTok post IDs.
  • Adds creator fields such as username, display name, profile URL, avatar, verification status, bio text, and visible profile stats when TikTok exposes them.
  • Adds place fields such as place ID, name, address, category, city, country, place URL, and visible video count when available.
  • Adds visible engagement metrics such as views, likes, comments, shares, bookmarks, total engagement, and engagement rate.
  • Adds video and music metadata such as media URLs, cover URLs, duration, dimensions, sound title, sound author, and original-sound flags when available.
  • Can deduplicate repeated TikTok post IDs across multiple place inputs.
  • Skips invalid, unavailable, empty, or temporarily inaccessible place targets without saving failure rows.

The Actor focuses on public TikTok place feeds. It does not scrape private posts, comments, followers, profiles, hashtags, search results, TikTok Shop, or arbitrary keyword searches.

📊 Data you can export

Each output item represents one public TikTok post found for one place target. Core fields include:

  • inputTarget, sourcePlaceId, resolvedPlaceId, and resolvedPlaceUrl
  • sourcePosition, postId, postUrl, caption, createdAt, and createdAtIso
  • author with username, display name, profile URL, avatar URL, verification status, signature, and visible stats
  • place with ID, name, address, category, city, country, URL, and visible video count
  • engagement with view, like, comment, share, bookmark, total engagement, and engagement rate fields
  • video with media URLs, cover URLs, duration, dimensions, format, bitrate, and size when available
  • music with sound ID, title, author, duration, cover URL, play URL, original-sound flag, and copyright flag when available
  • hashtags, top-level engagement fields, language hints, ad flag, and scrapedAt

You can open the dataset in Apify, export it as JSON, CSV, Excel, XML, RSS, or HTML, use the dataset API, schedule runs, or send results to webhooks and integrations.

🚀 How to run it

  1. Add one or more TikTok place URLs or raw place IDs in TikTok place URLs or IDs.
  2. Keep Posts per place at 20 for a small first run, or raise it for larger exports.
  3. Optionally set Total posts to cap the whole run across all places.
  4. Leave Deduplicate posts on unless you want duplicate post IDs preserved across overlapping place inputs.
  5. Keep Include raw TikTok item off for cleaner exports, or turn it on when you need source-level auditing.
  6. Start the Actor and open the dataset.

Good input examples:

{
"targets": [
"https://www.tiktok.com/place/New-York-22535796481546927",
"22535865202704586"
],
"maxPostsPerPlace": 20,
"maxTotalPosts": 40,
"deduplicatePosts": true,
"includeRawItem": false
}

🧾 Output example

{
"inputIndex": 1,
"inputTarget": "22535865202704586",
"sourceTarget": "https://www.tiktok.com/place/Hollywood-22535865202704586",
"sourcePlaceId": "22535865202704586",
"resolvedPlaceId": "22535865202704586",
"resolvedPlaceUrl": "https://www.tiktok.com/place/Hollywood-22535865202704586",
"sourcePosition": 1,
"postId": "7631624554200288525",
"postUrl": "https://www.tiktok.com/@creator/video/7631624554200288525",
"caption": "Example TikTok place post caption",
"createdAt": 1780228800,
"createdAtIso": "2026-05-31T12:00:00.000Z",
"author": {
"username": "creator",
"displayName": "Creator Name",
"profileUrl": "https://www.tiktok.com/@creator",
"verified": false
},
"place": {
"id": "22535865202704586",
"name": "Hollywood",
"address": "California, United States",
"url": "https://www.tiktok.com/place/Hollywood-22535865202704586"
},
"engagement": {
"viewCount": 327900000,
"likeCount": 14000000,
"commentCount": 120200,
"shareCount": 1300000,
"bookmarkCount": 927970,
"totalEngagement": 16348170,
"engagementRate": 4.985718
},
"video": {
"durationSeconds": 13,
"playUrl": "https://...",
"coverUrl": "https://..."
},
"music": {
"title": "original sound",
"authorName": "Creator Name"
},
"hashtags": ["hollywood", "travel"],
"scrapedAt": "2026-06-01T00:00:00.000Z"
}

Fields can be null or empty when TikTok does not expose a value for a specific public post or place.

💡 Common use cases

  • Monitor TikTok posts tied to a store, hotel, attraction, venue, city, or landmark.
  • Find creators posting from a specific place.
  • Compare local TikTok engagement around destinations, events, or neighborhoods.
  • Build geo-tagged TikTok datasets for social listening, reporting, or content research.
  • Export source URLs and post IDs for review, deduping, or follow-up workflows.
  • Feed captions, hashtags, creator metadata, and engagement metrics into spreadsheets, dashboards, databases, or AI analysis.

💵 Pricing

This Actor uses pay-per-event pricing. One Place post event is charged for each public TikTok place post saved to the dataset. Current pricing is $0.00025 per saved post.

Skipped inputs, invalid place IDs, empty place feeds, and targets that return no usable public posts do not save dataset rows and do not trigger the post event.

⚠️ Limits and caveats

  • TikTok place feeds can change between runs, so repeated runs may return different posts or ordering.
  • The Actor preserves the order returned by TikTok for each place feed.
  • Some fields can be missing when TikTok does not expose them publicly.
  • Unsupported TikTok URLs are ignored during input normalization.
  • Private, removed, region-limited, or temporarily unavailable content is reported in logs rather than saved as placeholder rows.
  • The Actor does not require you to provide TikTok cookies, a TikTok login, or a TikTok API key.

❓ FAQ

Can I scrape more than one TikTok place in one run?
Yes. Add several place URLs or raw place IDs to targets. Use Total posts if you want one hard cap across the whole batch.

Can I use a normal TikTok video URL?
No. This Actor is for TikTok place pages and raw place IDs. Use TikTok Video Downloader when you already have specific video URLs.

Why did my run return zero rows?
The place may have no public posts available through TikTok at run time, the place ID may be invalid, or TikTok may not expose that feed publicly from the submitted target.

Does this Actor download video files?
No. It exports TikTok media URLs and metadata. Use TikTok Video Downloader if your workflow needs saved video or audio files.

📝 Changelog

  • 0.1: Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

🔗 Other actors

Made with ❤️ by Maxime Dupré