Tiktok Posts API
Collect TikTok posts and video data from any public account for trend research, content audits, and competitive benchmarking.
| 1 | import requests |
| 2 | |
| 3 | root = "https://ensembledata.com/apis" |
| 4 | endpoint = "/tt/user/posts" |
| 5 | params = { |
| 6 | "username": "daviddobrik", |
| 7 | "depth": 1, |
| 8 | "start_cursor": 0, |
| 9 | "oldest_createtime": 1667843879, |
| 10 | "new_version": False, |
| 11 | "download_video": False, |
| 12 | "token": "YOUR-TOKEN-HERE" |
| 13 | } |
| 14 | |
| 15 | res = requests.get(root+endpoint, params=params) |
| 16 | print(res.json()) |
| 17 |
Why Developer Teams Use Our API
Full Video Archive Access
Paginate through a creator's entire public upload history instead of settling for just the latest posts.
Spot Trends Before Competitors
Track captions, hashtags, and view counts across a feed to catch what content angle is working.
Caption & Hashtag Extraction
Every post returns clean caption text and hashtags, ready for keyword and topic analysis.
Content Audit Ready
Pull an account's full post history in one workflow when preparing a competitive content audit.
Engagement Per Post
Get play, like, comment, and share counts broken out for every single video, not just averages.
No Browser Automation
Skip headless browsers and rate-limited scraping scripts, the API handles pagination and formatting for you.
Scrape Tiktok Data Effortlessly
Fetch posts, captions, and engagement data at scale so your team spends time on analysis instead of hunting for data manually.
Post-Level Timestamps
Get exact publish dates for every TikTok video to map a posting cadence.
Feed Your Pipeline
Drop structured TikTok video data straight into a research pipeline, no scraping glue.
Multi-Account Scale
Pull post histories for hundreds of TikTok creators in one automated workflow.
Tiktok Scraping Features
Content strategists track what is performing, spot emerging trends, and understand what audiences actually watch with our TikTok video analytics API.
- Paginate through a creator's entire public TikTok video archive instead of just recent uploads.
- Retrieve captions, direct play URLs, and hashtags for every post in a single feed pull.
- Get play, like, comment, and share counts broken out per video for granular analysis.
- Identify pinned videos directly in the response instead of guessing from feed order.
- Feed structured TikTok post histories straight into a research pipeline without scraping glue.
Starting crawling Tiktok now!
Get Your API Key in Minutes
Create a free account (no credit card required) and receive an API token instantly to test endpoints, pull live data, and rapidly prototype integrations. Upgrade as your needs grow.
Get started freeDeveloper Support
Need help integrating or customizing data for your workflows? Our developer success team offers onboarding, guidance, and enterprise support to get your project production-ready.
Contact usFrequently Asked Questions
Each post includes the caption, video URL, play/like/comment/share counts, hashtags used, and the publish date, so you can analyze full post-level performance.
Yes, the endpoint paginates through a user's public video history, letting you collect their entire post archive rather than just the most recent uploads.
No, only public accounts are supported since the API only accesses data that is publicly visible on the platform.
Each call returns a batch of videos along with a cursor value; pass that cursor into the next request to keep walking through the account's history.
Yes, pinned posts are returned along with the rest of the feed, and a flag on each entry indicates whether it's pinned so you can separate it from chronological order.
The response includes a direct play URL alongside metadata like captions and stats, so you can fetch the actual video file if your workflow needs it.
No hard cap on total posts; you keep paginating with the returned cursor until the API signals there are no pages left.
Data is fetched live from TikTok at request time, so view counts, likes, and comments reflect the account's current state rather than a cached snapshot.