GET/v1/tiktok/user/posts
Get TikTok user posts
Retrieve a paginated post feed for a TikTok user. Pass `pagination.next_cursor` back as `cursor` for the next page.
Engagement counts are grouped under `metrics`.
Parameters
| Name | Type | Description |
|---|---|---|
| usernamerequired | string | TikTok username (without the `@`) e.g. twitter |
| cursor | string | Pagination cursor from the previous response (`pagination.next_cursor`) |
Request
Shell
curl -G "https://socialapi.airaa.xyz/v1/tiktok/user/posts" \ -H "X-API-KEY: YOUR_KEY" \ -d "username=twitter" \ -d "cursor=cursor"
Try it
Live requestRelayed through this site — your key is never stored
X-API-KEY
usernamerequired
cursor
Response example
200 OKapplication/json
{
"user": {
"id": "7010811599787820038",
"username": "twitter",
"display_name": "Twitter",
"profile_url": "https://www.tiktok.com/@twitter",
"profile_picture_url": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/4350f145a4b.jpeg",
"is_private": false,
"is_verified": true,
"follower_count": 260400,
"following_count": 0,
"like_count": 3400000,
"post_count": 23
},
"posts": [
{
"id": "7132901472211160363",
"post_url": "https://www.tiktok.com/@twitter/video/7132901472211160363",
"type": "video",
"caption": "how many times do we have to tell you",
"published_at": "2022-08-17T17:40:44.000Z",
"duration_seconds": 9,
"metrics": {
"like_count": 9272,
"comment_count": 6504,
"share_count": 97,
"save_count": 745,
"view_count": 4800000
},
"media": [
{
"type": "video",
"url": "https://v16-webapp-prime.tiktok.com/video/tos/alisg/tos-alisg-ve-37c7.mp4",
"thumbnail_url": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/ffef7417a.jpeg",
"width": 576,
"height": 1024,
"duration_seconds": 9
}
]
}
],
"pagination": {
"next_cursor": "1638313258000",
"has_more": true
}
}Response codes
200Posts list
400Missing or invalid query parameter
401Missing or invalid `X-API-KEY` header
429Request quota exceeded — contact light@airaa.xyz to upgrade your plan
500Server misconfiguration — API key environment variable not set
502Upstream provider temporarily unavailable — please try again
504Request timed out — please try again
All error responses follow the shape
{ "error": "message" }