TikTok Latest Post Scraper & Activity Tracker
Pricing
from $1.00 / 1,000 tiktok profile results
TikTok Latest Post Scraper & Activity Tracker
Find the latest public TikTok post date, video link, caption, and profile stats from usernames or URLs. Check creator activity in bulk, flag inactive accounts, and export JSON, CSV, or Excel for influencer research and competitor monitoring.
Pricing
from $1.00 / 1,000 tiktok profile results
Rating
0.0
(0)
Developer
Newbs
Maintained by CommunityActor stats
3
Bookmarked
42
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
TikTok latest post dates and profile activity
Find the latest public TikTok post exposed for each profile and see how recently a creator has posted. Enter usernames or profile URLs to get post dates, video links, captions, cover images, follower counts, and a clear activity flag. Export the results as JSON, CSV, or Excel, or use the Actor through the Apify API.
Try the TikTok latest post tracker with two profiles. No TikTok login or TikTok developer API key is needed for public-profile checks.
Quick start
- Add TikTok usernames,
@handles, or profile URLs to TikTok profiles. - Choose an Activity window, such as 7 or 30 days, and click Start.
- Open Output to see the latest post date and activity flag. Use Export to download your results.
{"channel": ["@dior", "https://www.tiktok.com/@zara"],"activityWindowDays": 30}
Names are case-insensitive: DIOR and dior refer to the same profile. Duplicate inputs reuse the same fetch but keep separate output rows in your original input order. Remove duplicates from your input if you only need one billable row per profile.
An empty input runs the examples dior, adidas, and neymarjr. The legacy channels field and comma- or newline-separated strings remain supported through the API.
What can you use it for?
- Influencer research: check whether shortlisted creators are still publishing before reviewing their content for a campaign.
- Competitor monitoring: compare the newest post dates across public brand profiles.
- Inactive-account checks: filter rows where
isActiveWithinWindowisfalse. Unavailable timestamps producenullso they are not mistaken for inactivity. - New-post detection: save the previous
latestPostIdin your spreadsheet or workflow and compare it with the next run. - Agency reporting: add post dates, captions, and profile statistics to client reports without collecting a full video history.
Input options
| Option | Default | Purpose |
|---|---|---|
channel | Three example profiles | Up to 1,000 usernames or TikTok profile URLs per run. |
activityWindowDays | 30 | Number of days used for the activity flag; between 1 and 3,650. |
maxConcurrency | 10 | Concurrent profile requests; between 1 and 10. |
httpTimeoutSecs | 6 | Timeout per HTTP request; between 3 and 60 seconds. |
useManagedFallback | true | Allow a separately charged child Actor for unresolved profiles on Apify. |
managedFallbackTimeoutSecs | 60 | Child run timeout; between 30 and 600 seconds. |
proxy | None required | Optional proxy for blocked embed retries and final direct requests. |
maxRequestRetries | 0 | Extra final direct-request attempts for transient errors; at most 3. |
For runs with many difficult profiles, increase the run timeout in Apify's Run options. Results are saved after each batch of up to 50 inputs, and the summary is updated as those batches complete. A maximum-charge limit can stop processing before all inputs are handled.
Example output
This shortened example illustrates the output format. Post dates and statistics change on each run.
{"input": "dior","channel": "dior","displayName": "Dior","profileUrl": "https://www.tiktok.com/@dior","status": "ok","lastPostTime": 1789196400,"lastPostTimeISO": "2026-09-12T07:00:00.000Z","latestPostUrl": "https://www.tiktok.com/@dior/video/7683943983852129558","latestPostId": "7683943983852129558","timestampPrecision": "exact","hoursSinceLastPost": 75.1,"isActiveWithinWindow": true,"activityWindowDays": 30,"source": "official_embed","scrapedAt": "2026-09-15T10:05:59.254Z"}
| Output field | Meaning |
|---|---|
lastPostTime, lastPostTimeISO | Post time as Unix seconds and UTC ISO-8601. |
latestPostId, latestPostUrl | Post identifier and link for comparisons and follow-up. |
latestPostText, latestPostCoverUrl | Caption and cover image when exposed by TikTok. |
timestampPrecision | exact for a reported creation timestamp, video_id_estimate for a time decoded from the post ID, or null. |
hoursSinceLastPost, isActiveWithinWindow | Time since the exposed post and whether it falls inside your activity window. |
followerCount, heartCount, videoCount | Profile statistics when available. |
status, error, attemptHistory | Availability and recovery details for the profile. |
The OUTPUT summary reports successful timestamps, processed inputs, skipped inputs, duplicate fetches avoided, fallback use, and timing. Existing fields such as lastPostTime and lastPostTimeISO remain available for integrations.
TikTok latest post API
Use your Apify API token to run the Actor and retrieve JSON results. Keep your token in an environment variable.
curl --fail --request POST \'https://api.apify.com/v2/acts/newbs~Latest-Post-Time-TikTok/run-sync-get-dataset-items?timeout=180' \--header "Authorization: Bearer $APIFY_TOKEN" \--header 'Content-Type: application/json' \--data '{"channel":["dior","zara"],"activityWindowDays":30}'
Python example
import jsonimport osimport urllib.requesturl = "https://api.apify.com/v2/acts/newbs~Latest-Post-Time-TikTok/run-sync-get-dataset-items?timeout=180"request = urllib.request.Request(url,data=json.dumps({"channel": ["dior", "zara"], "activityWindowDays": 30}).encode(),headers={"Authorization": "Bearer " + os.environ["APIFY_TOKEN"],"Content-Type": "application/json",},)with urllib.request.urlopen(request, timeout=240) as response:for profile in json.load(response):print(profile["channel"], profile["lastPostTimeISO"], profile["status"])
For larger runs, start the Actor asynchronously and fetch its dataset after completion. Apify supports saved tasks, schedules, webhooks, and connections to tools such as Make and n8n. Save your input as a task, schedule your checks, and compare latestPostId values in your destination workflow to trigger new-post notifications.
Pricing and efficiency
The Actor fee is $1 per 1,000 profile result rows ($0.001 each), plus Apify platform usage. A result row may contain a timestamp or an availability/error status. Duplicate input rows also count as results. Check the Pricing tab for current terms.
The fast path uses public TikTok embeds without launching a browser. Repeated handles share a fetch, and only unresolved profiles continue through recovery. If you configure a proxy, blocked embeds get a proxy attempt before a paid child run.
The optional managed fallback provider has separate pricing, which may depend on your Apify plan. It receives only unresolved unique profiles and requests at most one result per profile. Set useManagedFallback to false to prevent child Actor calls. Proxy use can add proxy charges.
Accuracy and troubleshooting
Does this always find the latest TikTok post?
TikTok's Creator Profile Embed exposes a selection of up to ten recent videos. The Actor selects the newest valid post from that selection, then requests its detail embed for the reported creation time. It compares timestamps rather than assuming the first item is newest, since older pinned posts can appear first.
A public embed can omit content or lag behind TikTok. status: "ok" means a post was retrieved; it does not prove complete or instantaneous coverage of every video, photo, Story, or LIVE. This tool is intended for public-profile activity checks, not a complete account archive. timestampPrecision describes the timestamp itself, not completeness of the post selection.
Why is the timestamp missing?
private,no_posts, ornot_found: TikTok or the fallback provider reports an unavailable account or no public posts.post_list_unavailable: profile metadata was retrieved, but no accessible post list was returned.blocked,timeout,http_error, orprofile_data_missing: a network restriction, challenge, or unavailable page prevented collection.input_error: use a TikTok handle or atiktok.com/@handleURL.
Private and underage accounts cannot be embedded. Availability can also vary by region. For transient failures, retry later, configure a suitable proxy, or enable the managed fallback. Check attemptHistory and the run summary for the routes attempted. The deprecated useBrowserFallback option is accepted but ignored.
Support and related tools
For a problem or feature request, open an issue with your run link, example public handle, and expected result. Never include API tokens or proxy passwords.
For other platforms, see Newbs' Instagram latest post tracker and X/Twitter latest post tracker.