Source Data
===========
In this section a collection of all the API calls the Tiktok Web App makes will be listed.
This is the raw data from the Tiktok backend, not from the scraper itself.
.. http:get:: /
:noindex:
Query Parameters necessary for all types of request
:query string: WebIdLastTime (*required*) --
:query string: aid (*required*) --
:query string: app_lanugage (*required*) --
:query string: app_name (*required*) --
:query string: aweme_id (*required*) --
:query string: browser_language (*required*) --
:query string: browser_name (*required*) --
:query string: browser_platform (*required*) --
:query string: browser_version (*required*) --
:query string: channel (*required*) --
:query string: cookie_enabled (*required*) --
:query string: count (*required*) --
:query string: current_region (*required*) --
:query string: cursor (*required*) --
:query string: device_id (*required*) --
:query string: device_platform (*required*) --
:query string: enter_from (*required*) --
:query string: focus_state (*required*) --
:query string: fromWeb (*required*) --
:query string: from_page (*required*) --
:query string: history_len (*required*) --
:query string: is_fullscreen (*required*) --
:query string: is_non_personalized (*required*) --
:query string: is_page_visible (*required*) --
:query string: os (*required*) --
:query string: priority_region (*required*) --
:query string: referer (*required*) --
:query string: region (*required*) --
:query string: screen_height (*required*) --
:query string: screen_width (*required*) --
:query string: tz_name (*required*) --
:query string: webcast_language (*required*) --
:query string: msToken (*required*) --
:query string: _signature (*required*) --
:requestheader Authorization: `msToken`
:requestheader Cookie: token from response of last request `X-Ms-Token`
.. important::
It seems like all (or at least most) of the query parameters are necessary
.. http:get:: /api/user/detail/
:noindex:
Get details of user
:>json json userInfo: userInfo
**Example response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
{
"userInfo": {
"stats": {
"diggCount": 0,
"followerCount": 869400,
"followingCount": 15,
"friendCount": 5,
"heart": 14900000,
"heartCount": 14900000,
"videoCount": 189
},
"user": {
"avatarLarger": ,
"avatarMedium": ,
"avatarThumb": ,
"canExpPlaylist": true,
"commentSetting": 0,
"commerceUserInfo": {
"commerceUser": false
},
"duetSetting": 0,
"followingVisibility": 1,
"ftc": false,
"id": ,
"isADVirtual": false,
"isEmbedBanned": false,
"nickNameModifyTime": 1659513420,
"nickname": ,
"openFavorite": false,
"privateAccount": false,
"profileEmbedPermission": 1,
"profileTab": {
"showPlayListTab": false,
"showQuestionTab": true
},
"relation": 0,
"secUid": ,
"secret": false,
"signature": ,
"stitchSetting": 0,
"ttSeller": false,
"uniqueId": ,
"verified": false
}
}
}
.. http:get:: /api/user/list
:noindex:
Get followers
:>json json followers: List of followers
**Example response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
{
"extra": {
"fatal_item_ids": [],
"logid": "20231204180523B9C3034B5CF8695EBE51",
"now": 1701713124000
},
"hasMore": true,
"log_pb": {
"impr_id": "20231204180523B9C3034B5CF8695EBE51"
},
"maxCursor": 1701698692,
"minCursor": 1701685519,
"statusCode": 0,
"status_code": 0,
"total": 518808,
"userList": [
{
"stats": {
"diggCount": 11600,
"followerCount": 224,
"followingCount": 3215,
"friendCount": 0,
"heart": 272,
"heartCount": 272,
"videoCount": 29
},
"user": {
"avatarLarger": ,
"avatarMedium": ,
"avatarThumb": ,
"commentSetting": 1,
"downloadSetting": 3,
"duetSetting": 3,
"ftc": false,
"id": "7277635517649699845",
"isADVirtual": false,
"nickname": ,
"openFavorite": false,
"privateAccount": false,
"relation": 0,
"secUid": ,
"secret": false,
"signature": ,
"stitchSetting": 3,
"ttSeller": false,
"uniqueId": ,
"verified": false
}
},
]
}
.. http:get:: /api/comment/list
:noindex:
Get comments of a video
:>json json comments: List of comments
**Example response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
{
"alias_comment_deleted": false,
"comments": [
{
"author_pin": false,
"aweme_id": "7279848477109062945",
"cid": "7280136767352308512",
"collect_stat": 0,
"comment_language": "de",
"create_time": 1695038967,
"digg_count": 1413,
"image_list": null,
"is_author_digged": true,
"label_list": [
{
"text": ,
"type": 20
}
],
"no_show": false,
"reply_comment": [
{
"aweme_id": "7279848477109062945",
"cid": "7280143271883981600",
"collect_stat": 0,
"comment_language": "de",
"create_time": 1695040498,
"digg_count": 392,
"image_list": null,
"is_author_digged": false,
"label_list": [
{
"text": ,
"type": 1
}
],
"label_text": ,
"label_type": 1,
"no_show": false,
"reply_comment": null,
"reply_id": "7280136767352308512",
"reply_to_reply_id": "0",
"share_info": {
"acl": {
"code": 1,
"extra": "{\"item_share_acl\":\"empty item value\"}"
},
"desc": ,
"title": ,
"url": ,
},
"status": 1,
"text": ,
"text_extra": [],
"trans_btn_style": 1,
"user": {
"account_labels": null,
"ad_cover_url": null,
"advance_feature_item_order": null,
"advanced_feature_info": null,
"avatar_thumb": {
"uri": "tos-useast2a-avt-0068-euttp/d106515243ceb865bacd4db68ea94283",
"url_list": [
],
"url_prefix": null
},
"bold_fields": null,
"can_message_follow_status_list": null,
"can_set_geofencing": null,
"cha_list": null,
"cover_url": null,
"custom_verify": "",
"enterprise_verify_reason": "",
"events": null,
"followers_detail": null,
"geofencing": null,
"homepage_bottom_toast": null,
"item_list": null,
"mutual_relation_avatars": null,
"need_points": null,
"nickname": ,
"platform_sync_info": null,
"relative_users": null,
"search_highlight": null,
"sec_uid": ,
"shield_edit_field_info": null,
"type_label": null,
"uid": "6958026025243706373",
"unique_id": ,
"user_profile_guide": null,
"user_tags": null,
"white_cover_url": null
},
"user_buried": false,
"user_digged": 0
}
],
"reply_comment_total": 8,
"reply_id": "0",
"reply_to_reply_id": "0",
"share_info": {
"acl": {
"code": 1,
"extra": "{\"item_share_acl\":\"empty item value\"}"
},
"desc": ,
"title": ,
"url":
},
"status": 1,
"stick_position": 0,
"text": ,
"text_extra": [],
"trans_btn_style": 1,
"user": {
"account_labels": null,
"ad_cover_url": null,
"advance_feature_item_order": null,
"advanced_feature_info": null,
"avatar_thumb": {
"uri": "tos-useast2a-avt-0068-euttp/d8b118380e3ddbd227adf3c20042e5a9",
"url_list": [
],
"url_prefix": null
},
"bold_fields": null,
"can_message_follow_status_list": null,
"can_set_geofencing": null,
"cha_list": null,
"cover_url": null,
"custom_verify": "",
"enterprise_verify_reason": "",
"events": null,
"followers_detail": null,
"geofencing": null,
"homepage_bottom_toast": null,
"item_list": null,
"mutual_relation_avatars": null,
"need_points": null,
"nickname": "vykdzgdrn47",
"platform_sync_info": null,
"relative_users": null,
"search_highlight": null,
"sec_uid": "MS4wLjABAAAA5SL64ddtcxtnLNxRWIeq427MNy1BSnxaEcbxQPaXtEzUwMVfKHY6m8Pzpsq8yG9A",
"shield_edit_field_info": null,
"type_label": null,
"uid": "7275216108189271073",
"unique_id": "vykdzwcwk",
"user_profile_guide": null,
"user_tags": null,
"white_cover_url": null
},
"user_buried": false,
"user_digged": 0
},
}
.. http:get:: /api/explore/item_list
:noindex:
Get trending videos
:>json json videos: List of videos
**Example response**:
.. sourcecode:: http
HTTP/1.1 200 OK
Vary: Accept
Content-Type: text/javascript
{
"BAInfo": "",
"adAuthorization": false,
"adLabelVersion": 0,
"author": {
"avatarLarger": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-avt-0068-giso/ba1e7df48c5a3682582da7989016fc16~c5_1080x1080.jpeg?x-expires=1701882000\u0026x-signature=DnP7GG6IbQJPGJBieDMWOcdUUA0%3D",
"avatarMedium": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-avt-0068-giso/ba1e7df48c5a3682582da7989016fc16~c5_720x720.jpeg?x-expires=1701882000\u0026x-signature=tarGE0dyTybP7InrBusGH7F6TfA%3D",
"avatarThumb": "https://p16-sign-useast2a.tiktokcdn.com/tos-useast2a-avt-0068-giso/ba1e7df48c5a3682582da7989016fc16~c5_100x100.jpeg?x-expires=1701882000\u0026x-signature=%2BPWCEbAB9WW8YmsbbTb%2FKh5byUA%3D",
"commentSetting": 0,
"downloadSetting": 3,
"duetSetting": 3,
"ftc": false,
"id": "6780231953461478401",
"isADVirtual": false,
"isEmbedBanned": false,
"nickname": "Fitria Marala",
"openFavorite": false,
"privateAccount": false,
"relation": 0,
"secUid": "MS4wLjABAAAAFdBt489FnKNr0IrpsKhY_zFiLcvB7X9E9XHdwdkOr7JEfurVxcXu4bQ3AnYh2HJ9",
"secret": false,
"signature": ,
"stitchSetting": 3,
"ttSeller": true,
"uniqueId": "_fitr13",
"verified": false
},
"authorStats": {
"diggCount": 35400,
"followerCount": 19000,
"followingCount": 72,
"friendCount": 0,
"heart": 4000000,
"heartCount": 4000000,
"videoCount": 14
},
"collected": false,
"contents": [
{
"desc":
}
],
"createTime": 1701169484,
"desc": ,
"digged": false,
"diversificationId": 10066,
"duetDisplay": 0,
"duetEnabled": false,
"duetInfo": {
"duetFromId": "0"
},
"forFriend": false,
"id": ,
"isAd": false,
"itemCommentStatus": 0,
"itemMute": false,
"music": {
"album": "",
"authorName": "question mark",
"coverLarge": "https://p16-sign-va.tiktokcdn.com/musically-maliva-obj/1594805258216454~c5_1080x1080.jpeg?x-expires=1701882000\u0026x-signature=dm%2FI9r5oLOEtpcLRjA4Zx42XbCk%3D",
"coverMedium": "https://p16-sign-va.tiktokcdn.com/musically-maliva-obj/1594805258216454~c5_720x720.jpeg?x-expires=1701882000\u0026x-signature=w99ww%2BBRGG6Zg9KPvByT5MmKxAc%3D",
"coverThumb": "https://p16-sign-va.tiktokcdn.com/musically-maliva-obj/1594805258216454~c5_100x100.jpeg?x-expires=1701882000\u0026x-signature=u%2FkeM1JKCKsSA9LpkeuHPO6R3Js%3D",
"duration": 42,
"id": "7279680270842874630",
"original": true,
"playUrl": "https://v77.tiktokcdn.com/3eb253b9646ebc0ff533f425b96746f6/656e2134/video/tos/useast2a/tos-useast2a-v-27dcd7/ocABJQlYnve6pBPBQDbVCPUyf87j2lBUkWOJnN/?a=1233\u0026ch=0\u0026cr=0\u0026dr=0\u0026er=2\u0026cd=0%7C0%7C0%7C0\u0026br=250\u0026bt=125\u0026bti=NDU3ZjAwOg%3D%3D\u0026ft=d2A~l-Inz7TS152Ziyq8Z\u0026mime_type=audio_mpeg\u0026qs=6\u0026rc=NmY2NmRoNzpkaDdnZTk4ZEBpajNpaDg6Zjw8bjMzNzU8M0BeXjMxMzIzXzUxYi8zMTAtYSNnczRrcjRfcTBgLS1kMTZzcw%3D%3D\u0026l=2023120417571317E0A4084BE6C75B3246\u0026btag=e00088000\u0026cc=13\u0026download=true",
"title": "original sound - question mark"
},
"officalItem": false,
"originalItem": false,
"playlistId": "",
"privateItem": false,
"secret": false,
"shareEnabled": true,
"showNotPass": false,
"stats": {
"collectCount": 362000,
"commentCount": 9062,
"diggCount": 4000000,
"playCount": 20000000,
"shareCount": 79700
},
"stitchDisplay": 0,
"stitchEnabled": false,
"video": {
"bitrate": 1451746,
"bitrateInfo": [
{
"Bitrate": 1561318,
"CodecType": "h265_hvc1",
"GearName": "adapt_lowest_1080_1",
"PlayAddr": {
"DataSize": 2036350,
"FileCs": "c:0-10305-7bc0",
"FileHash": "d1d995c95debfa4c38f1bb69a9d96f27",
"Uri": "v14044g50000clisifnog65grp6351j0",
"UrlKey": "v14044g50000clisifnog65grp6351j0_bytevc1_1080p_1561318",
"UrlList": [
]
},
"QualityType": 2
},
{
"Bitrate": 1451746,
"CodecType": "h264",
"GearName": "normal_540_0",
"PlayAddr": {
"DataSize": 1893440,
"FileCs": "c:0-10159-d9dc",
"FileHash": "33c9de442d59cc9c1d5d4e104b69d827",
"Uri": "v14044g50000clisifnog65grp6351j0",
"UrlKey": "v14044g50000clisifnog65grp6351j0_h264_540p_1451746",
"UrlList": [
]
},
"QualityType": 20
},
{
"Bitrate": 906902,
"CodecType": "h265_hvc1",
"GearName": "adapt_lower_720_1",
"PlayAddr": {
"DataSize": 1182828,
"FileCs": "c:0-10306-4a4a",
"FileHash": "f089fc3f5761f8e9e683dc54b80bd7b9",
"Uri": "v14044g50000clisifnog65grp6351j0",
"UrlKey": "v14044g50000clisifnog65grp6351j0_bytevc1_720p_906902",
"UrlList": [
]
},
"QualityType": 14
},
{
"Bitrate": 712302,
"CodecType": "h264",
"GearName": "lower_540_0",
"PlayAddr": {
"DataSize": 929021,
"FileCs": "c:0-10159-c9d1",
"FileHash": "4a7f1e76fd2a60c061c81878016d62ee",
"Uri": "v14044g50000clisifnog65grp6351j0",
"UrlKey": "v14044g50000clisifnog65grp6351j0_h264_540p_712302",
"UrlList": [
]
},
"QualityType": 24
},
{
"Bitrate": 690608,
"CodecType": "h265_hvc1",
"GearName": "adapt_540_1",
"PlayAddr": {
"DataSize": 900726,
"FileCs": "c:0-10306-ddd9",
"FileHash": "c15cf5fe0f9c593136fded088dd4e1df",
"Uri": "v14044g50000clisifnog65grp6351j0",
"UrlKey": "v14044g50000clisifnog65grp6351j0_bytevc1_540p_690608",
"UrlList": [
]
},
"QualityType": 28
}
],
"codecType": "h264",
"cover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/oYPZDYXcplJVOVB3iiBvWIEMwwyk3yBBhAEmA?x-expires=1701882000\u0026x-signature=DiF3PvAeSJKONwiKFMthqOAP85I%3D",
"definition": "540p",
"downloadAddr": ,
"duration": 10,
"dynamicCover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/5e7ee1e9e9384552ae3775f49db46801_1701169488?x-expires=1701882000\u0026x-signature=70l%2BXQk1iARzH7dptObbcQWMfVQ%3D",
"encodeUserTag": "",
"encodedType": "normal",
"format": "mp4",
"height": 1024,
"id": "7306467281624747282",
"originCover": "https://p16-sign-sg.tiktokcdn.com/obj/tos-alisg-p-0037/65663301006047c4b8a174aff56a6f84_1701169486?x-expires=1701882000\u0026x-signature=EjnH8NuoBpLFu0jVuzFP5tVm12A%3D",
"playAddr": ,
"ratio": "540p",
"reflowCover": ,
"shareCover": [
"",
],
"size": 1893440,
"videoQuality": "normal",
"volumeInfo": {
"Loudness": -19.9,
"Peak": 0.41687
},
"width": 576,
"zoomCover": {
"240": ,
"480": ,
"720": ,
"960":
}
},
"vl1": false
}