TikTok Profile Videos API avatar

TikTok Profile Videos API

Pricing

from $3.10 / 1,000 videos

Go to Apify Store
TikTok Profile Videos API

TikTok Profile Videos API

Collect a requested ceiling of Videos or Reposts from one TikTok username/profile, with one fixed 83-field source row per resolved post, optional bounded comments, and KVS image copies.

Pricing

from $3.10 / 1,000 videos

Rating

5.0

(1)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

2

Bookmarked

26

Total users

1

Monthly active users

8 days ago

Last modified

Share

TikTok Profile Video collects source-available posts from one creator's Videos or Reposts tab. Each resolved post becomes a fixed 83-field Dataset row with engagement snapshots, media and music metadata, creator context, optional comments, and best-effort image copies. Despite the product name, it is not a direct single-video lookup.

  • Request one TikTok username/profile and one content tab per run.
  • Receive up to max_videos rows; private, blocked, or unavailable sources can return fewer or none.
  • Bound comments plus replies with one total max_comments ceiling per video row.
  • Treat counts, labels, flags, URLs, comments, and tab availability as changing source observations.

Open the Actor, then use the Apify API or MCP integration. Review sensitive comments and all rights-related fields before reuse.

What does TikTok Profile Video do?

The Actor accepts a username, @username, or TikTok profile URL and requests either the Videos or Reposts tab. Every candidate is resolved into a post-level row. A successful row contains 83 top-level keys covering provenance, post identity and timing, text, engagement counters, media properties, audio metadata, creator values, source labels, SEO fields, and a bounded comments array.

The input is normalized to a creator username. Supplying a URL that includes /video/{id} or /photo/{id} does not preserve that exact post target; the trailing path is removed and the selected creator tab is processed. Use TikTok Video Downloader when the goal is one exact post file or URL.

This Actor does not promise a complete account archive, permanent ordering, every repost, all comments, follower rosters, contacts, recommendation-system explanations, or media rights. A run can terminate cleanly with no rows when the profile is private, the tab is unavailable, source requests fail, no candidate is usable, or post-level processing cannot finish.

How do I run TikTok Profile Video?

Provide all four required inputs. Start small with one video and zero comments to verify the creator route and basic row before adding comment work.

{
"tiktok_url": "https://www.tiktok.com/@tiktok",
"content_type": "Videos",
"max_videos": 1,
"max_comments": 1
}

Wait for a terminal status and inspect the default Dataset. A one-row baseline for @tiktok produced exactly 83 top-level keys, one comment object, and three stored image files. That proves one execution path only; it does not guarantee identical fields are non-empty, the same post remains first, comments stay available, or image downloads succeed later.

Keep the run ID, normalized creator, tab, requested ceilings, Dataset ID, KVS ID, actual row/comment counts, and processed_at. Compare Videos and Reposts separately because their routes and availability differ. Retry transient failures with a limit and backoff instead of polling continuously.

What data does TikTok Profile Video return?

The fixed row begins with processor, processed_at, post id, resolved url, Unix created_time, and ISO created_at. Post text and state include description, language, review/comment/share/repost controls, advertisement/original/official/private/secret/e-commerce/pinned flags, and duet/stitch settings.

Engagement fields are play_count, like_count, comment_count, share_count, collect_count, and repost_count. Media fields include byte size, format, bitrate, codec, cover, duration, height, width, quality, caption state, original-audio flag, and photo-post images. Hashtags, mentions, anchors, location text, music details, creator profile values, SEO strings/arrays, and nested comments complete the 83-key envelope.

{
"processor": "https://apify.com/truefetch/tiktok-profile-video?fpr=aiagentapi",
"processed_at": "2026-07-24T01:49:05+00:00",
"id": "7665823355194363167",
"url": "https://www.tiktok.com/@tiktok/video/7665823355194363167",
"description": "Source post caption",
"play_count": 314900,
"like_count": 2205,
"comment_count": 185,
"author_name": "tiktok",
"quality_score": "71.77",
"comments": [
{
"id": "example-comment-id",
"father_id": "0",
"name": "viewer",
"text": "Source comment text",
"language": "en",
"created_at": "2026-07-23T23:30:51+00:00",
"like_count": 1,
"reply_count": 1,
"score": "0.001617",
"is_pinned": false,
"is_author_liked": false,
"status": "visible"
}
]
}

All 83 keys exist in a written row, but values can be empty, zero-like, null, or empty arrays. quality_score is raw source text. category and recommend_type are local labels mapped from numeric source values and can fall back to other or unknown. They are not verified rankings or official algorithm explanations.

What inputs does TikTok Profile Video accept?

tiktok_url identifies one creator. content_type is exactly Videos or Reposts. max_videos is an integer from 1 to 10,000 in the schema, and max_comments is an integer from 0 to 10,000. Non-paying users are silently limited by runtime to 10 for each ceiling.

Both limits are maxima, not guarantees. max_comments covers the combined deduplicated comments and replies retained within each row. It is not a limit per thread and it does not change the source's comment_count. Set it to zero when comments are unnecessary or when testing whether tab/post collection works independently.

The selected tab follows source-returned order. Pinned items, page changes, account changes, unavailable pagination, and route behavior can alter composition. Do not describe Videos as guaranteed original-only or permanently newest-first data.

What platforms or markets does TikTok Profile Video support?

The contract targets public TikTok creator profiles accessible through TikTok's web surfaces. There is no country selector, locale selector, login input, cookie input, hashtag search, keyword discovery, or multi-profile array.

Public does not mean continuously available. Regional behavior, consent pages, anti-bot responses, account privacy, deleted posts, unavailable Reposts, experiments, and markup/API changes can reduce data or produce zero rows. Country and residence are not inferred from tagged locations, language fields, or creator biography text.

Why use TikTok Profile Video?

The fixed 83-key envelope simplifies ingestion compared with raw pages. Each row keeps a source URL and observation time, and media/creator context travels with the post. The bounded comment option lets a workflow choose between post-only collection and a small sample of user discussion.

The contract also prevents easy analytical mistakes. comment_count is a changing source total while comments.length is the fetched sample. author_videos is a creator counter repeated on every row, not this run's row count. Stored KVS images are temporary workflow artifacts, not proof of ownership. Music commerce, copyright, original, official, and verified flags are source values rather than TrueFetch certifications.

Who is TikTok Profile Video for?

Social analysts can observe post-level engagement for a known creator. Editorial teams can review captions, mentions, hashtags, and audio context. Data engineers can normalize creator tabs into a repeatable schema. Researchers can build their own time series from timestamped observations. AI agents can request a small, bounded sample and cite the source post URLs.

It is not suitable as the sole basis for employment, credit, safety, identity, moderation, eligibility, or licensing decisions. Comments can contain inaccurate, offensive, disputed, or personal information. Human review and independent evidence are required for consequential conclusions.

How do I use TikTok Profile Video via API or MCP?

Use public name truefetch/tiktok-profile-video or Actor ID KdZEBj7bgFgCh2Mg1. Fetch current details, start the run, wait for completion, then retrieve items using the returned default Dataset ID.

{
"actor": "truefetch/tiktok-profile-video",
"input": {
"tiktok_url": "@tiktok",
"content_type": "Videos",
"max_videos": 1,
"max_comments": 0
},
"runOptions": {
"memoryMbytes": 256,
"timeoutSecs": 180,
"maxTotalChargeUsd": 0.1
}
}

Some MCP account plans can read Actor details and run storage but cannot directly start public Actors. In that case, start the same Build through an authorized API account and use MCP to read the run and Dataset. Do not report that fallback as direct MCP execution.

The KVS can contain INPUT, cover, music-cover, author-avatar, and photo-post image files named from the post ID. These are best-effort artifacts. Missing keys do not invalidate an otherwise written row, and a KVS URL does not grant republication rights.

How much does TikTok Profile Video cost?

Repository pricing is pay per event. Actor Usage is $0.00001, Actor Start is $0.01, Video is charged once per written Dataset row, and Comment is charged once per written row whose returned comments array is non-empty.

TierVideoComment
Free$0.00350$0.00100
Bronze$0.00338$0.00097
Silver$0.00327$0.00093
Gold$0.00315$0.00090
Platinum$0.00315$0.00090
Diamond$0.00315$0.00090

At Free-tier event prices, one row with at least one comment has $0.01450 in Start, Video, and Comment events before usage. One row with no returned comments has $0.01350. Ten nested comments in one row still create one Comment event, not ten. A no-row run can still incur Start and resource usage.

Check live Apify pricing before production use. Metadata can synchronize at a different time from a new Build, and resource usage varies with limits, source latency, comments, and image downloads.

How does TikTok Profile Video compare with alternatives?

Manual profile review preserves page presentation but is difficult to reproduce and compare. A general browser scraper provides control but requires tab navigation, pagination, parsing, media storage, comment sampling, and schema maintenance. A dedicated downloader is better for one known post file. A transcript Actor is better when speech text is the primary output.

Choose this Actor when the input is one known creator and the desired output is a bounded set of structured post observations. Choose discovery tools for keyword or hashtag search, and keep different source contracts separate until identity matching has been reviewed.

What are the limits and troubleshooting steps?

If validation fails, provide a non-empty username/profile, exact Videos or Reposts, max_videos >= 1, and max_comments >= 0. A direct post URL is reduced to its creator, so switch tools when exact-post behavior is required.

For zero rows, check profile privacy, selected tab, terminal status, logs, Dataset count, and source availability. Try Videos, one row, and zero comments to isolate basic collection. If that succeeds, add comments or test Reposts separately. For missing KVS images, inspect the original source media URLs and KVS keys without assuming media failure changed the Dataset row.

Preserve dynamic counters and empty values. Do not replace a missing source response with zero, treat a locally mapped label as official, or infer deletion from a single unavailable run.

FAQ

Can I target one exact TikTok video?

No. The input is normalized to a creator username. Use TikTok Video Downloader for an exact post target.

Are the returned posts complete and newest first?

No guarantee is made. The result is bounded by the request and source route, and pinned or unavailable items can affect order and coverage.

Why is comment_count larger than the comments array?

The first is a source counter. The array is a requested and source-available sample, including replies, up to max_comments total.

Does a non-empty comments array charge per comment?

No. The runtime creates one Comment event for that video row, regardless of array length.

Can I rely on music or verification flags?

Only as source observations. They are not rights clearance, ownership proof, or independent identity verification.

These Actors have different inputs, outputs, prices, and rights considerations. Shared usernames or URLs do not make their results interchangeable.

Support and last updated

For support, share the run ID, redacted creator username, selected tab, requested and returned video/comment counts, terminal status, Dataset ID, KVS key count, and affected fields. Never share Apify tokens or unnecessary personal data. Contact the TrueFetch group or API support.

Last reviewed: July 24, 2026. The verified contract is one creator tab, up to the requested ceiling, fixed 83-key rows, optional 12-key comment objects, best-effort stored images, and explicit zero-row/source variability. Recheck live pricing and availability before production use.