TikTok API endpoint
Returns one page of videos from TikTok's mobile For You feed, signed with well-formed mobile signature headers (no device or account needed). Each item carries `aweme_id`, `create_time`, `author_id`, `share_url` and the verified statistics block (`play_count`, `digg_count`, `comment_count`, `share_count`, `collect_count`, `download_count`, `forward_count`, `lose_count`, `lose_comment_count`, `whatsapp_share_count`, `repost_count`). A zero `count` uses the app's default page size; `count` is capped at 50.
/tiktok/mobile/feedQuery parameters:
count: optional. Videos to request (0 = app default, max 50). Default: 0.cursor: optional. Pagination cursor. Default: 0.Notable response behavior:
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| count | integer | No | Videos to request (0 = app default, max 50) | ||
| cursor | integer | No | Pagination cursor |
curl -X GET "https://api.crawlora.net/api/v1/tiktok/mobile/feed?count=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"items": [
{
"aweme_id": "7681236055831416084",
"create_time": 1788178688,
"author_id": 7552757483087250000,
"share_url": "https://www.tiktok.com/@example/video/7681236055831416084",
"statistics": {
"aweme_id": "7681236055831416084",
"comment_count": 465300,
"digg_count": 43900000,
"download_count": 63616,
"play_count": 268300000,
"share_count": 6700000,
"forward_count": 0,
"lose_count": 0,
"lose_comment_count": 0,
"whatsapp_share_count": 0,
"collect_count": 3225298,
"repost_count": 0
}
}
],
"count": 1,
"host": "aggr16-normal.tiktokv.us",
"fetched_at": "2026-10-18T18:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/tiktokmobile.feedResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tiktokmobile.FeedResponse | No | ||||
| data.count | integer | No | ||||
| data.fetched_at | string | No | ||||
| data.host | string | No | ||||
| data.items | array | No | ||||
| data.items[].author_id | integer | No | ||||
| data.items[].aweme_id | string | No | ||||
| data.items[].create_time | integer | No | ||||
| data.items[].share_url | string | No | ||||
| data.items[].statistics | tiktokmobile.FeedStatistics | No | ||||
| data.items[].statistics.aweme_id | string | No | ||||
| data.items[].statistics.collect_count | integer | No | ||||
| data.items[].statistics.comment_count | integer | No | ||||
| data.items[].statistics.digg_count | integer | No | ||||
| data.items[].statistics.download_count | integer | No | ||||
| data.items[].statistics.forward_count | integer | No | ||||
| data.items[].statistics.lose_comment_count | integer | No | ||||
| data.items[].statistics.lose_count | integer | No | ||||
| data.items[].statistics.play_count | integer | No | ||||
| data.items[].statistics.repost_count | integer | No | ||||
| data.items[].statistics.share_count | integer | No | ||||
| data.items[].statistics.whatsapp_share_count | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tiktok/mobile/feed?count=10" \
-H "x-api-key: $CRAWLORA_API_KEY"