TikTok Creator API
Pricing
from $4.90 / 1,000 videos
TikTok Creator API
TikTok creator API that collects Videos or Reposts from one public profile into normalized 61-field rows, with optional comments and no TikTok OAuth.
Pricing
from $4.90 / 1,000 videos
Rating
5.0
(2)
Developer
AgentX
Maintained by CommunityActor stats
3
Bookmarked
18
Total users
0
Monthly active users
10 days ago
Last modified
Categories
Share
TikTok Creator API is a tiktok creator api that collects public Videos or Reposts from one creator profile and returns normalized 61-field post rows. Use it for repeatable creator-content research without supplying TikTok OAuth credentials; source privacy, availability, and regional behavior still apply.
- Two profile tabs: choose
VideosorRepostswith a two-value enum. - 61 documented fields: every Dataset row has one stable top-level shape, including the Duet and Stitch settings, TikTok's AI-content label, and any on-screen sticker text.
- Bounded discussion sample: set
max_commentsto0to skip comments or request comments and replies per post. - Source-linked output: each row includes the TikTok post URL, timestamps, engagement, media, music, and creator context.
A smallest useful run requests one video with max_comments: 0; its FREE-tier ceiling is $0.01200 including the $0.01000 Actor Start event.
Why Choose TikTok Creator API
Creator-tab coverage turns one public username or profile URL into post rows from either Videos or Reposts. Decision-ready engagement keeps plays, likes, comments, shares, and collections beside the source URL, with the creator's follower and like totals read at the moment each post was fetched. Media and music context includes covers, dimensions, codec, audio, hashtags, mentions with rename-proof account ids, tagged places, on-screen sticker text, TikTok's own search terms, and music metadata when TikTok exposes them. Explicit missing values remain null or empty instead of being replaced with invented zeros. Optional comments let a workflow choose post-only collection or a bounded discussion sample.
Quick Start Guide
1. Configure
Open the input form and keep the working @openai Videos example, or provide another public creator profile. Set max_videos to the requested row ceiling and max_comments to the per-post comment-and-reply ceiling.
2. Run
Start the Actor and watch the status message. A private profile, unavailable Reposts tab, removed post, consent response, or temporary source block can legitimately produce fewer rows than requested.
3. Collect
Read the default Dataset as JSON, JSONL, CSV, Excel, XML, RSS, or through the Dataset API. Use id for post identity, url for citation, and processed_at for observation time.
Input Parameters
Sort order. sort_by accepts Latest, Popular or Oldest. TikTok's own API has no sort parameter — measured 2026-08-16, every candidate (sort_type, sortType, sort, orderBy, order_type) returns an identical newest-first page — so Popular and Oldest are produced by reading the whole profile and then ordering it. There is 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, at roughly 15 videos per request. Latest stops as soon as max_videos is met and stays cheap.
The Actor accepts five required inputs in this exact schema order.
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
tiktok_url | string | Yes | TikTok username or profile URL; a trailing post path is reduced to its creator username | https://www.tiktok.com/@openai |
content_type | string enum | Yes | Profile tab: Videos or Reposts | Videos |
sort_by | string enum | Yes | Latest, Popular or Oldest | Latest |
max_videos | integer, min 1 | Yes | Requested row ceiling; fewer may exist, and non-paying users are limited by runtime to 10 | 1 |
max_comments | integer, 0-10,000 | Yes | Total comments plus replies nested in each row; 0 skips the comment endpoints | 0 |
{"tiktok_url": "https://www.tiktok.com/@openai","content_type": "Videos","max_videos": 1,"max_comments": 0}
The result ceilings are requests, not guarantees. TikTok controls profile privacy, tab availability, and which posts remain public.
Output Data Schema
Each written item is one resolved TikTok post with exactly 61 top-level fields, every one of them a fact about the post.
| Group | Fields |
|---|---|
| Identity and time | id, url, created_at, description, language, text_translatable, processed_at, processor |
| State and engagement | quality_score, comment_enabled, is_advertisement, play_count, like_count, comment_count, share_count, collect_count, duet_enabled, stitch_enabled, is_aigc, category, recommend_type, diversification_id |
| Media | size, format, bitrate, codec, cover, duration, height, width, quality, original_audio, caption_reason, image_post |
| Caption entities and place | hashtags, mentions, anchors, text_extra, location_created, poi, stickers |
| Music | music_id, music_url, music_author, music_cover, music_title, music_duration, music_original, music_copyrighted, music_commerce, music_unlimited |
| Creator counts | author_followers, author_following, author_likes, author_likes_given, author_videos |
| Search and discussion | seo_title, seo_description, seo_keywords, suggest_words, comments |
The creator's own identity — id, handle, nickname, avatar, bio, verification, account settings — is not repeated on every row. One run scrapes one creator, so those values would be identical on all of them and say nothing the input did not; the handle is in url. The five counts above do ship per row, because they are read at the moment each video is fetched and move during a long run.
Abbreviated example; a real row contains all 61 fields and arrays are shortened here:
{"id": "7672796487218121997","url": "https://www.tiktok.com/@openai/photo/7672796487218121997","created_at": "2026-08-11T15:22:07+00:00","description": "Example public post caption #example","play_count": 13100,"like_count": 491,"diversification_id": 10041,"hashtags": ["example"],"text_extra": [{"type": 1, "hashtag": "example", "username": null, "sec_uid": null, "start": 29, "end": 37, "is_commerce": false}],"poi": null,"stickers": [{"type": 9, "texts": ["Peak girl grip"]}],"suggest_words": ["moose running on water"],"author_followers": 1210000,"comments": [],"processor": "https://apify.com/agentx/tiktok-creator-api","processed_at": "2026-08-13T06:04:18+00:00"}
Unavailable source fields remain null or empty. Media URLs may be source URLs when a cloud KVS upload is unavailable.
Integration Examples
Use Actor ID p5WWQg8bwnUMT9SJw for HTTP, SDK, automation, and MCP calls; agentx/tiktok-creator-api is the equivalent name form.
Actor ID
p5WWQg8bwnUMT9SJw
HTTP
curl -X POST "https://api.apify.com/v2/acts/p5WWQg8bwnUMT9SJw/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"tiktok_url":"https://www.tiktok.com/@openai","content_type":"Videos","max_videos":1,"max_comments":0}'
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")run = client.actor("p5WWQg8bwnUMT9SJw").call(run_input={"tiktok_url": "https://www.tiktok.com/@openai","content_type": "Videos","max_videos": 1,"max_comments": 0,})items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('p5WWQg8bwnUMT9SJw').call({tiktok_url: 'https://www.tiktok.com/@openai', content_type: 'Videos', max_videos: 1, max_comments: 0});const { items } = await client.dataset(run.defaultDatasetId).listItems();
For Make.com or n8n, use the Apify Run Actor action with ID p5WWQg8bwnUMT9SJw, paste the same four-field JSON, wait for success, then read the default Dataset. For MCP, connect the official Apify MCP integration and expose agentx/tiktok-creator-api as the tool.
Pricing
The FREE-tier video price is $0.00200, the Actor Start event is $0.01000 per run, and a one-video run without returned comments costs at most $0.01200.
| Tier | Video row | Video row with non-empty comments | Actor Start |
|---|---|---|---|
| FREE | $0.00200 | +$0.00080 | $0.01000 |
| BRONZE | $0.00180 | +$0.00072 | $0.01000 |
| SILVER | $0.00160 | +$0.00064 | $0.01000 |
| GOLD | $0.00150 | +$0.00060 | $0.01000 |
| PLATINUM | $0.00150 | +$0.00060 | $0.01000 |
| DIAMOND | $0.00150 | +$0.00060 | $0.01000 |
The comment event is charged once per written video row only when its comments array is non-empty, regardless of array length. At 256 MB the platform's minimum Actor Start count is one. A five-video FREE run with no returned comments is $0.02000: $0.01000 + 5 × $0.00200. Prices can change; confirm the live pricing page before production use.
Use Cases
- Creator content review: sort
play_count,like_count,share_count, andcollect_countwhile retainingurlfor source review. - Repost research: select
Repostsand compare the returned authors, captions, hashtags, and music context. - Editorial discovery: use
description,hashtags,mentions,anchors, andseo_keywordsto organize public posts. - Media inventory: distinguish video rows from
image_postrows and retain covers, dimensions, duration, codec, and music URLs. - Scheduled snapshots: save
processed_atwith engagement counts to build your own longitudinal table.
Alternatives
Manual browsing is suitable for checking a few posts once, but it does not provide a repeatable 61-field Dataset or API delivery. TikTok's official Display API is the right choice when a creator authorizes your application and you need TikTok-supported access to that user's profile and recent videos. This Actor instead reads public profile surfaces without creator OAuth. Choose another path if you need private profiles, follower lists, inbox data, publishing, authentication on a user's behalf, guaranteed historical completeness, or legal advice.
Limits and Troubleshooting
- No rows → the profile may be private, unavailable, removed, regionally gated, or temporarily blocked. Verify the public profile URL and retry later with
max_videos: 1. - Fewer rows than requested → the selected tab may contain fewer public posts or some detail pages may fail. Treat
max_videosas a ceiling. - Empty Reposts → the account may not expose a Reposts tab. Test
Videosto isolate tab availability. - Empty comments → comments may be disabled, unavailable, or not returned during the run. The row is still useful and no comment event is charged when the array is empty.
- Null fields → TikTok did not expose those values for the post. Do not reinterpret null as zero or false.
- Source media URL retained → local download or cloud storage was unavailable, so the original non-empty URL was preserved.
For a reproducible defect, open an Actor issue with the run ID, redacted profile, exact four-field input, terminal status, returned row count, and affected field names. Never include tokens or private credentials.
Trust and Reliability
Runs use Apify's Actor infrastructure, default Dataset, Key-Value Store support, API, schedules, and integrations. Billing follows registered events: Actor Start, each successfully written video row, and each written row with a non-empty comments array. The 61-field schema is explicit, and source-absent values remain empty rather than being fabricated. Each row keeps both the source url and the observation timestamp processed_at.
Legal and Compliance
Public data only. Configure public creator profiles and collect only the data TikTok exposes on public pages.
Purpose and retention. Use the smallest data scope needed, review comments for personal data, and apply appropriate retention, access, and deletion controls.
Independent service. This Actor is not affiliated with TikTok. You are responsible for TikTok's terms, applicable privacy and intellectual-property law, and the legality of your use case.
Frequently Asked Questions
Can I fetch tiktok creator videos without oauth?
Yes. The Actor accepts one public username or profile URL and does not require a TikTok OAuth token, but it cannot access private or creator-authorized data.
Can I collect tiktok creator reposts by username?
Yes. Set content_type to Reposts; the profile must expose that tab and source availability can reduce the result count.
Is there a free TikTok creator API?
Apify accounts include platform credits that may cover small tests; this Actor still uses the registered Actor Start, video, and optional comment events.
Can I schedule runs to monitor TikTok creators over time?
Yes. Use Apify Schedules and store processed_at with engagement fields to build your own snapshots; the Actor does not maintain history itself.
Does max_comments charge once per comment?
No. A Comment event is charged once per written video row when the returned comments array is non-empty, not once per nested comment.
Why are some fields null?
Null means TikTok did not expose the value for that post during the run. It is not converted to zero, false, or an inferred value.
Can the Actor return photo posts?
Yes. Photo posts carry source image URLs in image_post, while video-oriented fields may be null.
Related AgentX Actors
The AgentX catalog contains purpose-specific Actors; these three are closest to TikTok creator-content workflows, followed by the complete catalog by category.
Closest to this Actor:
- TikTok Live Downloader for saving live-stream media rather than profile posts.
- TikTok Transcript for speech-to-text workflows on TikTok media.
- Instagram Creator Scraper for creator-content data on Instagram.
Business and Market Intelligence
- Google Keyword Trends — Google Trends keyword interest, compared five at a time
- Google Trends Scraper — Google Trends trending searches
- Google Maps Store Scraper — Google Maps business listings
- LinkedIn Company Lookup — LinkedIn company records
- LinkedIn Profile Lookup — LinkedIn profile records
- Weather Forecast API — forecast and historical weather data
Jobs and Hiring
- All Jobs Scraper — multi-platform job listings
- Bayt Jobs Scraper — Bayt job listings
- Glassdoor Jobs Scraper — Glassdoor job listings
- Indeed Jobs Scraper — Indeed job listings
- JobStreet Company Profile — JobStreet employer records
- Jooble Jobs Scraper — Jooble job listings
- LinkedIn Jobs Scraper — LinkedIn job listings
- Naukri Jobs Scraper — Naukri job listings
- Talent Jobs Scraper — Talent.com job listings
- ZipRecruiter Jobs Scraper — ZipRecruiter job listings
Social Media
- Instagram Creator Scraper — Instagram creator profiles
- Instagram Reels Scraper — Instagram Reels metadata
- Instagram Trending Scraper — Instagram trending content
- Medium Scraper — Medium articles
- Medium Profile Scraper — Medium author profiles
- Reddit Profile Scraper — Reddit user profiles
- Reddit Viral Scraper — Reddit viral posts
- SubReddit Info Scraper — subreddit metadata
- Subreddit Members Scraper — subreddit member lists
- Subreddit Posts Scraper — subreddit post feeds
- Telegram Chat Scraper — Telegram chat messages
- Telegram Info Scraper — Telegram channel metadata
- Telegram Member Adder — Telegram group membership management
- Telegram Member Scraper — Telegram group members
- Telegram Private Group Scraper — private Telegram group data
- TikTok User Lookup — TikTok account records
- X Twitter Community API — X community data
- X Twitter Profile Lookup — X profile records
- YouTube Creator Email Scraper — YouTube creator contact data
Video, Transcripts and Downloads
- All Video Scraper — multi-platform video metadata
- Video Transcript — multi-platform transcripts
- Video Captions Downloader — caption files
- Video to Social Post — video repurposed into social copy
- YouTube Transcript — YouTube transcripts
- TikTok Transcript — TikTok transcripts
- X Twitter Transcript — X video transcripts
- Facebook Transcript — Facebook video transcripts
- Bilibili Transcript — Bilibili transcripts
- Dailymotion Transcript — Dailymotion transcripts
- Rutube Transcript — Rutube transcripts
- Loom Transcript — Loom transcripts
- Wistia Transcript — Wistia transcripts
- Instagram Reels Downloader — Reels downloads
- Kick Clip Downloader — Kick clip downloads
- Linkedin Video Downloader — LinkedIn video downloads
- Pinterest Video Downloader — Pinterest video downloads
- Reddit Video Downloader — Reddit video downloads
- Snapchat Video Downloader — Snapchat video downloads
- TED Talk Downloader — TED talk downloads
- TikTok Live Downloader — TikTok live downloads
- Twitch VOD Downloader — Twitch VOD downloads
- Zoom Recording Downloader — Zoom recording downloads
E-Commerce and Retail
- All Shopping Scraper — multi-platform product data
- AliExpress Product Scraper — AliExpress products
- Amazon Storefront Scraper — Amazon Brand Store pages
- Bol Product Scraper — Bol.com products
- eBay Seller Leads API — eBay seller records
- Hepsiburada Product Scraper — Hepsiburada products
- Kakaku Product Scraper — Kakaku.com products
- Rakuten Product Scraper — Rakuten products
Classifieds and Automotive
- All Vehicle Scraper — multi-platform vehicle listings
- AutoTrader Vehicle Search — AutoTrader US listings
- AutoTrader UK Vehicle Search — AutoTrader UK listings
Real Estate
- All Property Scraper — multi-platform property listings
- Homes Property Scraper — Homes.com listings
- MagicBricks Property Scraper — MagicBricks listings
- NoBroker Property Scraper — NoBroker listings
- Property24 Property Scraper — Property24 listings
- Realtor Property Scraper — Realtor.com listings
- Zillow Property Scraper — Zillow listings
Support and Community
Ask about creator tabs, Dataset fields, comments, or billing in the AgentX community on Telegram; for a reproducible bug, open an Actor issue with the run ID and exact input.
AgentX is an Arcyton brand — arcyton.com.
Last Updated: August 12, 2026