Profile videos
https://scraper.riken.me/v3/tiktok/profile/videosTry it
Paste your key under Authorization and send a live request to https://scraper.riken.me. The key stays in this browser tab only (session storage, cleared when the tab closes) and is sent nowhere else. A live request spends credits like any other.
An account's newest videos.
Beta: page 1 only. has_more is always 0. Asking for a later page
with max_cursor returns 501 not_yet_available, free. On page 1
statistics has play_count only; like, comment, share and save counts
are null. The count per page is what TikTok's embed gives (12 and 13 in
our fixtures) and is not fixed.
An account that does not exist is a 404, free (counts toward the
free-answer limit). A private account is a 200, charged,
{"handle", "account_private": true}.
Headers
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
x-api-key | string | one of the auth headers | Your API key. If both headers are sent, `x-api-key` wins. | sk_... |
Authorization | string | one of the auth headers | `Authorization: Bearer <key>`, the same key. | Bearer sk_... |
Idempotency-Key | string | no | Any string up to 255 characters. Makes a retry safe for 24 hours; bound to this API key and the request's parameters. | profile-dagestantrainingcamp-2026-11-01 |
Query parameters
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
handle | string | no | The TikTok handle. Required unless `user_id` is given. A leading `@` is removed; case does not matter. Letters, digits, `_` and `.` only, at most 64 characters. With both `handle` and `user_id`, `user_id` is ignored. | dagestantrainingcamp |
user_id | string | no | TikTok's numeric user id, at most 20 digits, used only when `handle` is absent. Works only for accounts in our index: an unknown id is `400 unsupported_parameter` ("pass handle"), and an id whose handle has changed is `400 unsupported_parameter` too. Both free, both count toward the free-answer limit. | 6918108151024829445 |
max_cursor | string | no | Absent, empty or `0` means page 1. Any other value is `501 not_yet_available` in beta. | 0 |
sort_by | latest | popular | no | `latest` or absent. `popular` is `400 unsupported_parameter`; any other value is `400 bad_request`. | |
include_pinned | boolean | no | `true` or absent. `false` is `400 unsupported_parameter`: pinned posts are always included. | |
region | string | no | Two letters, accepted and ignored. Not two letters is `400 bad_request`. | |
trim | string | no | Accepted and ignored. Not validated on this route. |
Status codes
| Status | Charged | Meaning |
|---|---|---|
| 200 | Charged | Page 1 of the videos, or the private-account answer. Charged. |
| 400 | Free | A parameter is missing, malformed, or one we cannot honour yet. Free. |
| 401 | Free | Missing, unknown or revoked key. Free. |
| 402 | Free | The key cannot cover this request. needed_credits is the price. Free. |
| 404 | Free | The account does not exist. Free; counts toward the free-answer limit. |
| 409 | Free | A request with this Idempotency-Key and parameters is still running. Free; retry after Retry-After (1 s). |
| 429 | Free | over_capacity: no capacity within the time limit, or the server is
restarting (30 s). rate_limited: the free-answer limit (this answer
would have been free). Free; wait Retry-After seconds.
|
| 500 | Free | Our fault. Free; retry and quote X-Request-Id. |
| 501 | Free | max_cursor asks for page 2 or later, not available in beta. Free. |
| 502 | Free | TikTok's answer failed or could not be read (including accounts TikTok withholds from logged-out views). Free. |
| 503 | Free | The route has no price yet, so it does not serve. Free. |
| 504 | Free | No answer within the time limit (180 s; audience 300 s). Free. |
Page 1 of the videos, or the private-account answer. Charged.
application/json- response
success*unknowncredits_charged*CreditsAn amount in credits, as an exact JSON decimal (1, 0.002), never a rounded float.
0 <= valuecredits_remaining*CreditsRemainingWhat the key can still spend after this request.
aweme_list*array<>has_more*integerAlways 0 in beta.
01max_cursor*integerFilled
status_code*integerExample request
# A call can be held open up to 180 s (audience: 300 s). Set a client timeout above that.curl -X GET 'https://scraper.riken.me/v3/tiktok/profile/videos?handle=dagestantrainingcamp&user_id=6918108151024829445&max_cursor=0' \ -H 'Idempotency-Key: profile-dagestantrainingcamp-2026-11-01'{ "aweme_list": [ { "added_sound_music_info": null, "aigc_info": null, "anchors": null, "anchors_extras": null, "animated_image_info": null, "author": { "avatar_168x168": null, "avatar_300x300": null, "avatar_larger": { "height": null, "uri": null, "url_list": [ "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/23acee9247d9576ff8a4626add13fbfd~tplv-tiktokx-cropcenter:1080:1080.jpeg?dr=9640&refresh_token=7231d9a6&x-expires=1793563200&x-signature=c41FazTETsYo8P%2BTmuPfZjEZAFI%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8" ], "url_prefix": null, "width": null }, "avatar_medium": { "height": null, "uri": null, "url_list": [ "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/23acee9247d9576ff8a4626add13fbfd~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=69603e15&x-expires=1793563200&x-signature=scJlakKQv0P9I46Wo9%2FV5pfatIw%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8" ], "url_prefix": null, "width": null }, "avatar_thumb": { "height": null, "uri": null, "url_list": [ "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/23acee9247d9576ff8a4626add13fbfd~tplv-tiktokx-cropcenter:100:100.jpeg?dr=9640&refresh_token=95abdb08&x-expires=1793563200&x-signature=8OwnKAnW8MdgUe9z%2FBger1%2FN%2FZQ%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=81f88b70&idc=useast8" ], "url_prefix": null, "width": null }, "aweme_count": 48, "commerce_user_level": null, "custom_verify": null, "enterprise_verify_reason": null, "favoriting_count": 0, "follower_count": 8740, "following_count": 125, "hide_search": null, "ins_id": null, "is_star": null, "language": "fr", "nickname": "Dagestan Training Camp", "sec_uid": "MS4wLjABAAAAynBXrV7vRUXrvgYYr-msCZbjkFi9Xh-AiK6DkKzopQIeqh7Ppoqv81VHPZfD5xf6", "secret": 0, "short_id": "", "signature": "🥊 MMA & Wrestling Training Camp in Dagestan\n⛰️For all level (beginner to professional)\n\nCheck our website ⬇️", "total_favorited": 275500, "twitter_id": null, "uid": "6918108151024829445", "unique_id": "dagestantrainingcamp", "verification_type": 0, "with_commerce_entry": null, "youtube_channel_id": null }, "author_user_id": 6918108151024829000, "aweme_acl": null, "aweme_id": "7574554126068075798", "aweme_type": null, "banners": null, "behind_the_song_music_ids": null, "behind_the_song_video_music_ids": null, "bodydance_score": null, "branded_content_accounts": null, "c2pa_info": null, "cc_template_info": null, "cha_list": null, "challenge_position": null, "cmt_swt": null, "collect_stat": null, "comment_config": null, "comment_topbar_info": null, "commerce_config_data": null, "commerce_info": null, "content_desc": null, "content_desc_extra": null, "content_model": null, "content_original_type": null, "content_size_type": null, "content_type": null, "cover_labels": null, "create_time": 1763588312, "create_time_utc": "2025-11-19T21:38:32.000Z", "creation_info": null, "desc": "Visite de la salle à Khabib, c’est ici que vous allez passer vos camps d’entraînement avec nous 🏔️ #mma #islammakhachev #khabib_nurmagomedov #dagestan #trainingcamp ", "desc_language": null, "disable_search_trending_bar": null, "distance": null, "distribute_type": null, "follow_up_item_id_groups": null, "follow_up_publish_from_id": null, "geofencing": null, "geofencing_regions": null, "green_screen_materials": null, "group_id": "7574554126068075798", "group_id_list": null, "has_danmaku": null, "has_promote_entry": null, "has_vs_entry": null, "have_dashboard": null, "hybrid_label": null, "image_infos": null, "interact_permission": null, "interaction_stickers": null, "is_ad": null, "is_ads": null, "is_description_translatable": null, "is_eligible_for_commission": null, "is_hash_tag": null, "is_nff_or_nr": null, "is_on_this_day": null, "is_paid_partnership": null, "is_pgcshow": null, "is_preview": null, "is_relieve": null, "is_text_sticker_translatable": null, "is_title_translatable": null, "is_top": null, "is_vr": null, "item_comment_settings": null, "item_duet": null, "item_react": null, "item_stitch": null, "label_top": null, "label_top_text": null, "long_video": null, "main_arch_common": null, "mask_infos": null, "meme_reg_info": null, "misc_info": null, "muf_comment_info_v2": null, "music": { "author": null, "duration": null, "id_str": null, "is_original_sound": null, "owner_handle": null, "title": null }, "music_begin_time_in_ms": null, "music_end_time_in_ms": null, "music_selected_from": null, "music_title_style": null, "music_volume": null, "need_trim_step": null, "need_vs_entry": null, "nickname_position": null, "no_selected_music": null, "operator_boost_info": null, "origin_comment_ids": null, "origin_volume": null, "original_client_text": null, "picked_users": null, "playlist_blocked": null, "poi_re_tag_signal": null, "position": null, "prevent_download": null, "products_info": null, "promote_capcut_toggle": null, "promote_icon_text": null, "promote_toast": null, "promote_toast_key": null, "question_list": null, "quick_reply_emojis": null, "rate": null, "reference_tts_voice_ids": null, "reference_voice_filter_ids": null, "region": null, "risk_infos": null, "search_highlight": null, "share_info": null, "share_url": "https://www.tiktok.com/@dagestantrainingcamp/video/7574554126068075798", "shoot_tab_name": null, "shop_product_url": null, "social_interaction_blob": null, "solaria_profile": null, "sort_label": null, "standard_component_info": null, "statistics": { "aweme_id": "7574554126068075798", "collect_count": null, "comment_count": null, "digg_count": null, "download_count": null, "forward_count": null, "lose_comment_count": null, "lose_count": null, "play_count": 42300, "repost_count": null, "share_count": null, "whatsapp_share_count": null }, "status": { "allow_comment": null, "allow_share": null, "aweme_id": "7574554126068075798", "is_delete": null, "is_prohibited": null, "private_status": 0, "self_see": null }, "support_danmaku": null, "text_extra": null, "text_sticker_major_lang": null, "title_language": null, "ttec_suggest_words": null, "tts_voice_ids": null, "uniqid_position": null, "upvote_info": null, "upvote_preload": null, "url": "https://www.tiktok.com/@dagestantrainingcamp/video/7574554126068075798", "used_full_song": null, "user_digged": null, "video": { "CoverTsp": null, "ai_dynamic_cover": null, "ai_dynamic_cover_bak": null, "animated_cover": null, "big_thumbs": null, "bit_rate": null, "bit_rate_audio": null, "cdn_url_expired": null, "cover": { "height": null, "uri": null, "url_list": [ "https://p16-common-sign.tiktokcdn-us.com/tos-no1a-p-0037-no/oMOEFHNkmQAjGzJuRaOgefGGAgEqzBDApQORqF~tplv-tiktokx-origin.image?dr=9636&x-expires=1793563200&x-signature=v5fG%2BDuW6t9y66Go9nYmPf%2BnXvM%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8" ], "url_prefix": null, "width": null }, "duration": null, "dynamic_cover": { "height": null, "uri": null, "url_list": [ "https://p16-common-sign.tiktokcdn-us.com/tos-no1a-p-0037-no/oURBgFFEEuNfAqHzOpC3AAkewKQEQhRODjOGEg~tplv-tiktokx-origin.image?dr=9636&x-expires=1793563200&x-signature=SF0ary6TU0RymVZVVO5%2FuRdbF0M%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8" ], "url_prefix": null, "width": null }, "has_watermark": null, "height": 1024, "is_bytevc1": null, "is_callback": null, "meta": null, "misc_download_addrs": null, "need_set_token": null, "origin_cover": { "height": null, "uri": null, "url_list": [ "https://p19-common-sign.tiktokcdn-us.com/tos-no1a-p-0037-no/owkOOjHzDQwOAeqgARFCk0RNGBf4pdFQEjguEH~tplv-tiktokx-origin.image?dr=9636&x-expires=1793563200&x-signature=yU0DtuLP405xCZlGLmGW7I02GQM%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8" ], "url_prefix": null, "width": null }, "play_addr": { "height": null, "uri": null, "url_list": [ "https://v45.tiktokcdn-us.com/951e1b268a588f6919ae0e92d73dae0b/6ae7a75b/video/tos/useast2a/tos-useast2a-ve-68c810-euttp/ooIjRIDeHeMgcEIjb4PSnALAAkhGcBALAiVf4D/?a=1233&bti=ODszNWYuMDE6&&bt=1113&ft=aEKfuqT0mIoPD12pyq9I3wUBI0AbMeF~O5&mime_type=video_mp4&rc=ZjQ8ODc3aWdoODozZ2U3PEBpMzZ2d285cjY2NzMzbzczNUBjNWNjM19gNTExXy5iLzE0YSMtZWxgMmRjZGNhLS1kMTFzcw%3D%3D&vvpl=1&l=20261030205450AE8867C13A6CC8260364&btag=e00095000" ], "url_prefix": null, "width": null }, "ratio": "540p", "source_HDR_type": null, "tags": null, "width": 576 }, "video_control": null, "video_labels": null, "video_text": null, "visual_search_info": null, "voice_filter_ids": null, "with_promotional_music": null, "without_watermark": null } ], "credits_charged": 1, "credits_remaining": 999, "has_more": 0, "max_cursor": 1763503506000, "status_code": 0, "success": true}