TikTok Profile Videos API avatar

TikTok Profile Videos API

Pricing

from $1.88 / 1,000 videos

Go to Apify Store
TikTok Profile Videos API

TikTok Profile Videos API

TikTok profile videos scraper for fetching Videos or Reposts from one public profile as normalized 61-field API rows, with optional comments and no TikTok OAuth.

Pricing

from $1.88 / 1,000 videos

Rating

5.0

(1)

Developer

TrueFetch

TrueFetch

Maintained by Community

Actor stats

2

Bookmarked

28

Total users

0

Monthly active users

3 hours ago

Last modified

Share

TikTok Profile Videos Scraper is a tiktok profile videos scraper that fetches public Videos or Reposts from one creator profile and returns normalized 61-field API rows. It is designed for developers and data teams that need a bounded, source-linked profile feed without TikTok OAuth; it is not a direct single-video lookup.

  • One profile per run: request one TikTok username or profile URL and one content tab.
  • Two tab modes: choose exactly Videos or Reposts.
  • 61-field rows: every written item follows one documented top-level shape, including Duet and Stitch settings, TikTok's AI-content label, and on-screen sticker text.
  • Transparent billing: rows start at $0.00250, with a comment event only for rows whose comments array is non-empty.

Run a one-result test · View API

Set max_videos: 1 and max_comments: 0 for the smallest useful test; the FREE-tier ceiling is $0.01250 including Actor Start, and source availability can still produce zero rows.

What does TikTok Profile Videos Scraper do?

TikTok Profile Videos Scraper accepts a username, @username, or TikTok profile URL and requests either the Videos or Reposts tab. Every usable candidate becomes a post-level row with 61 top-level fields covering identity, timing, text, engagement, media, audio, creator values, source labels, SEO values, 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 Videos Scraper?

Provide all four required inputs, then start with one video and zero comments to verify the creator route before adding comment work.

{
"tiktok_url": "https://www.tiktok.com/@duolingo",
"content_type": "Reposts",
"max_videos": 2,
"max_comments": 0
}

Wait for a terminal status and inspect the default Dataset. Every written row has 61 top-level fields, but the same fields need not be non-empty on every post and the same post need not remain first when TikTok changes profile order.

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 Videos Scraper return?

Each row returns post identity, timestamps, content, engagement, media, music, creator, SEO, comments, and processing provenance. Post state includes the comment control plus the advertisement, Duet, Stitch and AI-content flags. The creator's own identity is not repeated on every row - one run reads one creator, so those values would be identical on all of them and the handle is already in url - but the follower and like totals do ship per row, read at the moment each post was fetched.

Engagement fields are play_count, like_count, comment_count, share_count, and collect_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 with rename-proof account ids, caption entity offsets, tagged places, on-screen sticker text, TikTok's own search terms, music details, creator totals, SEO strings/arrays, and nested comments complete the 61-field envelope.

{
"processor": "https://apify.com/truefetch/tiktok-profile-videos-api",
"processed_at": "2026-08-13T06:09:53+00:00",
"id": "7670934944142658846",
"url": "https://www.tiktok.com/@_paigecraig/video/7670934944142658846",
"description": "Source post caption",
"play_count": 13000,
"like_count": 400,
"comment_count": 10,
"author_followers": 1210000,
"location_created": "US",
"comments": []
}

All 61 fields exist in a written row, but values can be null or empty when TikTok does not expose them. quality_score is raw source text. category and recommend_type are source-provided diversification labels, present only when the input is a video URL; on the profile path diversification_id carries the same content class. None of the three is a verified ranking or an explanation of TikTok's recommendation system.

What inputs can I configure?

You can configure five required inputs: tiktok_url identifies one creator, content_type is exactly Videos or Reposts, sort_by is Latest, Popular or Oldest, max_videos is an integer from 1 with no schema maximum, and max_comments is an integer from 0 to 10,000. Non-paying users are 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.

Sort order. TikTok's item_list API has no sort parameter — measured 2026-08-16, sort_type, sortType, sort, orderBy and order_type all return an identical newest-first page. Popular and Oldest are therefore produced by reading the whole profile and then ordering it, with no page cap: two profiles were paginated to the source's own end, 342 of a claimed 343 videos in 19 seconds and 1,314 of a claimed 1,348 in 74 seconds. Latest stops as soon as max_videos is met.

With Latest 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 and markets does TikTok Profile Videos Scraper cover?

TikTok Profile Videos Scraper covers 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 Videos Scraper?

The fixed 61-field envelope simplifies ingestion compared with raw pages. Each row keeps a source URL and observation time, while media and creator context travel with the post. The bounded comment option lets a workflow choose post-only collection or a small sample of public 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 Videos Scraper for?

TikTok Profile Videos Scraper is for developers, data engineers, social analysts, editorial teams, and researchers who need structured observations from a known public creator. They can compare engagement, review captions and hashtags, normalize profile tabs, build timestamped snapshots, and cite 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 can I use TikTok Profile Videos Scraper through the API or MCP?

Use public name truefetch/tiktok-profile-videos-api or Actor ID KdZEBj7bgFgCh2Mg1. Start the run, wait for completion, then retrieve items using the returned default Dataset ID. Generated SDK and OpenAPI examples are available on the API page, and the official Apify MCP integration can expose the Actor to compatible clients.

{
"actor": "truefetch/tiktok-profile-videos-api",
"input": {
"tiktok_url": "https://www.tiktok.com/@duolingo",
"content_type": "Reposts",
"max_videos": 2,
"max_comments": 0
},
"runOptions": {
"memoryMbytes": 128,
"timeoutSecs": 300,
"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 Videos Scraper cost?

TikTok Profile Videos Scraper costs $0.00250 per written video row on the FREE tier, plus $0.01000 Actor Start per run; a one-row test with no returned comments is $0.01250.

TierVideoComment
FREE$0.00250$0.00100
BRONZE$0.00225$0.00090
SILVER$0.00200$0.00080
GOLD$0.00188$0.00075
PLATINUM$0.00188$0.00075
DIAMOND$0.00188$0.00075

Smallest useful test: $0.01000 Actor Start + 1 × $0.00250 Video = $0.01250 when max_comments is 0 or no comments are returned. Ten nested comments in one row still create one Comment event, not ten. A no-row run can still incur Actor Start.

Check the live pricing page before production use because prices can change.

How does TikTok Profile Videos Scraper compare with alternatives?

TikTok Profile Videos Scraper is best when the input is one known public creator and the output must be normalized API rows. Manual profile review preserves page presentation but is difficult to reproduce. A general browser workflow offers control but requires navigation, pagination, parsing, and schema maintenance. TikTok's official Display API is better when creators authorize your app and you need TikTok-supported access; a dedicated downloader is better for one known post file.

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.

Frequently asked questions

Can I scrape tiktok profile videos and reposts?

Yes. Choose Videos or Reposts in content_type; the selected public tab controls which rows are requested.

Is this a tiktok profile videos scraper without login?

Yes. The Actor needs no TikTok login, cookies, or OAuth token, but it cannot access private or creator-authorized data.

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.

Three related TrueFetch Actors cover adjacent media workflows without duplicating this profile-tab contract.

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

Support

Support is available through the TrueFetch community and Actor issues. Share the run ID, redacted creator username, selected tab, exact four-field input, terminal status, Dataset ID, returned row count, and affected fields; never share tokens or unnecessary personal data.

Run a one-result test · View API

Last Updated: August 12, 2026