TikTok user posts
Get a TikTok account's videos with engagement counts (plays, likes, comments, shares, saves), hashtags, and the sound each video uses (music.id feeds tiktok_music_posts). For a date range, pass since and the walk pages back until it reaches that date — do NOT try to cover a range with a big max_items.
For a date range pass since and until rather than a large item cap — plus tz, the user's timezone, so the days are cut on THEIR calendar. The walk pages back until it reaches that date, and the tool returns a totals block (posts, views, likes, comments, engagement_rate) computed over exactly that window. Quote those numbers; never add up the rows yourself. Before reporting a total, read these four fields — each one exists because ignoring it produced a wrong report:
partial: true— the walk stopped early, so this is a FLOOR, not a measurement. Say so, or re-run; never present it as the period's total.overlaps— names a sibling feed returning the SAME pieces. Report one feed or the other; adding both counts every piece twice.views_metric— which upstream numberviewscame from. Two feeds on one platform can report different values for the same piece, so only compare or combine totals whoseviews_metricmatches.measured_at— when it was read. Live counts move fast; state it whenever you report a total, and never explain a difference between two runs as a mistake before checking whether the pieces simply gained views between them.
COVERING MORE THAN ONE ACCOUNT OR FEED: never add these totals in your head. Each result carries a receipt — a TSV block with the same five columns on every platform. Paste the receipts into run_code and total them there: dedupe on (platform, id) so a piece returned by two feeds is counted once, keep an empty field as missing rather than 0, and only add views across receipts whose views_metric matches. Report the code's number, not a retyped one, and hand back the per-piece list so the total can be checked by hand. For comparing several accounts at once, prefer tiktok_trend_scan.
Authorization
bearerAuth JWT token from authentication
In: header
Header Parameters
Pin the caller to an API major (1). Omit to accept the current version. A major this deployment cannot serve is refused with 400 unsupported_api_version.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/social/tiktok_user_posts" \ -H "Content-Type: application/json" \ -d '{ "organization_id": "string", "input": { "username": "string" } }'{ "operation": "instagram_profile", "result": { "summary": "string", "username": "string", "sort": "recent", "count": -9007199254740991, "totals": { "window": { "since": "string", "until": "string", "tz": "string" }, "posts": -9007199254740991, "views": 0, "likes": 0, "comments": 0, "engagement_rate": 0, "rows_without_views": -9007199254740991, "rows_without_likes": -9007199254740991, "rows_without_comments": -9007199254740991, "views_metric": "string", "measured_at": "string", "partial": true, "overlaps": "string", "oldest": "string", "newest": "string" }, "receipt": "string", "coverage": "string", "posts": [ { "id": "string", "url": "string", "text": "string", "category": "string", "region": "string", "created_at": "string", "duration_seconds": 0, "play_count": 0, "like_count": 0, "comment_count": 0, "share_count": 0, "save_count": 0, "hashtags": [ "string" ], "music": { "id": "string", "title": "string", "author": "string", "original": true }, "author": { "id": "string", "username": "string", "nickname": "string", "verified": true }, "image_url": "string", "slide_image_urls": [ "string" ] } ] }, "requests": 0, "credits_charged": 0}