profile, posts, post, and TikTok audience resources.
Start with a normalized endpoint when it covers your use case. It
gives you the same response schema across platforms. Choose an operation on this page
when you need a platform-only resource or the platform’s full field structure.
Choose an operation
| Need | Use |
|---|---|
| Comparable profiles or posts across platforms | Normalized endpoints |
| TikTok favorites, reposts, stories, social graph, sounds, hashtags, playlists, search, trends, comments, transcripts, or ads | A TikTok operation below |
| Instagram timeline, reels, full post details, comments, search, audio, or highlights | An Instagram operation below |
| Exact request and response schemas | The API reference or an endpoint in the left navigation |
POST https://app.sideshift.app/api/v1/scrape/{platform}/{resource}
/tiktok/audience route because its response remains wire-compatible.
The data object in every interactive 200 example was captured from a successful live
request on 2026-08-08 using the request body shown for that operation. Every example is
required to contain the operation’s defining result before it can be published. To keep the reference
readable and safe, arrays show an information-rich item selected from the returned page, long strings
are trimmed, public contact fields are redacted, and transient URL query strings are removed. SideShift applies the same
authentication, billing, error, and outer response envelope to every operation.
Quick example
Send a SideShift scraper key (scrape_live_*) in the x-api-key header and a JSON
request body. See the quickstart for complete setup examples.
export SIDESHIFT_SCRAPER_KEY="scrape_live_YOUR_KEY"
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/profile-details \
-H "x-api-key: $SIDESHIFT_SCRAPER_KEY" \
-H "Content-Type: application/json" \
-d '{"handle":"tiktok"}'
Response shape
The operation examples below document the contents ofdata. The outer envelope is
consistent across the entire Scraper API:
{
"data": {
"user": {
"id": "107955",
"nickname": "TikTok",
"avatarLarger": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.webp",
"avatarMedium": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.webp",
"avatarThumb": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:100:100.webp",
"secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
"signature": "One TikTok can make a big impact",
"uniqueId": "tiktok",
"UserStoryStatus": 0,
"createTime": 1425144149,
"ftc": false,
"isADVirtual": false,
"isUnderAge18": false,
"openFavorite": false,
"privateAccount": false,
"relation": 0,
"secret": false,
"verified": true,
"bioLink": {
"link": "linktr.ee/tiktok"
},
"ins_id": "",
"twitter_id": "",
"youtube_channel_id": "",
"youtube_channel_title": "",
"commentSetting": null,
"duetSetting": null,
"stitchSetting": null
},
"stats": {
"followerCount": 95152146,
"followingCount": 0,
"heart": 462528210,
"heartCount": 462528210,
"videoCount": 1570,
"diggCount": null
},
"itemList": []
},
"request_id": "req_8f3c9a2b1d4e6f70",
"upstream_calls": 1,
"meta": { "credits_charged": 1, "credits_remaining": 9999 }
}
data are intentionally preserved. Keep the
capitalization shown in the schemas, including uniqueId, UserStoryStatus,
strong_id__, and AIGCDescription. A missing count can be null; numeric 0
means the platform returned a real zero. A table type such as string or null means the
platform can omit that value for some records; the live example never substitutes a default.
Read Responses and data for
the envelope, identifier, media URL, and nullability rules.
Billing, pagination, and failures
- The standard cost of every completed platform operation or page is 1 SideShift credit.
- If your account has negotiated pricing, the Scraper dashboard’s advanced rate is the exact cost for every operation on this page.
- Confirmed not-found responses are billed.
- Requests rejected before work starts (
400,401,402,413,429) are free. - SideShift/data-source failures and timeouts (
500,502,504) are refunded.
has_more flag is
false. TikTok follower/following lists use min_time; collection posts use
max_cursor; Instagram timeline uses next_max_id; Instagram reels use max_id;
and Instagram hashtag/profile search uses page numbers capped at 10. Single-shot
operations return no cursor.
Read meta.credits_charged on success and X-Scraper-Credits-Charged on errors. Retry
refunded 500/502/504 failures with backoff, do not loop on billed 404
responses, and honor Retry-After on 429. See Billing, errors, and limits
for the complete policy and a copyable retry wrapper.
API reference
The operation sections below include copyable requests, parameter tables, pagination rules, and response-field tables. The left navigation also exposes a generated interactive reference for every endpoint.TikTok — 27 platform operations
Posts come back as TikTok’saweme object: aweme_id (the numeric id in a
permalink), desc, statistics (play_count, digg_count, comment_count,
share_count, collect_count), video (play_addr, cover, duration — each
URL field is a {uri, url_list} wrapper, read url_list[0]), author, music,
create_time and url.
Creators come back as uid / unique_id / nickname / sec_uid /
avatar_medium / follower_count / following_count.
TikTok · Creator
POST /api/v1/scrape/tiktok/profile-details
Profile header for one creator — identity, counts, links.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle (with or without @). |
user_id | str | no | null | Numeric TikTok user id — an alternative to unique_id |
cache_max_age | str | no | null | Accepted and ignored — every response is a live read. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/profile-details \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok"}'
ReturnsResponse — theuserandstatsin TikTok’s own web shape.itemListis present and empty; use the post endpoints for a feed.
data object:
| Key | Type | |
|---|---|---|
user | object | |
stats | object | |
itemList | array |
{
"user": {
"id": "107955",
"nickname": "TikTok",
"avatarLarger": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:1080:1080.webp",
"avatarMedium": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:720:720.webp",
"avatarThumb": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/ba67b11de451691939223e9d978e613a~tplv-tiktokx-cropcenter:100:100.webp",
"secUid": "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZYo1apxgzaxdBSeIuPiM",
"signature": "One TikTok can make a big impact",
"uniqueId": "tiktok",
"UserStoryStatus": 0,
"createTime": 1425144149,
"ftc": false,
"isADVirtual": false,
"isUnderAge18": false,
"openFavorite": false,
"privateAccount": false,
"relation": 0,
"secret": false,
"verified": true,
"bioLink": {
"link": "linktr.ee/tiktok"
},
"ins_id": "",
"twitter_id": "",
"youtube_channel_id": "",
"youtube_channel_title": "",
"commentSetting": null,
"duetSetting": null,
"stitchSetting": null
},
"stats": {
"followerCount": 95152146,
"followingCount": 0,
"heart": 462528210,
"heartCount": 462528210,
"videoCount": 1570,
"diggCount": null
},
"itemList": []
}
user fields:
| Field | Type | Example |
|---|---|---|
id | string | "107955" |
uniqueId | string | "tiktok" |
nickname | string | "TikTok" |
avatarThumb | string | "https://p16-common-sign.tiktokcdn-us.… |
avatarMedium | string | "https://p16-common-sign.tiktokcdn-us.… |
avatarLarger | string | "https://p19-common-sign.tiktokcdn-us.… |
signature | string | "One TikTok can make a big impact" |
verified | boolean | true |
secUid | string | "MS4wLjABAAAAv7iSuuXDJGDvJkmH_vz1qkDZY… |
secret | boolean | false |
ftc | boolean | false |
relation | number | 0 |
openFavorite | boolean | false |
commentSetting | string or null | |
duetSetting | string or null | |
stitchSetting | string or null | |
privateAccount | boolean | false |
isADVirtual | boolean | false |
isUnderAge18 | boolean | false |
ins_id | string | |
twitter_id | string | |
youtube_channel_title | string | |
youtube_channel_id | string | |
UserStoryStatus | number | 0 |
createTime | number | 1425144149 |
bioLink | object | nested: link |
stats fields:
| Field | Type | Example |
|---|---|---|
followingCount | number | 0 |
followerCount | number | 95148223 |
heartCount | number | 462523908 |
videoCount | number | 1570 |
diggCount | number or null | |
heart | number | 462523908 |
POST /api/v1/scrape/tiktok/favorites
Videos a creator publicly liked.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle (with or without @). |
user_id | str | no | null | Numeric TikTok user id — an alternative to unique_id |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/favorites \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"ramiryatebyalybly","cursor":"0"}'
Most accounts hide their Liked tab, so an empty page is normal rather than an error.Response — the
data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
unique_id | string | Echo of what you queried. |
user_id | string or null | Echo of what you queried. |
{
"unique_id": "ramiryatebyalybly",
"cursor": "1781353841000000",
"has_more": true,
"aweme_list": [
{
"aweme_id": "7659413529019026709",
"desc": "👌😂😜 #друзья #гости #прикол",
"url": "https://www.tiktok.com/@nastenchik__ru/video/7659413529019026709",
"create_time": 1783346188,
"music": {
"author": "NIKITA",
"id": "6709404227262760961",
"title": "Francuzskiy Poceluy",
"album": "Mashina - Special Edition",
"id_str": "6709404227262760961",
"mid": "6709404227262760961",
"owner_nickname": "NIKITA",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/oUjAIGKLeIAZBmAAUN1xPeImCyNzGepFA7ekcj~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"play_url": {
"uri": "https://sf16.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o4bmAZ3CBdBDDwgYW2nVQjoNwQrirCZnAeGtfK",
"url_list": [
"https://sf16.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o4bmAZ3CBdBDDwgYW2nVQjoNwQrirCZnAeGtfK"
]
}
},
"video": {
"data_size": 408118,
"watermark_data_size": 1106239,
"cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/ocU0kJ0ejUI30oDfCiGuagL2LEelAAvgvF0UgI~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/ocU0kJ0ejUI30oDfCiGuagL2LEelAAvgvF0UgI~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/90a2d60b9b169af605c531a31fac52ed/6a76e640/video/tos/alisg/tos-alisg-pve-0037c001/oc7ENCFSaQDyE3gAQaHgfyE3qXI2ReRBUCC7aB/",
"url_list": [
"https://v45.tiktokcdn-us.com/90a2d60b9b169af605c531a31fac52ed/6a76e640/video/tos/alisg/tos-alisg-pve-0037c001/oc7ENCFSaQDyE3gAQaHgfyE3qXI2ReRBUCC7aB/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oc2LBa7muVPEBkxiu5BN7tYtBBIaAiI0ABCAI~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/oc2LBa7muVPEBkxiu5BN7tYtBBIaAiI0ABCAI~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/o0IaLkt8iPZiuEBIA7INAEBd0Yt7BBO5NBmbV~tplv-tiktokx-shrink-aq:360:360:q75.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-p-0037/o0IaLkt8iPZiuEBIA7INAEBd0Yt7BBO5NBmbV~tplv-tiktokx-shrink-aq:360:360:q75.jpeg"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/2ada7b9464e20e093ec46935aaecd0a5/6a76e640/video/tos/alisg/tos-alisg-pve-0037c001/owaGBRkZu5BxiBHIO0L7IA7NEmtEAPiYoVtBj/",
"url_list": [
"https://v45.tiktokcdn-us.com/2ada7b9464e20e093ec46935aaecd0a5/6a76e640/video/tos/alisg/tos-alisg-pve-0037c001/owaGBRkZu5BxiBHIO0L7IA7NEmtEAPiYoVtBj/"
]
}
},
"author": {
"nickname": "@nastenchik__ru",
"unique_id": "nastenchik__ru",
"region": "BY",
"uid": "6615520580681973766",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/9959bbd48536962fcc479354dfe12a23~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7659413529019026709",
"collect_count": 12279,
"comment_count": 433,
"play_count": 2052779,
"share_count": 87796,
"digg_count": 281369,
"download_count": 2170
},
"author_user_id": "6615520580681973766",
"create_time_utc": "2026-07-06T13:56:28.000Z",
"media_id": "v14044g50000d95r817og65rtu92dd6g",
"region": "BY",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"anchors": [
{
"id": "7658297519461449744",
"component_key": "anchor_ucg_template",
"description": "Templates",
"extra": "{\"dispatch_type\":\"ugc_template\",\"origin_video_id\":\"7658297510980766997\",\"tags\":\"\",\"music_post_unavailable\":\"false\",\"icon\":\"https://lf16-effectcdn-us.tiktokcdn-us.com/obj/ies-material-resource-us/2169d26df2f0ccc1e5ba488cb1be1ff0\",\"title\":\"\",\"sub_type\":\"ugc\",\"author_id\":\"6752985…",
"keyword": "Try TikTok template",
"log_extra": "{\"anchor_id\":\"7658297519461449744\",\"anchor_name\":\"Try TikTok template\",\"anchor_type\":\"ugc_template\",\"has_friends_info\":\"0\"}",
"type": 65,
"actions": [
{
"schema": "shoot",
"action_type": 1,
"icon": {
"uri": "tiktok-obj/28px_primary_create_onDark3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"icon": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"commerce_info": {
"bc_label_test_text": "Promotional content",
"adv_promotable": true,
"auction_ad_invited": false,
"brand_organic_type": 1010,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
],
"user_id": null
}
POST /api/v1/scrape/tiktok/reposts
Posts a creator reposted.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle (with or without @). |
user_id | str | no | null | Numeric TikTok user id — an alternative to unique_id |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/reposts \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok","cursor":"0"}'
Each item is the ORIGINAL author’s post, so author.unique_id is that author, not the account queried.
Response — the data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
unique_id | string | Echo of what you queried. |
user_id | string or null | Echo of what you queried. |
{
"unique_id": "tiktok",
"cursor": "30",
"has_more": true,
"aweme_list": [
{
"aweme_id": "7647625121582025998",
"desc": "what an experience 🥹 full vid coming soon 👀 #disclosureday",
"url": "https://www.tiktok.com/@tiktokcreators/video/7647625121582025998",
"create_time": 1780601491,
"music": {
"author": "dhiesusongko",
"id": "7495774126525745926",
"title": "original sound - dhiesusongko",
"id_str": "7495774126525745926",
"mid": "7495774126525745926",
"owner_nickname": "dhiesusongko",
"duration": 15,
"is_original": true,
"is_original_sound": true,
"cover_large": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/7329951427051126802~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"play_url": {
"uri": "https://v19-ies-music.tiktokcdn-us.com/cdfe7b6f3e78d1153fc270b23b73b97d/6a7fcce6/video/tos/useast2a/tos-useast2a-v-27dcd7/o0SY5B0A0vkCi6MaW8ZJXlQ0iimVXUDAnISK6/",
"url_list": [
"https://v19-ies-music.tiktokcdn-us.com/cdfe7b6f3e78d1153fc270b23b73b97d/6a7fcce6/video/tos/useast2a/tos-useast2a-v-27dcd7/o0SY5B0A0vkCi6MaW8ZJXlQ0iimVXUDAnISK6/"
]
}
},
"video": {
"data_size": 2804008,
"duration": 15,
"watermark_data_size": 2644716,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oI4U0OWFBIgp5h2gA2iDpPIgmAfK1XBIipwgCE~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oI4U0OWFBIgp5h2gA2iDpPIgmAfK1XBIipwgCE~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg"
]
},
"download_addr": {
"uri": "https://v16m.tiktokcdn-us.com/237088c5e8506d11a0845df5141b3dfd/6a76e64a/video/tos/useast5/tos-useast5-pve-0068-tx/o4dLSFDzREDe6ICBcDEQABBApgtgTsFpIqfyNx/",
"url_list": [
"https://v16m.tiktokcdn-us.com/237088c5e8506d11a0845df5141b3dfd/6a76e64a/video/tos/useast5/tos-useast5-pve-0068-tx/o4dLSFDzREDe6ICBcDEQABBApgtgTsFpIqfyNx/"
]
},
"dynamic_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oYm201IYfAAlBgBgCpxhgFIwUiIVOENd2piIB5~tplv-tiktokx-origin.image",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/oYm201IYfAAlBgBgCpxhgFIwUiIVOENd2piIB5~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/osg0pBV51kBD3mUhA2iiwgBgCEAIvVqIIFf2pO~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/osg0pBV51kBD3mUhA2iiwgBgCEAIvVqIIFf2pO~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v16m.tiktokcdn-us.com/cb54d9183164f2ecef262e65dcdfa37f/6a76e64a/video/tos/useast5/tos-useast5-ve-0068c003-tx/o41rplhFgAmIOAiI2B2EgqFQCECUwufIdg0Bi5/",
"url_list": [
"https://v16m.tiktokcdn-us.com/cb54d9183164f2ecef262e65dcdfa37f/6a76e64a/video/tos/useast5/tos-useast5-ve-0068c003-tx/o41rplhFgAmIOAiI2B2EgqFQCECUwufIdg0Bi5/"
]
}
},
"author": {
"nickname": "tiktok creators",
"unique_id": "tiktokcreators",
"region": "US",
"uid": "6551237489917432832",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter:300:300.jpeg"
]
}
},
"statistics": {
"aweme_id": "7647625121582025998",
"collect_count": 484,
"comment_count": 507,
"play_count": 193617,
"share_count": 327,
"digg_count": 5256,
"download_count": 25
},
"author_user_id": "6551237489917432832",
"create_time_utc": "2026-06-04T19:31:31.000Z",
"media_id": "v12044gd0000d8gt0gfog65m2o2jd6sg",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"anchors": [
{
"id": "7634950575239596039",
"component_key": "anchor_movie_tok",
"description": "2026",
"extra": "{\"extra_info\":\"{\\\"promotion_entity_id\\\":\\\"7620936042547249164\\\",\\\"basic_info\\\":{\\\"ip_title\\\":\\\"Disclosure Day\\\",\\\"plot\\\":\\\"If you found out we weren’t alone, if someone showed you, proved it to you, would that frighten you? This summer, the truth belongs to eight billion peopl…",
"keyword": "Movie · Disclosure Day",
"log_extra": "{\"anchor_id\":\"7634950575239596039\",\"anchor_name\":\"Disclosure Day\",\"anchor_type\":\"movie\"}",
"schema": "aweme://lynxview?disable_bounce=1&hide_nav_bar=1&should_full_screen=1&use_forest=1&use_spark=1&url=https%3A%2F%2Flf16-gecko-source.tiktokcdn-us.com%2Fobj%2Fbyte-gurd-source-tx%2F10%2Fgecko%2Fresource%2Ftiktok_ogc_promotion_lynx%2Fpages%2Fmovie_anchor_landing%2Ftemplate.js&use_…",
"general_type": 1,
"type": 61,
"icon": {
"uri": "tiktok-obj/anchor_movietok.png",
"height": 720,
"width": 720,
"url_list": [
"https://p19-common.tiktokcdn-us.com/tiktok-obj/anchor_movietok.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/anchor_movietok.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/anchor_movietok.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-i-bqyoymiyqj-tx2/96c840b84cec463cb35a34189a6c27dd~tplv-bqyoymiyqj-ma-thumbnail.heic",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-i-bqyoymiyqj-tx2/96c840b84cec463cb35a34189a6c27dd~tplv-bqyoymiyqj-ma-thumbnail.heic"
]
}
}
],
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
],
"user_id": null
}
POST /api/v1/scrape/tiktok/stories
A creator’s currently-live stories (they expire after 24h).
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle — resolved to a user id for you. Pass user_id directly when you have it to skip the lookup. |
user_id | str | no | null | Numeric TikTok user id |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page.. Creators with many live stories span several pages. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/stories \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"nasa","cursor":"0"}'
Stories expire after 24 hours and most creators do not post them, so an empty aweme_list is the normal answer and means “no live story right now” — not an error, and not an empty account.
Response — the data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
unique_id | string or null | Echo of what you queried. |
user_id | string | Echo of what you queried. |
{
"unique_id": "nasa",
"user_id": "7664638705177150477",
"has_more": false,
"aweme_list": [
{
"aweme_id": "7671359229290106125",
"url": "https://www.tiktok.com/@nasa/video/7671359229290106125",
"create_time": 1786127533,
"music": {
"author": "NASA",
"id": "7671356189888367374",
"title": "original sound - nasa",
"id_str": "7671356189888367374",
"mid": "7671356189888367374",
"owner_nickname": "NASA",
"duration": 95,
"is_original": true,
"is_original_sound": true,
"cover_large": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"cover_medium": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"cover_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"play_url": {
"uri": "https://v19-ies-music.tiktokcdn-eu.com/fbf2a94f53b3c409283c5236ec0094db/6a7fcd1a/video/tos/alisg/tos-alisg-v-2370c799-sg/owEA21GKFAxAWwEM7REBBiiBDIBrAOAMaf8pdp/",
"url_list": [
"https://v19-ies-music.tiktokcdn-eu.com/fbf2a94f53b3c409283c5236ec0094db/6a7fcd1a/video/tos/alisg/tos-alisg-v-2370c799-sg/owEA21GKFAxAWwEM7REBBiiBDIBrAOAMaf8pdp/"
]
}
},
"video": {
"data_size": 7240418,
"duration": 95,
"watermark_data_size": 6869260,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/oYjJKA141dBp5md2A1iiwJBUCOAIh2MIEDfjpx~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/oYjJKA141dBp5md2A1iiwJBUCOAIh2MIEDfjpx~tplv-tiktokx-cropcenter-q:300:400:q70.jpeg"
]
},
"download_addr": {
"uri": "https://v19.tiktokcdn-eu.com/0a9ae6b0c20227cfdc49656cdfae3b4c/6a77e3bb/video/tos/alisg/tos-alisg-ve-37c799-sg/owigdGICIBAfQER2Q1jwj4DjpAiJmJOBxACUz1/",
"url_list": [
"https://v19.tiktokcdn-eu.com/0a9ae6b0c20227cfdc49656cdfae3b4c/6a77e3bb/video/tos/alisg/tos-alisg-ve-37c799-sg/owigdGICIBAfQER2Q1jwj4DjpAiJmJOBxACUz1/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/owAaBCK1piUArIWIJ42fAiJOxBK5DxI1mXjdjw~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/owAaBCK1piUArIWIJ42fAiJOxBK5DxI1mXjdjw~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/ow241iAIpB1NOdCJJwrjA1KjIfmUD4Bi2RI2xA~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-eu.com/tos-useast5-p-0068-tx/ow241iAIpB1NOdCJJwrjA1KjIfmUD4Bi2RI2xA~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v19.tiktokcdn-eu.com/8e8ae609f2b59d94ac0e805bc42cb990/6a77e3bb/video/tos/alisg/tos-alisg-ve-37c799-sg/oEDjIPA1Bw5EB5I4GidOfQmA2UiBOi1JxpjJdC/",
"url_list": [
"https://v19.tiktokcdn-eu.com/8e8ae609f2b59d94ac0e805bc42cb990/6a77e3bb/video/tos/alisg/tos-alisg-ve-37c799-sg/oEDjIPA1Bw5EB5I4GidOfQmA2UiBOi1JxpjJdC/"
]
}
},
"author": {
"nickname": "NASA",
"unique_id": "nasa",
"region": "US",
"uid": "7664638705177150477",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-eu.com/tos-maliva-avt-0068/e5143212a59c09a008bf50f487d54d1f~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
}
},
"statistics": {
"aweme_id": "7671359229290106125",
"collect_count": 0,
"comment_count": 0,
"play_count": 23647,
"share_count": 35,
"digg_count": 2189,
"download_count": 1
},
"author_user_id": "7664638705177150477",
"create_time_utc": "2026-08-07T18:32:13.000Z",
"media_id": "v12044gd0000d9r29afog65l1orm76s0",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 3,
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
],
"cursor": null
}
POST /api/v1/scrape/tiktok/followers
Accounts following a creator.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle — resolved to a user id for you. Pass user_id directly when you have it to skip the lookup. |
user_id | str | no | null | Numeric TikTok user id |
min_time (or cursor) | str | no | '0' | Pagination cursor — echo back the min_time from the previous response. |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/followers \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok"}'
Pages onResponse — themin_time, notcursor.totalcarries the real follower count, so the gap between it and what pagination reaches is always visible.
data object:
| Key | Type | |
|---|---|---|
followers | array of creator | |
min_time | string | Pagination cursor for this surface. null once exhausted. |
has_more | boolean | Whether another page exists. |
total | number | Total across the whole list, not just this page. |
unique_id | string | Echo of what you queried. |
user_id | string | Echo of what you queried. |
{
"unique_id": "tiktok",
"min_time": "1786155364",
"user_id": "107955",
"has_more": true,
"total": 95154007,
"followers": [
{
"nickname": "Y_707✪🪖",
"unique_id": ".rl_65",
"region": "SA",
"sec_uid": "MS4wLjABAAAAv9-Fj3vCZBokgj-w6a8k4BlnE7xY4c3zBm-WJOS_3_K7oz1AwUqxhzLLfiYb3nTR",
"signature": "كلمتان خفيفة على الليسان ثقيلاتان في الميزان حبيبتان على الرحمان سبحان الله وبحمده سبحان الله العظيم",
"uid": "7386510437666718737",
"aweme_count": 2,
"favoriting_count": 874,
"follower_count": 26,
"following_count": 314,
"secret": false,
"total_favorited": 38,
"verified": false,
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/eb9b02a516f2a9168f1017961cc19ae6~tplv-tiktokx-cropcenter:300:300.jpeg"
]
}
}
]
}
POST /api/v1/scrape/tiktok/following
Accounts a creator follows.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle — resolved to a user id for you. Pass user_id directly when you have it to skip the lookup. |
user_id | str | no | null | Numeric TikTok user id |
min_time (or cursor) | str | no | '0' | Pagination cursor — echo back the min_time from the previous response. |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/following \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok"}'
Pages on min_time. Empty for accounts that hide the list.
Response — the data object:
| Key | Type | |
|---|---|---|
followings | array of creator | |
min_time | string or null | Pagination cursor for this surface. null once exhausted. |
has_more | boolean | Whether another page exists. |
total | number | Total across the whole list, not just this page. |
unique_id | string | Echo of what you queried. |
user_id | string | Echo of what you queried. |
{
"unique_id": "tiktok",
"user_id": "107955",
"has_more": false,
"total": 2,
"followings": [
{
"nickname": "tiktok creators",
"unique_id": "tiktokcreators",
"region": "US",
"sec_uid": "MS4wLjABAAAAXqqA-cLDC0hfQPIrS5APYNsg04zkl-socWCkqkI3UIOaEe6_Qnokg0GcWpLnMNQP",
"signature": "The official account for TikTok Creators who inspire creativity and bring joy ✨\n\n⬇️ Creator Programs 💰⬇️",
"uid": "6551237489917432832",
"aweme_count": 1096,
"favoriting_count": 1865,
"follower_count": 8610659,
"following_count": 569,
"secret": false,
"total_favorited": 33349621,
"verified": true,
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/7310199914919673862~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
}
}
],
"min_time": null
}
POST /api/v1/scrape/tiktok/sound
One sound’s metadata — title, artist, artwork, duration, usage count.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
clipId (or music) | str | yes | — | Sound id, or a full tiktok.com/music/… URL. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/sound \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"clipId":"7465426882822883344"}'
data object:
| Key | Type | |
|---|---|---|
music_info | object | |
rec_list | array | |
similar_music | array | |
similar_music_ids | array | |
status_code | number | Platform status code. 0 is success. |
status_msg | string | Platform status message. |
{
"status_code": 0,
"music_info": {
"author": "ktmelodies",
"id": "7465426882822883344",
"title": "summer like this",
"album": "summer like this",
"id_str": "7465426882822883344",
"mid": "7465426882822883344",
"owner_nickname": "ktmelodies",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"user_count": 566,
"cover_large": {
"uri": "https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg",
"url_list": [
"https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg",
"url_list": [
"https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg",
"url_list": [
"https://p16-sg.tiktokcdn.com/aweme/200x200/tos-alisg-v-2774/oYwEhwYAWiZ1B5iFMzr6AECqjAKAUpPACAaR5.jpeg"
]
},
"play_url": {
"uri": "https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/oULjFO1JzyAE2FuaAwiiwYBnWzBssIlMIjf0oU",
"url_list": [
"https://sf16-ies-music-sg.tiktokcdn.com/obj/tos-alisg-ve-2774/oULjFO1JzyAE2FuaAwiiwYBnWzBssIlMIjf0oU"
]
}
},
"status_msg": "",
"rec_list": [],
"similar_music": [],
"similar_music_ids": []
}
music_info fields:
| Field | Type | Example |
|---|---|---|
id | string | "7002634556977908485" |
id_str | string | "7002634556977908485" |
mid | string | "7002634556977908485" |
title | string | "original sound - duyoungin" |
author | string | "🇺🇸" |
owner_nickname | string | "🇺🇸" |
album | string or null | |
duration | number | 6 |
is_original | boolean | true |
is_original_sound | boolean | true |
play_url | object | nested: uri, url_list, width, height |
cover_thumb | object | nested: uri, url_list, width, height |
cover_medium | object | nested: uri, url_list, width, height |
cover_large | object | nested: uri, url_list, width, height |
user_count | number | 982 |
POST /api/v1/scrape/tiktok/sound-posts
The videos using a sound.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
clipId (or music) | str | yes | — | Sound id, or a full tiktok.com/music/… URL. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/sound-posts \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"clipId":"7465426882822883344","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
status_code | number | Platform status code. 0 is success. |
status_msg | string | Platform status message. |
extra | string or null | Platform tracing block. Always null here. |
log_pb | object or null | Platform tracing block. Always null here. |
can_pin_video | boolean | |
need_lazy_loading | boolean | |
music_id | string | Echo of what you queried. |
{
"cursor": "12",
"music_id": "7465426882822883344",
"can_pin_video": false,
"has_more": true,
"need_lazy_loading": false,
"status_code": 0,
"aweme_list": [
{
"aweme_id": "7540649617801710879",
"desc": "Todavía no me lo creoo 🥹❤️🩹 #girliesdelsur #gym #Fitness #walk #run #girlies #girls",
"url": "https://www.tiktok.com/@kayra.rc/video/7540649617801710879",
"create_time": 1755694316,
"video": {
"data_size": 5423848,
"duration": 15,
"watermark_data_size": 5511051,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oAN6CAliIKVfTJC6xAAusIAUEAI0p3BaL1OiiB~tplv-tiktokx-cropcenter-q:300:400:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oAN6CAliIKVfTJC6xAAusIAUEAI0p3BaL1OiiB~tplv-tiktokx-cropcenter-q:300:400:q70.webp"
]
},
"download_addr": {
"uri": "https://v31-jp.tiktokcdn.com/a2ccbceba65d8e41948700f43f4019a8/6a77e36f/video/tos/alisg/tos-alisg-ve-37c799-sg/o4WICQggiiADPUQAEIiBqdCluuxFI80lMiSfAQ/",
"url_list": [
"https://v31-jp.tiktokcdn.com/a2ccbceba65d8e41948700f43f4019a8/6a77e36f/video/tos/alisg/tos-alisg-ve-37c799-sg/o4WICQggiiADPUQAEIiBqdCluuxFI80lMiSfAQ/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oAN6CAliIKVfTJC6xAAusIAUEAI0p3BaL1OiiB~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/oAN6CAliIKVfTJC6xAAusIAUEAI0p3BaL1OiiB~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/o4llusPCIIDAOq4f8OIBSCB0S9giiiduAAuIxU~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-useast8-p-0068-tx2/o4llusPCIIDAOq4f8OIBSCB0S9giiiduAAuIxU~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v31-jp.tiktokcdn.com/84ec67519e400c0303d25f276e69a965/6a77e36f/video/tos/alisg/tos-alisg-ve-37c799-sg/oYfWgALWsIq3D6fXIAGARhSwjNRAECKIU4IKeU/",
"url_list": [
"https://v31-jp.tiktokcdn.com/84ec67519e400c0303d25f276e69a965/6a77e36f/video/tos/alisg/tos-alisg-ve-37c799-sg/oYfWgALWsIq3D6fXIAGARhSwjNRAECKIU4IKeU/"
]
}
},
"author": {
"nickname": "kayra.rc",
"unique_id": "kayra.rc",
"region": "PR",
"uid": "6930458983154123781",
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/8ce9e770f4a20eb06617a59cf8009250~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7540649617801710879",
"collect_count": 57,
"comment_count": 102,
"play_count": 15869,
"share_count": 84,
"digg_count": 943,
"download_count": 3
},
"author_user_id": "6930458983154123781",
"create_time_utc": "2025-08-20T12:51:56.000Z",
"media_id": "v15044gf0000d2is8evog65s1kgabeg0",
"region": "PR",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"anchors": [
{
"id": "7540649559165337613",
"component_key": "anchor_ucg_template",
"description": "Templates",
"extra": "{\"music_post_unavailable\":\"false\",\"dispatch_type\":\"ugc_create\",\"origin_video_id\":\"7540649617801710879\",\"tags\":\"\",\"music_id\":\"7465426882822883344\",\"sub_type\":\"ugc\",\"nle_summary\":\"{\\\"slots\\\":\\\"[{\\\\\\\"clip_end\\\\\\\":15.715011596679688,\\\\\\\"clip_start\\\\\\\":0.0,\\\\\\\"description\\\\\\\":\\\\\\\"\\…",
"keyword": "Try TikTok template",
"log_extra": "{\"anchor_id\":\"7540649559165337613\",\"anchor_name\":\"Try TikTok template\",\"anchor_type\":\"ugc_template\",\"has_friends_info\":\"0\"}",
"type": 65,
"actions": [
{
"schema": "shoot",
"action_type": 1,
"icon": {
"uri": "tiktok-obj/28px_primary_create_onDark3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p19-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"icon": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
],
"status_msg": "",
"extra": null,
"log_pb": null
}
TikTok · Hashtag
POST /api/v1/scrape/tiktok/hashtag
Hashtag header — description, post count and lifetime views.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
challenge_id | str | no | null | Numeric hashtag (challenge) id |
hashtag (or challenge_name) | str | no | null | Hashtag name, also accepted as hashtag, with or without ’#’, or a /tag/ URL |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/hashtag \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"hashtag":"booktok"}'
AcceptsResponse — thehashtag(the name) orchallenge_id(e.g. “229207”).
data object:
| Key | Type | |
|---|---|---|
hashtag | object |
{
"hashtag": {
"cover_url": "https://p19-common-sign.tiktokcdn.com/tiktok-obj/ffd11355ceddd5cb7a3f7f4a1f059df0.png~tplv-tiktokx-origin.image",
"description": "Calling all book lovers, join the #BookTok Post Contest from April 13th to May 11th for a chance to win $3000! Click here to join: https://vt.tiktok.com/ZSHgdjSGp/",
"hashtag_id": "1622962893630470",
"hashtag_link": "https://www.tiktok.com/tag/BookTok",
"name": "BookTok",
"is_challenge": false,
"is_commerce": false,
"is_pgc_show": false,
"is_strong_music": false,
"post_count": 83697988,
"type": 2,
"view_count": 540703740020
}
}
hashtag fields:
| Field | Type | Example |
|---|---|---|
hashtag_id | string | "229207" |
name | string | "fyp" |
description | string or null | |
post_count | number | 534395710 |
view_count | number | 125407420251356 |
cover_url | string or null | |
is_commerce | boolean | false |
is_pgc_show | boolean | false |
is_challenge | boolean | false |
is_strong_music | boolean | false |
type | number | 2 |
hashtag_link | string | "https://www.tiktok.com/tag/fyp" |
POST /api/v1/scrape/tiktok/hashtag-posts
Posts carrying a hashtag.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
challenge_id | str | no | null | Numeric hashtag (challenge) id |
hashtag (or challenge_name) | str | no | null | Hashtag name, with or without ’#’, or a /tag/ URL |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
region | str | no | null | ISO-2 region code to bias the feed (e.g. ‘US’); see /api/v1/scrape/tiktok/regions for the accepted list |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/hashtag-posts \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"hashtag":"booktok","cursor":"0"}'
Passing challenge_id instead of the name is slightly faster; the name form returns the hashtag object alongside the posts for free.
Response — the data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
hashtag_id | string | Echo of what you queried. |
hashtag | object |
{
"cursor": "20",
"hashtag_id": "1622962893630470",
"has_more": true,
"aweme_list": [
{
"aweme_id": "7663880033508887838",
"desc": "Some books go by so fast you can’t even keep up! These books were unputdownable!!! #BookTok #bookrecommendation #bookish #fyp",
"url": "https://www.tiktok.com/@brithefunnyfictionista/video/7663880033508887838",
"create_time": 1784475000,
"music": {
"author": "brithefunnyfictionista",
"id": "7663880106586147614",
"title": "original sound - brithefunnyfictionista",
"id_str": "7663880106586147614",
"mid": "7663880106586147614",
"owner_nickname": "brithefunnyfictionista",
"duration": 529,
"is_original": true,
"is_original_sound": true,
"cover_large": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:1080:1080.jpeg"
]
},
"play_url": {
"uri": "https://sf19.tiktokcdn-us.com/obj/ies-music-tx2/7667615441157622558.mp3",
"url_list": [
"https://sf19.tiktokcdn-us.com/obj/ies-music-tx2/7667615441157622558.mp3"
]
}
},
"video": {
"data_size": 73392163,
"duration": 529,
"watermark_data_size": 68747364,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oMbO3AuK4VGBFEQqaWFfEBA70Jej9aQ9R6DzEA~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oMbO3AuK4VGBFEQqaWFfEBA70Jej9aQ9R6DzEA~tplv-tiktokx-origin.image"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/af7f1f0b95bc9741baefef44580055c4/6a76e854/video/tos/useast8/tos-useast8-ve-0068c003-tx2/ogetIJBqEAkE8BRNBE7xfRaAbA8DWFz94V3kiE/",
"url_list": [
"https://v45.tiktokcdn-us.com/af7f1f0b95bc9741baefef44580055c4/6a76e854/video/tos/useast8/tos-useast8-ve-0068c003-tx2/ogetIJBqEAkE8BRNBE7xfRaAbA8DWFz94V3kiE/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o8bNzFBRVDq5WiE9kAYtAxm3IfaAe8EEFgIT4B~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o8bNzFBRVDq5WiE9kAYtAxm3IfaAe8EEFgIT4B~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oARB9FE4CbAfJzW9mqTiAaVbmfQEQTuFD4k0EA~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oARB9FE4CbAfJzW9mqTiAaVbmfQEQTuFD4k0EA~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/d2b33593d096eb26ea2870da67bcca21/6a76e854/video/tos/useast8/tos-useast8-ve-0068c001-tx2/oM1uQaFlfbVAp0UbEiDAI9WzR9qAkBhEL4EFfP/",
"url_list": [
"https://v45.tiktokcdn-us.com/d2b33593d096eb26ea2870da67bcca21/6a76e854/video/tos/useast8/tos-useast8-ve-0068c001-tx2/oM1uQaFlfbVAp0UbEiDAI9WzR9qAkBhEL4EFfP/"
]
}
},
"author": {
"nickname": "brithefunnyfictionista",
"unique_id": "brithefunnyfictionista",
"region": "US",
"uid": "6786348082407425029",
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/5b46b36cc3d7706bac7c5cd1d1b56851~tplv-tiktokx-cropcenter:300:300.jpeg"
]
}
},
"statistics": {
"aweme_id": "7663880033508887838",
"collect_count": 17138,
"comment_count": 630,
"play_count": 276251,
"share_count": 1944,
"digg_count": 30953,
"download_count": 302
},
"author_user_id": "6786348082407425029",
"create_time_utc": "2026-07-19T15:30:00.000Z",
"media_id": "v15044gf0000d9doug7og65pvbcbeq6g",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"anchors": [
{
"id": "363379",
"component_key": "anchor_effect",
"description": "Effects",
"extra": "{\"effect_source\":0,\"is_commerce\":0,\"resource_id\":6745493419897917960}",
"keyword": "Inverted",
"log_extra": "{\"anchor_id\":\"363379\",\"anchor_name\":\"Inverted\",\"anchor_type\":\"prop\",\"has_friends_info\":\"0\"}",
"type": 28,
"actions": [
{
"schema": "shoot",
"action_type": 1,
"icon": {
"uri": "tiktok-obj/28px_primary_create_onDark3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"icon": {
"uri": "tiktok-obj/20px_anchor_effect3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "0baa580af8f44f504ad6eeb2cf3d3d7d",
"height": 64,
"width": 64,
"url_list": [
"https://lf16-effectcdn-us.tiktokcdn-us.com/obj/tiktok-loki-effect-oracle-tx/0baa580af8f44f504ad6eeb2cf3d3d7d",
"https://lf19-effectcdn-us.tiktokcdn-us.com/obj/tiktok-loki-effect-oracle-tx/0baa580af8f44f504ad6eeb2cf3d3d7d"
]
}
}
],
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
],
"hashtag": {
"cover_url": "https://p19-common-sign.tiktokcdn.com/tiktok-obj/ffd11355ceddd5cb7a3f7f4a1f059df0.png~tplv-tiktokx-origin.image",
"description": "Calling all book lovers, join the #BookTok Post Contest from April 13th to May 11th for a chance to win $3000! Click here to join: https://vt.tiktok.com/ZSHgdjSGp/",
"hashtag_id": "1622962893630470",
"hashtag_link": "https://www.tiktok.com/tag/BookTok",
"name": "BookTok",
"is_challenge": false,
"is_commerce": false,
"is_pgc_show": false,
"is_strong_music": false,
"post_count": 83697988,
"type": 2,
"view_count": 540703741652
}
}
hashtag fields:
| Field | Type | Example |
|---|---|---|
hashtag_id | string | "229207" |
name | string | "fyp" |
description | string or null | |
post_count | number | 534395718 |
view_count | number | 125407420827330 |
cover_url | string or null | |
is_commerce | boolean | false |
is_pgc_show | boolean | false |
is_challenge | boolean | false |
is_strong_music | boolean | false |
type | number | 2 |
hashtag_link | string | "https://www.tiktok.com/tag/fyp" |
POST /api/v1/scrape/tiktok/hashtag-search
Keyword search over hashtags, with each one’s post and view totals.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query (or keywords) | str | yes | — | Search keyword / phrase. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/hashtag-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"travel","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
hashtags | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
keywords | string | Echo of what you queried. |
{
"cursor": "30",
"keywords": "travel",
"has_more": true,
"hashtags": [
{
"cover_url": "https://p16-amd-va.tiktokcdn.com/obj/musically-maliva-obj/6cd3395377af1ebf701faaf40d449c8c",
"description": "🌟The world is a book and those who don't travel read only one page 🏄🌴Now recollect your best travel memories from your camera roll, 📷and share the stories behind!",
"hashtag_id": "7884",
"hashtag_link": "https://www.tiktok.com/tag/Travel",
"name": "Travel",
"is_challenge": false,
"is_commerce": false,
"is_pgc_show": false,
"is_strong_music": false,
"post_count": 91212510,
"type": 2,
"view_count": 747530458231
}
]
}
TikTok · Playlist
POST /api/v1/scrape/tiktok/playlist
Playlist header — name, owner and video count.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
playlist | str | yes | — | Playlist (mix) id, or a full /@user/playlist/… URL |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/playlist \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"playlist":"7659874208872221471"}'
data object:
| Key | Type | |
|---|---|---|
playlist | object |
{
"playlist": {
"creator_username": "tiktok",
"name": "Behind The Breakthrough",
"playlist_id": "7659874208872221471",
"playlist_link": "https://www.tiktok.com/@tiktok/playlist/behind-the-breakthrough-7659874208872221471",
"type": 1,
"video_count": 3,
"creator_id": null,
"creator_name": null
}
}
playlist fields:
| Field | Type | Example |
|---|---|---|
playlist_id | string | "7659874208872221471" |
name | string | "Behind The Breakthrough" |
type | number | 1 |
video_count | number | 3 |
creator_id | string or null | |
creator_username | string | "tiktok" |
creator_name | string or null | |
playlist_link | string | "https://www.tiktok.com/@tiktok/playli… |
TikTok · Collection
POST /api/v1/scrape/tiktok/collection
Collection header — name, owner and video count.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url (or collection) | str | yes | — | Collection id, or a full tiktok.com/collection/… URL. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/collection \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"7394627756635573022"}'
data object:
| Key | Type | |
|---|---|---|
collection | object |
{
"collection": {
"collection_id": "7394627756635573022",
"creator_id": "107955",
"creator_name": "TikTok",
"name": "Summer of Sports",
"state": 3,
"video_count": 139,
"creator_username": null
}
}
collection fields:
| Field | Type | Example |
|---|---|---|
collection_id | string | "7394627756635573022" |
name | string | "Summer of Sports" |
video_count | number | 139 |
state | number | 3 |
creator_id | string | "107955" |
creator_username | string or null | |
creator_name | string | "TikTok" |
POST /api/v1/scrape/tiktok/collection-posts
Videos saved inside a public collection.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url (or collection) | str | yes | — | Collection id, or a full tiktok.com/collection/… URL. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/collection-posts \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"7394627756635573022","cursor":"0"}'
This surface answers in TikTok’s WEB shape (Response — theid/desc/stats/createTime) and pages onmax_cursor.
data object:
| Key | Type | |
|---|---|---|
collection_id | string | Echo of what you queried. |
videos | array of collection post | |
has_more | boolean | Whether another page exists. |
max_cursor | string | Pagination cursor for this surface. null once exhausted. |
status_code | number | Platform status code. 0 is success. |
status_msg | string | Platform status message. |
{
"collection_id": "7394627756635573022",
"max_cursor": "30",
"has_more": true,
"status_code": 0,
"videos": [
{
"desc": "I love womens sports #olympics #paris2024",
"id": "7398226505815362859",
"author": {
"id": "6902993835233444870",
"nickname": "Coach Jackie J",
"uniqueId": "jcubedhax"
},
"video": {
"cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oYAEalx3giI92SurtZBb4UPH7E8qAvwRBiKEr~tplv-tiktokx-cropcenter-q:300:400:q70.webp",
"duration": 146
},
"createTime": 1722533845,
"anchors": [
{
"id": "286584",
"component_key": "anchor_effect",
"description": "Effects",
"extra": "{\"effect_source\":0,\"is_commerce\":0,\"resource_id\":6711137499550323208}",
"keyword": "Green Screen",
"log_extra": "{\"anchor_id\":\"263840\",\"anchor_name\":\"Green Screen\",\"anchor_type\":\"prop\",\"has_friends_info\":\"0\"}",
"type": 28,
"actions": [
{
"schema": "shoot",
"action_type": 1,
"icon": {
"uri": "tiktok-obj/28px_primary_create_onDark3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p19-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"icon": {
"uri": "tiktok-obj/20px_anchor_effect3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn.com/tiktok-obj/20px_anchor_effect3x.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "cfaa5ce4a49351ceb195197df28a788b",
"height": 64,
"width": 64,
"url_list": [
"https://lf16-effectcdn-sg.tiktokcdn.com/obj/ies.fe.effect.alisg/cfaa5ce4a49351ceb195197df28a788b",
"https://lf19-effectcdn-sg.tiktokcdn.com/obj/ies.fe.effect.alisg/cfaa5ce4a49351ceb195197df28a788b"
]
}
}
],
"stats": {
"collectCount": 2390,
"commentCount": 987,
"diggCount": 59072,
"playCount": 309199,
"shareCount": 7226
}
}
],
"status_msg": ""
}
POST /api/v1/scrape/tiktok/collections
Every public collection a creator has published.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle (with or without @). |
user_id | str | no | null | Numeric TikTok user id — an alternative to unique_id |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/collections \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
collections | array | |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
unique_id | string | Echo of what you queried. |
user_id | string or null | Echo of what you queried. |
{
"unique_id": "tiktok",
"has_more": false,
"collections": [
{
"collection_id": "7394627756635573022",
"name": "Summer of Sports",
"state": 3,
"video_count": 139
}
],
"cursor": null,
"user_id": null
}
POST /api/v1/scrape/tiktok/playlists
Every playlist a creator has published.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle (or unique_id) | str | no | null | Creator’s username/handle (with or without @). |
user_id | str | no | null | Numeric TikTok user id — an alternative to unique_id |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/playlists \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"tiktok","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
playlists | array | |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
unique_id | string | Echo of what you queried. |
user_id | string or null | Echo of what you queried. |
{
"unique_id": "tiktok",
"has_more": false,
"playlists": [
{
"creator_username": "tiktok",
"name": "Behind The Breakthrough",
"playlist_id": "7659874208872221471",
"playlist_link": "https://www.tiktok.com/@tiktok/playlist/behind-the-breakthrough-7659874208872221471",
"type": 1
}
],
"cursor": null,
"user_id": null
}
TikTok · Discovery
POST /api/v1/scrape/tiktok/search
Keyword search over videos, with recency and sort filters.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query (or keywords) | str | yes | — | Search keyword / phrase. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
region | str | no | null | ISO-2 region code to search from (e.g. ‘US’); see /api/v1/scrape/tiktok/regions |
publish_time | int | no | 0 | Recency filter in days: 0 all-time (default), 1 past 24 h, 7 this week, 30 this month, 90 last 3 months, 180 last 6 months |
sort_type | int | no | 0 | Sort order: 0 relevance (default), 1 most-liked, 3 most recent |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
date_posted | str | no | null | Named recency window: all-time, yesterday, this-week, this-month, last-3-months, last-6-months. Supersedes publish_time when both are sent. |
sort_by | str | no | null | Named ranking: relevance, most-liked, date-posted. Supersedes sort_type when both are sent. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cooking","cursor":"0"}'
Response — thedate_posted: all-time · yesterday · this-week · this-month · last-3-months · last-6-months.sort_by: relevance · most-liked · date-posted.
data object:
| Key | Type | |
|---|---|---|
search_item_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
keywords | string | Echo of what you queried. |
{
"cursor": "30",
"keywords": "cooking",
"has_more": true,
"search_item_list": [
{
"aweme_id": "7446130387908054302",
"desc": "when its your turn to make mac & cheese but you ran out of time #food #Recipe #dinner #yum #yunmy #chef #cooking #pasta #noodles #cheese #Foodie",
"url": "https://www.tiktok.com/@katewilltryanything/video/7446130387908054302",
"create_time": 1733687344,
"music": {
"author": "TLC",
"id": "7242456560241526785",
"title": "Creep (Yes it's me again)",
"album": "Creep",
"id_str": "7242456560241526785",
"mid": "7242456560241526785",
"owner_nickname": "TLC",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_medium": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_thumb": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/39492910a3c44167879cadbca9d3da2a~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"play_url": {
"uri": "https://v45.tiktokcdn-us.com/11629525011c5c20701abeadf8001fe1/6a7fcf77/video/tos/alisg/tos-alisg-ve-2774/oAICMHB2ZYfgCMnkCeuQbUUXKNctQDggQ5m1Bq/",
"url_list": [
"https://v45.tiktokcdn-us.com/11629525011c5c20701abeadf8001fe1/6a7fcf77/video/tos/alisg/tos-alisg-ve-2774/oAICMHB2ZYfgCMnkCeuQbUUXKNctQDggQ5m1Bq/"
]
}
},
"video": {
"data_size": 16276203,
"duration": 62,
"watermark_data_size": 15707166,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/okdKUartrFeQfAWGGQ7gQFeOfVRHAG8KNA8MQU~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/okdKUartrFeQfAWGGQ7gQFeOfVRHAG8KNA8MQU~tplv-tiktokx-origin.image"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/31b07167722f751af4b3130306443e8e/6a76e687/video/tos/useast8/tos-useast8-ve-0068c001-tx2/ocfrrWAI9oGDgIEQxFLdAeaGAKUmdQmFefVR9D/",
"url_list": [
"https://v45.tiktokcdn-us.com/31b07167722f751af4b3130306443e8e/6a76e687/video/tos/useast8/tos-useast8-ve-0068c001-tx2/ocfrrWAI9oGDgIEQxFLdAeaGAKUmdQmFefVR9D/"
]
},
"dynamic_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oERD3rQAUEALKIfeSIGfDVeoSAGsQFAQ9DDdWr~tplv-tiktokx-origin.image",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oERD3rQAUEALKIfeSIGfDVeoSAGsQFAQ9DDdWr~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oAWdLzADOAQDDG8hAQLKVeUGreof9DfIQRFirQ~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oAWdLzADOAQDDG8hAQLKVeUGreof9DfIQRFirQ~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/3b3ea047b93e9b1a9c09724d8d5b6a1d/6a76e687/video/tos/useast8/tos-useast8-ve-0068c003-tx2/o4rUGWFGUMdyVHRAeAfQA6F7g8ertPQQvgRCfA/",
"url_list": [
"https://v45.tiktokcdn-us.com/3b3ea047b93e9b1a9c09724d8d5b6a1d/6a76e687/video/tos/useast8/tos-useast8-ve-0068c003-tx2/o4rUGWFGUMdyVHRAeAfQA6F7g8ertPQQvgRCfA/"
]
}
},
"author": {
"nickname": "Katewilltryanything",
"unique_id": "katewilltryanything",
"region": "US",
"uid": "6806062989101024261",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/17d07dd2f2d919f61fb989257adc78a8~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7446130387908054302",
"collect_count": 17126,
"comment_count": 9867,
"play_count": 7121420,
"share_count": 51799,
"digg_count": 247506,
"download_count": 1299
},
"author_user_id": "6806062989101024261",
"create_time_utc": "2024-12-08T19:49:04.000Z",
"media_id": "v15044gf0000ctavg5fog65gqqg3uvig",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
]
}
POST /api/v1/scrape/tiktok/photo-search
Keyword search restricted to photo (slideshow) posts.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query (or keywords) | str | yes | — | Search keyword / phrase. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
region | str | no | null | ISO-2 region code to search from (e.g. ‘US’); see /api/v1/scrape/tiktok/regions |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/photo-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cooking","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
search_item_list | array of post | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
keywords | string | Echo of what you queried. |
{
"cursor": "30",
"keywords": "cooking",
"has_more": true,
"search_item_list": [
{
"aweme_id": "7453164796880506143",
"desc": "BEST OF 2024 begins with my Loaded Hashbrowns. MILLIONS of you loved this series! It was the first time I started a \"viral recipe trend\" & Content Creators all over the internet were recreating my hashbrown recipes. It inspired me to get more creative/innovative with the recip…",
"url": "https://www.tiktok.com/@shewillevolve/video/7453164796880506143",
"create_time": 1735325174,
"music": {
"author": "🧍🏾♀️🧍🏾♀️",
"id": "7316247872453004074",
"title": "original sound - spamminandchillin",
"id_str": "7316247872453004074",
"mid": "7316247872453004074",
"owner_nickname": "🧍🏾♀️🧍🏾♀️",
"duration": 60,
"is_original": true,
"is_original_sound": true,
"cover_large": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg"
]
},
"cover_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg"
]
},
"cover_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/267e05793397405d7d0b19e503ebbca4~tplv-tiktokx-cropcenter-q:1080:1080:q70.jpeg"
]
},
"play_url": {
"uri": "https://v19-perf.tiktokcdn-us.com/e815b1136eede1faee495de8e7f1aa86/6a7fcce1/video/tos/useast5/tos-useast5-v-27dcd7-tx/oICxpIXMBJmREAjMwifABDOZoizozyBKx5WElN/",
"url_list": [
"https://v19-perf.tiktokcdn-us.com/e815b1136eede1faee495de8e7f1aa86/6a7fcce1/video/tos/useast5/tos-useast5-v-27dcd7-tx/oICxpIXMBJmREAjMwifABDOZoizozyBKx5WElN/"
]
}
},
"author": {
"nickname": "Sheila Williams",
"unique_id": "shewillevolve",
"region": "US",
"uid": "6804225371904361478",
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/a59bfd955a4e1c5e5ece3d49b24b74fe~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"video": {
"duration": 13,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o4CHAFZbvFBAzExAEnEDfbf9IA2yAWNLEVv9lR~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o4CHAFZbvFBAzExAEnEDfbf9IA2yAWNLEVv9lR~tplv-tiktokx-origin.image"
]
},
"download_addr": {
"uri": "https://v16m-perf.tiktokcdn-us.com/549ef2aa0097d1db2565b3ac7ebf938f/6a76e656/video/tos/useast8/tos-useast8-ve-0068c003-tx2/okuDOFAgiR1t7wy2BAEzZQ9iIQhBgUT2vVEHE/",
"url_list": [
"https://v16m-perf.tiktokcdn-us.com/549ef2aa0097d1db2565b3ac7ebf938f/6a76e656/video/tos/useast8/tos-useast8-ve-0068c003-tx2/okuDOFAgiR1t7wy2BAEzZQ9iIQhBgUT2vVEHE/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o4CHAFZbvFBAzExAEnEDfbf9IA2yAWNLEVv9lR~tplv-tiktokx-origin.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o4CHAFZbvFBAzExAEnEDfbf9IA2yAWNLEVv9lR~tplv-tiktokx-origin.image"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o81t6vhnDQjfcdkUAAFEVURWgBfnnYEQEQAhEb~tplv-tiktokx-shrink-aq:360:360:q75.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/o81t6vhnDQjfcdkUAAFEVURWgBfnnYEQEQAhEb~tplv-tiktokx-shrink-aq:360:360:q75.jpeg"
]
},
"play_addr": {
"uri": "https://v16m-perf.tiktokcdn-us.com/9c1d4b45777f6f5fd9c0beefdebac880/6a76e656/video/tos/useast8/tos-useast8-ve-0068c004-tx2/okAgdFAWUbnfD6CGRfhBv2EkAVEOELIIgnQtQc/",
"url_list": [
"https://v16m-perf.tiktokcdn-us.com/9c1d4b45777f6f5fd9c0beefdebac880/6a76e656/video/tos/useast8/tos-useast8-ve-0068c004-tx2/okAgdFAWUbnfD6CGRfhBv2EkAVEOELIIgnQtQc/"
]
}
},
"statistics": {
"aweme_id": "7453164796880506143",
"comment_count": 1113,
"play_count": 6592938,
"share_count": 94047,
"digg_count": 381956,
"download_count": 7129
},
"author_user_id": "6804225371904361478",
"create_time_utc": "2024-12-27T18:46:14.000Z",
"media_id": "v15044gf0000ctnfa5nog65i9s6q0g70",
"region": "US",
"aweme_type": 0,
"is_ad": false,
"is_nff_or_nr": false,
"is_top": 0,
"item_comment_settings": 0,
"anchors": [
{
"id": "7453164750583742506",
"component_key": "anchor_ucg_template",
"description": "Templates",
"extra": "{\"tags\":\"\",\"music_post_unavailable\":\"false\",\"title\":\"\",\"sub_type\":\"ugc\",\"dispatch_type\":\"ugc_create\",\"nle_summary\":\"{\\\"slots\\\":\\\"[{\\\\\\\"clip_end\\\\\\\":4.102272033691406,\\\\\\\"clip_start\\\\\\\":0.0,\\\\\\\"description\\\\\\\":\\\\\\\"\\\\\\\",\\\\\\\"endtime\\\\\\\":4.102272033691406,\\\\\\\"height\\\\\\\":1920,\\\\\\\"o…",
"keyword": "Try TikTok template",
"log_extra": "{\"anchor_id\":\"7453164750583742506\",\"anchor_name\":\"Try TikTok template\",\"anchor_type\":\"ugc_template\",\"has_friends_info\":\"0\"}",
"type": 65,
"actions": [
{
"schema": "shoot",
"action_type": 1,
"icon": {
"uri": "tiktok-obj/28px_primary_create_onDark3x.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/28px_primary_create_onDark3x.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"icon": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
},
"thumbnail": {
"uri": "tiktok-obj/Templates_Cards.png",
"height": 720,
"width": 720,
"url_list": [
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p19-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.image",
"https://p16-common.tiktokcdn-us.com/tiktok-obj/Templates_Cards.png~tplv-tiktokx-origin.jpeg"
]
}
}
],
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
}
}
]
}
POST /api/v1/scrape/tiktok/profile-search
Keyword search over creators, with follower-band and verified filters.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query (or keywords) | str | yes | — | Search keyword / phrase. |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
follower_count | str | no | null | Follower band: ‘0’ no limit, ‘1’ 0–1K, ‘2’ 1K–10K, ‘3’ 10K–100K, ‘4’ 100K+ |
profile_type | str | no | null | ’0’ all profiles (default), ‘1’ verified only |
other_pref | str | no | null | Search emphasis: ‘0’ all (default), ‘1’ match on username |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/profile-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cooking","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
users | array of creator | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
keywords | string | Echo of what you queried. |
{
"cursor": "30",
"keywords": "cooking",
"has_more": true,
"users": [
{
"nickname": "cookming_",
"unique_id": "cookming_",
"region": "TW",
"sec_uid": "MS4wLjABAAAAlZhACVHYe5dPsS1NUAwnpBpZc0Z3wuyZak06MYc7hI32RDZBZO1lqqJITpY9wrW3",
"signature": "have a nice day : )✨\n🇨🇦\n📧 [email redacted]\n🚫 My videos are NOT available for reuse.",
"uid": "7509165839188624389",
"aweme_count": 250,
"favoriting_count": 167,
"follower_count": 1445751,
"following_count": 2,
"total_favorited": 87979942,
"verified": false,
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:720:720:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:720:720:q70.webp"
]
},
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:100:100:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/8095f6f247baa93026e3f977437af172~tplv-tiktokx-cropcenter-q:100:100:q70.webp"
]
}
}
]
}
POST /api/v1/scrape/tiktok/top-search
TikTok’s Top tab — best-matching videos, plus the creators and hashtags ranked beside them.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Search term |
cursor | str | no | '0' | Pagination cursor |
region | str | no | null | ISO-2 region code to search from |
date_posted | str | no | null | Recency window: all-time, yesterday, this-week, this-month, last-3-months, last-6-months |
sort_by | str | no | null | Ranking: relevance, most-liked, date-posted |
publish_time | int | no | 0 | Numeric recency code — superseded by date_posted when both are sent |
sort_type | int | no | 0 | Numeric sort code — superseded by sort_by when both are sent |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/top-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cooking","cursor":"0"}'
data object:
| Key | Type | |
|---|---|---|
items | array of post | |
users | array of creator | |
hashtags | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
query | string | Echo of what you queried. |
publish_time | number | |
sort_type | number |
{
"cursor": "20",
"query": "cooking",
"has_more": true,
"publish_time": 0,
"sort_type": 0,
"items": [
{
"create_time": "2021-12-03T22:17:01.000Z",
"desc": "Creamy crunchy bubble potato pillows #cooking #foodasmr #asmrcooking #vegan #Recipe #homecook #potato #foodtiktok #veganrecipes",
"id": "7037603785962933550",
"url": "https://www.tiktok.com/@msshiandmrhe/video/7037603785962933550",
"music": {
"author": "Frank Sinatra",
"id": "6715995005141387266",
"title": "Let It Snow! Let It Snow!",
"album": "A Sinatra Christmas",
"id_str": "6715995005141387266",
"mid": "6715995005141387266",
"owner_nickname": "Frank Sinatra",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"cover_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-v-2774/cb2a84c9acc541bd9883a37c3f6a1964~tplv-tiktokx-cropcenter:720:720.jpeg"
]
},
"play_url": {
"uri": "https://sf16-sign.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o0bya13tZMZC5QrfykIOpXBom49iiBLfBgnP5G",
"url_list": [
"https://sf16-sign.tiktokcdn-us.com/obj/tos-alisg-ve-2774/o0bya13tZMZC5QrfykIOpXBom49iiBLfBgnP5G"
]
}
},
"video": {
"data_size": 11522669,
"duration": 44,
"watermark_data_size": 11461833,
"cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/66f6d6a70fd94123a01182b8f0d0ed03_1638569828~tplv-tiktokx-cropcenter:500:800.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/66f6d6a70fd94123a01182b8f0d0ed03_1638569828~tplv-tiktokx-cropcenter:500:800.jpeg"
]
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/9b519fa29bd2bf5d01efa7cfa16e7c09/6a76e678/video/tos/useast5/tos-useast5-ve-0068c004-tx/614e9b7e095b487da2ec7a89ad1f4cc2/",
"url_list": [
"https://v45.tiktokcdn-us.com/9b519fa29bd2bf5d01efa7cfa16e7c09/6a76e678/video/tos/useast5/tos-useast5-ve-0068c004-tx/614e9b7e095b487da2ec7a89ad1f4cc2/"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/4222352a23f8458d821a35eef85453aa_1638569822~tplv-tiktokx-dmt-logom:tos-useast5-p-0000-tx/80fa294c724041958cb3697cc80d82d0.image",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/4222352a23f8458d821a35eef85453aa_1638569822~tplv-tiktokx-dmt-logom:tos-useast5-p-0000-tx/80fa294c724041958cb3697cc80d82d0.image"
]
},
"origin_cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/4d9e75d5cffd46a6bd5c2894ae3ca38c_1638569822~tplv-tiktokx-shrink-aq:360:360:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast5-p-0068-tx/4d9e75d5cffd46a6bd5c2894ae3ca38c_1638569822~tplv-tiktokx-shrink-aq:360:360:q75.webp"
]
},
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/a7aeb6b517fc4c428f508619cb9f63ec/6a76e678/video/tos/useast5/tos-useast5-pve-0068-tx/fe2019632005495c9443d89293d76f98/",
"url_list": [
"https://v45.tiktokcdn-us.com/a7aeb6b517fc4c428f508619cb9f63ec/6a76e678/video/tos/useast5/tos-useast5-pve-0068-tx/fe2019632005495c9443d89293d76f98/"
]
}
},
"author": {
"nickname": "Ms Shi & Mr He",
"unique_id": "msshiandmrhe",
"region": "US",
"uid": "6790833782485615622",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ee39ac6ae8584d51bf545a74cd73794c~tplv-tiktokx-cropcenter-q:300:300:q70.jpeg"
]
}
},
"statistics": {
"aweme_id": "7037603785962933550",
"collect_count": 1861177,
"comment_count": 39478,
"play_count": 113908946,
"share_count": 467449,
"digg_count": 10794331,
"download_count": 818326
},
"content_type": "video",
"region": "US",
"is_ad": false,
"is_top": 0
}
],
"users": [
{
"username": "cookingwithlynja",
"avatar_medium": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7310587793867014186~tplv-tiktokx-cropcenter-q:720:720:q70.webp",
"avatar_thumb": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7310587793867014186~tplv-tiktokx-cropcenter-q:100:100:q70.webp",
"biography": "[email redacted]\n\n👇Lynja’s Salts & Sugar👇",
"display_name": "Lynja",
"instagram_id": "cookingwithlynja",
"privacy_status": "public",
"profile_id": "6834290048143049733",
"profile_image": "https://p16-common-sign.tiktokcdn-us.com/tos-useast5-avt-0068-tx/7310587793867014186~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"profile_link": "https://www.tiktok.com/@cookingwithlynja",
"sec_uid": "MS4wLjABAAAAEuh22qcjCA4J9HIIBYyqYqu2sMIs57Y-iQZhMeCAg_TWmWYAEAwTLI7zm8Q6z41d",
"youtube_channel_id": "UCjvGPQTRr2eIEhthL5y31VQ",
"youtube_channel_title": "Cooking With Lynja",
"content_count": 507,
"follower_count": 22235015,
"following_count": 61,
"is_ad_virtual": false,
"is_under_18": false,
"total_likes": 361119475,
"total_reactions": 361119475,
"verification_status": true
}
],
"hashtags": [
{
"cover_url": "https://p16-amd-va.tiktokcdn.com/obj/musically-maliva-obj/36154a31cfad9d1b9e317efd24c99b21",
"description": "Find a recipe, grab your ingredients, and show us your #CookingTips.",
"hashtag_id": "8620710",
"hashtag_link": "https://www.tiktok.com/tag/cookingtips",
"name": "cookingtips",
"is_challenge": false,
"is_commerce": false,
"is_pgc_show": false,
"is_strong_music": false,
"post_count": 590088,
"type": 2,
"view_count": 11772198646
}
]
}
POST /api/v1/scrape/tiktok/search-suggestions
The autocomplete terms TikTok offers for a partial query.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Partial or full search term |
region | str | no | null | ISO-2 region code — suggestions are region-ranked |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/search-suggestions \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"coff"}'
data object:
| Key | Type | |
|---|---|---|
suggestions | array | |
query | string | Echo of what you queried. |
region | string or null | Echo of what you queried. |
{
"query": "coff",
"suggestions": [
{
"language": "en",
"text": "coffee",
"group_id": "4928213053111302118",
"position": 0,
"score": 0.027565962
}
],
"region": null
}
POST /api/v1/scrape/tiktok/trending
The trending / For You feed for a region.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
region | str | no | 'US' | ISO-2 region code (e.g. ‘US’); see /api/v1/scrape/tiktok/regions for the accepted list |
trim | bool | no | False | Accepted and ignored — the full object is always returned. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/trending \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"region":"US"}'
Single-shot: this feed carries no cursor, so each call returns a fresh sample rather than a page in a series.Response — the
data object:
| Key | Type | |
|---|---|---|
aweme_list | array of post | |
region | string | Echo of what you queried. |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
{
"region": "US",
"has_more": false,
"aweme_list": [
{
"aweme_id": "7666535586920140052",
"desc": "📸 style inspiration 👗vibe check 💸 layering techniques 📝 personal style tips ##\"authoritative guy outfit\" for ngatasin _ bad day - yes? *** Let it still look firm + confident even though again - bad mood _, the key: simple, neat, and neutral color. Authoritative outfit …",
"url": "https://www.tiktok.com/@hwi9662/photo/7666535586920140052",
"create_time": 1785004423,
"music": {
"author": "Ebbaa19",
"id": "7504321566572186374",
"title": "original sound - ebbaa19",
"id_str": "7504321566572186374",
"mid": "7504321566572186374",
"owner_nickname": "Ebbaa19",
"duration": 72,
"is_original": false,
"is_original_sound": false,
"cover_large": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"cover_medium": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"cover_thumb": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-maliva-avt-0068/3f5d607f9aeec9f5cc67b9027f7741ed~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
]
},
"play_url": {
"uri": "https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3",
"url_list": [
"https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3"
]
}
},
"video": {
"data_size": 0,
"duration": 0,
"watermark_data_size": 0,
"cover": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp"
]
},
"download_addr": {
"uri": "https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3",
"url_list": [
"https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3"
]
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp"
]
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp",
"url_list": [
"https://p16-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-image-cover:640:0:q70.webp"
]
},
"play_addr": {
"uri": "https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3",
"url_list": [
"https://sf16-ies-music-va.tiktokcdn.com/obj/musically-maliva-obj/7504321593289231109.mp3"
]
}
},
"image_post_info": {
"images": [
{
"display_image": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp"
]
},
"owner_watermark_image": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp"
]
}
}
],
"image_post_cover": {
"display_image": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp"
]
},
"owner_watermark_image": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-i-photomode-sg/ecb7ae8ccd07403090fb7ebedd91191e~tplv-photomode-sr-vqe4:1440:0:1080:0:q75.webp"
]
}
}
},
"author": {
"nickname": "Hãwi Øř☦️💎🦋",
"unique_id": "hwi9662",
"region": "SA",
"uid": "7381072754353325063",
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
},
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp",
"url_list": [
"https://p19-common-sign.tiktokcdn.com/tos-alisg-avt-0068/51a2e0497780c6b5846176667b2d3cba~tplv-tiktokx-cropcenter-q:300:300:q70.webp"
]
}
},
"statistics": {
"aweme_id": "7666535586920140052",
"collect_count": 13626,
"comment_count": 4155,
"play_count": 649203,
"share_count": 9951,
"digg_count": 112521,
"download_count": 15
},
"author_user_id": "7381072754353325063",
"create_time_utc": "2026-07-25T18:33:43.000Z",
"region": "SA",
"aweme_type": 150,
"is_ad": false,
"item_comment_settings": 0
}
],
"cursor": null
}
POST /api/v1/scrape/tiktok/regions
The region codes accepted by the region-scoped endpoints.
Takes no parameters.
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/regions \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{}'
A static list — cache it rather than fetching it per request.Response — the
data object:
| Key | Type | |
|---|---|---|
regions | array | |
total | number | Total across the whole list, not just this page. |
{
"total": 242,
"regions": [
{
"code": "AD",
"name": "Andorra"
}
]
}
TikTok · Comments
POST /api/v1/scrape/tiktok/comment-replies
The reply thread under one comment.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url (or video_id) | str | yes | — | Numeric video id, or any full TikTok video/photo URL. |
comment_id | str | yes | — | Numeric id of the comment whose replies to fetch |
cursor | str | no | '0' | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/comment-replies \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"7612965843596479751","comment_id":"7612966844110914334"}'
TikTok nests exactly one level, so replies never have replies. TikTok’s own reply cursor is off by one — page 2 repeats page 1’s last reply — so de-duplicate onResponse — thecid, and usetotalfor the real thread size. Requesting a thread in a single page avoids it entirely.
data object:
| Key | Type | |
|---|---|---|
comments | array of comment | |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
status_code | number | Platform status code. 0 is success. |
status_msg | string | Platform status message. |
extra | string or null | Platform tracing block. Always null here. |
log_pb | object or null | Platform tracing block. Always null here. |
total | number | Total across the whole list, not just this page. |
aweme_id | string | Echo of what you queried. |
comment_id | string | Echo of what you queried. |
{
"aweme_id": "7612965843596479751",
"comment_id": "7612966844110914334",
"has_more": false,
"status_code": 0,
"total": 4,
"comments": [
{
"aweme_id": "7612965843596479751",
"text": "Thx𓀠𓀠",
"create_time": 1772532161,
"user": {
"nickname": "ちい/Chii",
"unique_id": "artchiist",
"region": "JP",
"sec_uid": "MS4wLjABAAAANiBD2T6ao7u2cE5Xj1zRRiVjShx-oKRUIDUFgHqmbyUkUOH-bk4iehKJ7eOsUkrJ",
"signature": "⸝⋆꙳⟡.· ⋆ 𖦹ܾ 𖥧🪵🌿\n\n🗺ɪɴꜱᴛᴀɢʀᴀᴍ : @ artchiist\n\nꜱᴜʙ:@たいやきくん(ちい) 🚹: @壱",
"uid": "7093407411964986370",
"aweme_count": 0,
"favoriting_count": 0,
"follower_count": 0,
"following_count": 0,
"secret": false,
"total_favorited": 0,
"verified": false,
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570b7fe0e2957d819ea183b2aa7~tplv-tiktokx-cropcenter-q:100:100:q70.jpeg",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570b7fe0e2957d819ea183b2aa7~tplv-tiktokx-cropcenter-q:100:100:q70.jpeg"
]
}
},
"cid": "7612967610280805138",
"digg_count": 38,
"status": 1
}
],
"status_msg": "",
"cursor": null,
"extra": null,
"log_pb": null
}
TikTok · Media
POST /api/v1/scrape/tiktok/transcript
A video’s caption track, as plain text and raw WEBVTT.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | str | yes | — | TikTok video URL, or a bare numeric video id |
language | str | no | null | Pick a specific track by language code (e.g. ‘en’). Omit to prefer a creator-authored track, then English. |
use_ai_as_fallback | bool | no | False | Applies only to videos with no caption track, which would require speech-to-text. Speech-to-text fallback is not enabled, so such videos report a clear 501 rather than silently returning nothing. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/transcript \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"https://www.tiktok.com/@henripalms/video/7631128625017851138"}'
A genuine caption track, not speech recognition. Short share links (vm.tiktok.com) are rejected with a 400 — expand them first, or pass the bare numeric id.
Response — the data object:
| Key | Type | |
|---|---|---|
id | string | |
url | string | |
transcript | string or null | |
transcript_vtt | string or null | |
language | string or null | |
is_auto_generated | boolean or null | |
available_tracks | array |
{
"id": "7631128625017851138",
"language": "eng-US",
"transcript": "Next time you're in Tesco wondering if you should buy that chocolate bar, buy it. Because you could always be in an airport where a bar of chocolate cost £20",
"transcript_vtt": "WEBVTT\n\n\n00:00:00.180 --> 00:00:03.020\nNext time you're in Tesco wondering if you should buy that chocolate bar,\n\n00:00:03.021 --> 00:00:03.660\nbuy it.\n\n00:00:03.661 --> 00:00:08.520\nBecause you could always be in an airport where a bar of chocolate cost £20\n",
"url": "https://www.tiktok.com/@henripalms/video/7631128625017851138",
"available_tracks": [
{
"url": "https://v16m-webapp.tiktokcdn-us.com/372c64051b50340d45de1458b8cdc6ea/6a7934f8/video/tos/useast5/tos-useast5-v-0068c799-tx/102fcb7a5c304113be6f2f3a66041a78/",
"format": "webvtt",
"kind": "manual",
"language_code": "eng-US",
"language_name": "eng-US",
"is_auto_generated": false
}
],
"is_auto_generated": false
}
TikTok · Ads
POST /api/v1/scrape/tiktok/ads
TikTok’s Top Ads library — the best-performing public ads.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
page | int | no | 1 | 1-indexed result page |
cursor | str | no | null | Pagination cursor — echo back the cursor from the previous response. Omit it for the first page.. Equivalent to page (this library pages by number); when both are sent, cursor wins. |
limit | int | no | 20 | Ads per page (max 20; higher values are silently clamped) |
period | int | no | null | Look-back window in days: 7, 30 or 180 |
country_code | str | no | null | Comma-separated ISO-2 markets (e.g. ‘US,CA’) |
ad_language | str | no | null | Comma-separated language codes (e.g. ‘en,de’) |
order_by | str | no | null | Ranking metric: ‘impression’ (reach), ‘ctr’, ‘like’, ‘cvr’, ‘play_6s_rate’, ‘play_2s_rate’ |
industry | str | no | null | Comma-separated industry codes (e.g. ‘28000000000,24000000000’) |
ad_format | str | no | null | ’1’ Spark Ads, ‘2’ non-Spark Ads |
objective | str | no | null | Comma-separated campaign objectives: 1 traffic, 2 app installs, 3 conversions, 4 video views, 5 reach, 8 lead generation, 15 product sales |
like | str | no | null | Like percentile band: ‘1’ top 1–20%, ‘2’ 21–40%, ‘3’ 41–60%, ‘4’ 61–80%, ‘5’ 81–100% |
keyword | str | no | null | Free-text keyword to search the ads library |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/ads \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"country_code":"US","period":7}'
Spend is not published for any ad, soResponse — thecostis a band rather than a figure.ctrandlikeare the library’s real metrics.
data object:
| Key | Type | |
|---|---|---|
ads | array | |
cursor | string or null | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
page | number | |
page_size | number | |
total | number | Total across the whole list, not just this page. |
{
"cursor": "2",
"has_more": true,
"page": 1,
"page_size": 20,
"total": 22,
"ads": [
{
"title": "Australia, Cozey is here with thoughtfully designed furniture and fast, free shipping from Sydney.",
"like_count": 288,
"video": {
"cover_url": "https://p16-common-sign.tiktokcdn.com/tos-alisg-p-0051c001-sg/ooZR8AfOUbQL4jNjDPgMIsFEN85IHqZJDfBMB1~tplv-noop.image",
"video_id": "v14033g50000d9mccjvog65u49opc4e0",
"video_link": "https://v16m-default.tiktokcdn.com/bd7683a10779a9d897b053e623ecdcd8/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/owbAcBEMnRDNNGgEZILWFXsBfeUQVqEDxGIPnv/",
"duration_seconds": 28.067,
"height": 1280,
"width": 720,
"video_links_by_quality": {
"1080p": "https://v16m-default.tiktokcdn.com/bd7683a10779a9d897b053e623ecdcd8/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/owbAcBEMnRDNNGgEZILWFXsBfeUQVqEDxGIPnv/",
"360p": "https://v16m-default.tiktokcdn.com/a2e11ad25488140a496e7ee5dfe997ba/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/o4dgnExPAIZDMeUqNXcBBWGpmEEKIQFsPBCbfD/",
"480p": "https://v16m-default.tiktokcdn.com/c52ac346b7bee8402068edfc9d994132/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/oQUD4GD7EDrgIMFgqfIAMjMfRZ8NBPDbZQBmOs/",
"540p": "https://v16m-default.tiktokcdn.com/eff8be47248c424b366f394eaf3949b4/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/oQFZMJOqbA2sBIPgE8OMTNjBUfZfI4MbDR4gQD/",
"720p": "https://v16m-default.tiktokcdn.com/23e90134042d71ac121a13265deca254/6a76e66f/video/tos/alisg/tos-alisg-ve-0051c001-sg/o8IcrNBqWbsxZFWDec9DmgQDUEBfAPI4GEGnEM/"
}
},
"ad_id": "7668717763499327508",
"brand_name": "cozey",
"industry_key": "label_21000000000",
"objective_key": "campaign_objective_traffic",
"cost_level": 2,
"ctr": 0.25,
"is_search_ad": true
}
]
}
POST /api/v1/scrape/tiktok/ad
The full record for one ad from the Top Ads library.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
ad_id (or material_id) | str | yes | — | Ad (material) id, as returned by /api/v1/scrape/tiktok/ads. |
curl -X POST https://app.sideshift.app/api/v1/scrape/tiktok/ad \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"ad_id":"7668695930906099732"}'
data object:
| Key | Type | |
|---|---|---|
ad_title | string | |
brand_name | string | |
comment | number | |
cost | number | |
country_code | array | |
ctr | number | |
favorite | boolean | |
has_summary | boolean | |
highlight_text | string | |
id | string | |
industry_key | string | |
is_search | boolean | |
keyword_list | array or null | |
landing_page | string | |
like | number | |
objective_key | string | |
objectives | array | |
pattern_label | array | |
share | number | |
source | string | |
source_key | number | |
video_info | object | |
voice_over | boolean | |
creative_center_url | string | |
detail_analysis | object or null | |
interactive_time_analysis | object or null | |
recommended_for_you | boolean or null |
{
"id": "7668695930906099732",
"ad_title": "Much needed curl refresh thanks to @Conair hair steamer 🩷✨ #curlyhair #haircare #routine #ad #Conair",
"brand_name": "Not Mention",
"creative_center_url": "https://ads.tiktok.com/business/creativecenter/ads/detail/7668695930906099732",
"industry_key": "label_16100000000",
"landing_page": "https://www.tiktok.com/t/ZT9hYLPTgToKJ-A3JyY/",
"objective_key": "campaign_objective_reach",
"source": "Others",
"comment": 143,
"cost": 2,
"ctr": 0.45,
"favorite": false,
"has_summary": false,
"is_search": false,
"like": 625,
"share": 4,
"source_key": 73,
"voice_over": false,
"video_info": {
"video_url": {
"540p": "https://v16m-default.tiktokcdn.com/81b0ac1be7d9002f4299da4d639f7af2/6a76e674/video/tos/maliva/tos-maliva-ve-0068c799-us/oYVOGpwPEborAFpfGgSQVgDsatGzBADgEIvfRB/",
"720p": "https://v16m-default.tiktokcdn.com/12365586084c8ed438fb503b2c12039d/6a76e674/video/tos/maliva/tos-maliva-ve-0068c799-us/oAwjIASRVEBrPfDGDXgFBzvSQfsVptEBwgGgOA/"
},
"cover": "https://p16-common-sign.tiktokcdn.com/tos-maliva-p-0068c799-us/o0fIICjHgwWiDB4OApAgIEKswQipB0A15jBpGi~tplv-noop.image",
"vid": "v12044gd0000d77b3bfog65g3u1a60g0",
"duration": 32.467,
"height": 1280,
"width": 720
},
"objectives": [
{
"label": "campaign_objective_reach",
"value": 5
}
],
"country_code": [
"US"
],
"highlight_text": "",
"detail_analysis": null,
"interactive_time_analysis": null,
"keyword_list": null,
"recommended_for_you": null,
"pattern_label": []
}
video_info fields:
| Field | Type | Example |
|---|---|---|
vid | string | "v1c044g50000d9kcmuvog65kr88cgdng" |
duration | number | 35.293 |
cover | string | "https://p16-common-sign.tiktokcdn.com… |
video_url | object | nested: 720p |
width | number | 576 |
height | number | 1024 |
Instagram — 15 platform operations
Instagram’s own payloads are passed through under the keys Instagram uses, so field names and nesting match what you would get from Instagram directly.Instagram · Profile
POST /api/v1/scrape/instagram/profile-details
Full public profile: identity, counts, bio links, recent posts, related accounts.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
cache_max_age | str | no | null | Accepted and ignored — every response is a live read. |
handle | str | yes | — | Instagram handle (with or without @) |
trim | bool | no | False | Return only the core identity/count fields |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/profile-details \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"nasa"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
data | object |
{
"success": true,
"data": {
"user": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"biography": "Making the seemingly impossible, possible. ✨",
"business_address_json": "{\"city_name\": null, \"city_id\": null, \"latitude\": null, \"longitude\": null, \"street_address\": null, \"zip_code\": null}",
"business_category_name": "Government Agencies",
"business_contact_method": "CALL",
"category_enum": "GOVERNMENT_ORGANIZATION",
"eimu_id": "118750106179205",
"external_url": "https://www.nasa.gov/",
"external_url_linkshimmed": "https://l.instagram.com/",
"fbid": "17841401474538262",
"profile_pic_url": "https://scontent-phl2-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"profile_pic_url_hd": "https://scontent-phl2-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"blocked_by_viewer": false,
"country_block": false,
"followed_by_viewer": false,
"follows_viewer": false,
"has_ar_effects": false,
"has_blocked_viewer": false,
"has_channel": false,
"has_clips": true,
"has_guides": false,
"has_onboarded_to_text_post_app": true
}
}
}
data fields:
| Field | Type | Example |
|---|---|---|
user | object | nested: ai_agent_owner_username, ai_agent_type, biography, bio_links |
POST /api/v1/scrape/instagram/profile-summary
Profile summary keyed by numeric user id.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
userId | str | yes | — | Numeric Instagram user id |
cache_max_age | str | no | null | Accepted and ignored — every response is a live read. |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/profile-summary \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"userId":"13460080"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
pk | string | |
id | string | |
username | string | |
full_name | string | |
biography | string | |
biography_with_entities | object | |
profile_pic_url | string | |
hd_profile_pic_url_info | object | |
is_verified | boolean | |
is_private | boolean | |
is_business | boolean | |
is_professional_account | boolean | |
account_type | string | |
follower_count | number | |
following_count | number | |
media_count | number | |
category | string or null | |
external_url | string | |
bio_links | array | |
pronouns | array | |
fbid_v2 | string | |
is_embeds_disabled | boolean | |
show_account_transparency_details | boolean | |
transparency_label | string or null | |
transparency_product | string or null | |
address_street | string | |
city_name | string or null | |
zip | string or null | |
is_regulated_c18 | boolean | |
has_chaining | boolean | |
total_clips_count | number |
{
"full_name": "Nike",
"id": "13460080",
"username": "nike",
"account_type": "business",
"address_street": "{\"city_name\": \"Beaverton, Oregon\", \"city_id\": 108410602520455, \"latitude\": 45.5076448, \"longitude\": -122.8269159, \"street_address\": \"One Bowerman Dr\", \"zip_code\": \"97005\"}",
"biography": "Just Do It.",
"external_url": "http://empli.fi/nike",
"fbid_v2": "17841400602400210",
"pk": "13460080",
"profile_pic_url": "https://scontent-den2-1.cdninstagram.com/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg",
"follower_count": 291586953,
"following_count": 264,
"has_chaining": false,
"is_business": true,
"is_embeds_disabled": false,
"is_private": false,
"is_professional_account": true,
"is_regulated_c18": false,
"is_verified": true,
"media_count": 1667,
"show_account_transparency_details": true,
"success": true,
"total_clips_count": 0,
"bio_links": [
{
"url": "http://empli.fi/nike",
"link_type": "external",
"lynx_url": "https://l.instagram.com/"
}
],
"hd_profile_pic_url_info": {
"url": "https://scontent-den2-1.cdninstagram.com/v/t51.82787-19/551608484_18567162979020081_1135468084872726555_n.jpg"
},
"biography_with_entities": {
"raw_text": "Just Do It.",
"entities": []
},
"category": null,
"city_name": null,
"transparency_label": null,
"transparency_product": null,
"zip": null,
"pronouns": []
}
biography_with_entities fields:
| Field | Type | Example |
|---|---|---|
raw_text | string | "Making the seemingly impossible, poss… |
entities | array | array |
hd_profile_pic_url_info fields:
| Field | Type | Example |
|---|---|---|
url | string | "https://scontent-mia5-2.cdninstagram.… |
POST /api/v1/scrape/instagram/profile-embed
The profile embed HTML, plus an account summary and recent posts.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle | str | yes | — | Instagram handle |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/profile-embed \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"nasa"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
html | string | |
profile | object | |
recent_posts | array |
{
"html": "<!DOCTYPE html>\n<html lang=\"en\" id=\"facebook\" class=\"no_js\">\n<head><meta charset=\"utf-8\" /><meta name=\"referrer\" content=\"default\" id=\"meta_referrer\" /><script nonce=\"SqR8ro5U\">function envFlush(e){function t(t){for(var n in e)t[n]=e[n]}window.requireLazy?window.requireLazy([\"…",
"success": true,
"recent_posts": [
{
"caption": "Artemis III is taking shape 🚀\n\nThe past month has brought major progress across the board for the next Artemis mission, from the Orion spacecraft coming together to key SLS (Space Launch System) hardware reaching important milestones:\n\n✅ Orion’s crew and service modules are n…",
"id": "3957197381754246568",
"shortcode": "Dbqyg11kVWo",
"url": "https://www.instagram.com/p/Dbqyg11kVWo/",
"comment_count": 252,
"taken_at": 1785954710,
"owner": {
"id": "528817151",
"username": "nasa",
"profile_pic_url": "https://scontent-mia3-3.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"followed_by_viewer": false,
"has_public_story": true,
"is_private": false,
"is_unpublished": false,
"is_verified": true,
"edge_followed_by": {
"count": 104243371
},
"edge_owner_to_timeline_media": {
"count": 4872
},
"edge_owner_to_timeline_video_media": {
"count": 529
}
},
"__typename": "GraphSidecar",
"display_url": "https://scontent-mia3-3.cdninstagram.com/v/t51.82787-15/765715798_18611964127042671_6218197871265090181_n.jpg",
"is_affiliate": false,
"is_paid_partnership": false,
"is_video": false,
"like_and_view_counts_disabled": false,
"coauthor_producers": [
{
"id": "549403870",
"username": "nasakennedy",
"profile_pic_url": "https://scontent-mia5-2.cdninstagram.com/v/t51.2885-19/54247761_435953633840360_5168126987566317568_n.jpg",
"is_verified": true
}
],
"dimensions": {
"height": 1440,
"width": 1080
}
}
],
"profile": {
"full_name": "NASA",
"url": "https://www.instagram.com/nasa/",
"username": "nasa",
"profile_pic_url": "https://scontent-mia3-3.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"user_id": "528817151",
"follower_count": 104243371,
"has_public_story": true,
"is_verified": true,
"media_count": 4872,
"pronouns": []
}
}
profile fields:
| Field | Type | Example |
|---|---|---|
username | string | "nasa" |
full_name | string | "NASA" |
is_verified | boolean | true |
profile_pic_url | string | "https://scontent-atl3-2.cdninstagram.… |
follower_count | number | 104243371 |
media_count | number | 4872 |
has_public_story | boolean | true |
pronouns | array | array |
user_id | string | "528817151" |
url | string | "https://www.instagram.com/nasa/" |
Instagram · Posts
POST /api/v1/scrape/instagram/timeline
A page of a profile’s timeline — reels, photos, videos and carousels.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
handle | str | yes | — | Instagram handle |
next_max_id | str | no | null | Cursor from the previous response |
trim | bool | no | False | Return a reduced post object |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/timeline \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"nasa"}'
Pages on next_max_id.
Response — the data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
items | array of post | |
num_results | number | |
more_available | boolean | |
has_more | boolean | Whether another page exists. |
next_max_id | string | Pass back on the next call. |
user | object |
{
"user": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"pk": "528817151",
"pk_id": "528817151",
"profile_grid_display_type": "default",
"profile_pic_id": "1735715738009579084_528817151",
"profile_pic_url": "https://instagram.ftpa1-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"strong_id__": "528817151",
"is_active_on_text_post_app": true,
"is_private": false,
"is_verified": true
},
"next_max_id": "3952023811948503235_528817151",
"has_more": true,
"more_available": true,
"num_results": 12,
"success": true,
"items": [
{
"code": "Dbn-XJhk0_-",
"id": "3956405067326902270_528817151",
"url": "https://www.instagram.com/reel/Dbn-XJhk0_-/",
"comment_count": 2200,
"like_count": 212951,
"play_count": 7270562,
"taken_at": 1785860295,
"caption": {
"text": "Lunar landers, assemble.\n\nIn clean rooms across the country, the next generation of commercial lunar landers is coming together.\n\nFrom @BlueOrigin and @FireflyAerospace to @IntuitiveMachines and @VoyagerTech_, we're taking you behind the scenes to see the spacecraft that will …",
"user": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"fbid_v2": "17841401474538262",
"pk": "528817151",
"pk_id": "528817151",
"profile_pic_id": "1735715738009579084_528817151",
"profile_pic_url": "https://instagram.ftpa1-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"strong_id__": "528817151",
"is_private": false,
"is_unpublished": false,
"is_verified": true
},
"content_type": "comment",
"media_id": "3956405067326902270",
"pk": "18138644452587909",
"status": "Active",
"strong_id__": "18138644452587909",
"text_translation": "Lunar landers, assemble.\n\n In clean rooms across the country, the next generation of commercial lunar landers is coming together.\n\n From @BlueOrigin and @FireflyAerospace to @IntuitiveMachines and @VoyagerTech_, we're taking you behind the scenes to see the spacecraft that wil…",
"user_id": "528817151",
"bit_flags": 0,
"created_at": 1785860298,
"created_at_utc": 1785860298,
"did_report_as_spam": false,
"is_covered": false
},
"owner": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"fbid_v2": "17841401474538262",
"pk": "528817151",
"pk_id": "528817151",
"profile_pic_id": "1735715738009579084_528817151",
"profile_pic_url": "https://instagram.ftpa1-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"strong_id__": "528817151",
"account_type": 2,
"can_see_quiet_post_attribution": true,
"eligible_for_text_app_activation_badge": false,
"feed_post_reshare_disabled": false,
"has_anonymous_profile_picture": false
},
"user": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"fbid_v2": "17841401474538262",
"pk": "528817151",
"pk_id": "528817151",
"profile_pic_id": "1735715738009579084_528817151",
"profile_pic_url": "https://instagram.ftpa1-1.fna.fbcdn.net/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"strong_id__": "528817151",
"account_type": 2,
"can_see_quiet_post_attribution": true,
"eligible_for_text_app_activation_badge": false,
"feed_post_reshare_disabled": false,
"has_anonymous_profile_picture": false
},
"caption_text": "Lunar landers, assemble.\n\nIn clean rooms across the country, the next generation of commercial lunar landers is coming together.\n\nFrom @BlueOrigin and @FireflyAerospace to @IntuitiveMachines and @VoyagerTech_, we're taking you behind the scenes to see the spacecraft that will …",
"display_uri": "https://instagram.ftpa1-2.fna.fbcdn.net/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg",
"eligible_insights_entrypoints": "NONE",
"fbid": "18138644353587909",
"integrity_review_decision": "pending",
"original_lang_for_translations": "en",
"pk": "3956405067326902270",
"product_type": "clips",
"profile_grid_thumbnail_fitting_style": "UNSET",
"related_ads_pivots_media_info": "USER_NOT_IN_TEST_GROUP",
"strong_id__": "3956405067326902270_528817151",
"subtype_name_for_REST__": "XDTClipsMedia",
"video_dash_manifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd\" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\" minBufferTime=\"PT2S\" ty…",
"are_remixes_crosspostable": true
}
]
}
user fields:
| Field | Type | Example |
|---|---|---|
pk | string | "528817151" |
pk_id | string | "528817151" |
profile_grid_display_type | string | "default" |
strong_id__ | string | "528817151" |
id | string | "528817151" |
full_name | string | "NASA" |
is_active_on_text_post_app | boolean | true |
is_private | boolean | false |
is_verified | boolean | true |
profile_pic_id | string | "1735715738009579084_528817151" |
profile_pic_url | string | "https://scontent-sea5-1.cdninstagram.… |
username | string | "nasa" |
POST /api/v1/scrape/instagram/reels
A page of a profile’s reels, including the play counts the timeline omits.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
user_id | str | no | null | Numeric user id — the fastest form |
handle | str | no | null | Instagram handle; costs one extra resolve |
max_id | str | no | null | Cursor from the previous response |
trim | bool | no | False | Return a reduced post object |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/reels \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"handle":"nasa"}'
Pages onResponse — themax_id. Passinguser_idinstead ofhandleis slightly faster.
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
items | array of post | |
num_results | number | |
more_available | boolean | |
has_more | boolean | Whether another page exists. |
max_id | string | Pass back on the next call. |
user_id | string | Echo of what you queried. |
username | string or null |
{
"username": "nasa",
"max_id": "QVFDWXJ4QWd0dlQ0ZEx1cEQyX0tGbjRyNzB4d1loWWNhZDdpRzhQWklCWkdDZnA3MUtQOXZRa0wySzJHVWlzV3o0UDZlRU9zb2FLaVZWV245VjBmakRxMA==",
"user_id": "528817151",
"has_more": true,
"more_available": true,
"num_results": 12,
"success": true,
"items": [
{
"code": "DbA3XXzxNSZ",
"id": "3945396772247229593_582986390",
"url": "https://www.instagram.com/reel/DbA3XXzxNSZ/",
"comment_count": 90,
"like_count": 7979,
"play_count": 1601088,
"taken_at": 1784548809,
"caption": {
"text": "What was once only visible from a distance, we could now reach out and grasp…\n\nThroughout history, humanity dreamed of Mars – but it was never within reach. That changed 50 years ago when NASA’s Viking 1 lander touched down safely and began transmitting the first images from t…",
"user": {
"full_name": "NASA Jet Propulsion Laboratory",
"id": "582986390",
"username": "nasajpl",
"fbid_v2": "17841400311709109",
"pk": "582986390",
"pk_id": "582986390",
"profile_pic_id": "3722424445144580782_582986390",
"profile_pic_url": "https://scontent-atl3-1.cdninstagram.com/v/t51.82787-19/548677981_18526892311010391_66718757115050670_n.jpg",
"strong_id__": "582986390",
"is_private": false,
"is_unpublished": false,
"is_verified": true
},
"content_type": "comment",
"media_id": "3945396772247229593",
"pk": "18092213663452637",
"status": "Active",
"strong_id__": "18092213663452637",
"user_id": "582986390",
"bit_flags": 0,
"created_at": 1784548808,
"created_at_utc": 1784548808,
"did_report_as_spam": false,
"is_covered": false,
"is_ranked_comment": false
},
"owner": {
"full_name": "NASA Jet Propulsion Laboratory",
"id": "582986390",
"username": "nasajpl",
"fbid_v2": "17841400311709109",
"pk": "582986390",
"pk_id": "582986390",
"profile_pic_id": "3722424445144580782_582986390",
"profile_pic_url": "https://scontent-atl3-1.cdninstagram.com/v/t51.82787-19/548677981_18526892311010391_66718757115050670_n.jpg",
"strong_id__": "582986390",
"account_type": 2,
"eligible_for_text_app_activation_badge": false,
"feed_post_reshare_disabled": false,
"has_anonymous_profile_picture": false,
"is_embeds_disabled": false
},
"user": {
"full_name": "NASA Jet Propulsion Laboratory",
"id": "582986390",
"username": "nasajpl",
"fbid_v2": "17841400311709109",
"pk": "582986390",
"pk_id": "582986390",
"profile_pic_id": "3722424445144580782_582986390",
"profile_pic_url": "https://scontent-atl3-1.cdninstagram.com/v/t51.82787-19/548677981_18526892311010391_66718757115050670_n.jpg",
"strong_id__": "582986390",
"account_type": 2,
"eligible_for_text_app_activation_badge": false,
"feed_post_reshare_disabled": false,
"has_anonymous_profile_picture": false,
"is_embeds_disabled": false
},
"caption_text": "What was once only visible from a distance, we could now reach out and grasp…\n\nThroughout history, humanity dreamed of Mars – but it was never within reach. That changed 50 years ago when NASA’s Viking 1 lander touched down safely and began transmitting the first images from t…",
"display_uri": "https://scontent-atl3-1.cdninstagram.com/v/t51.82787-15/751883538_18606205564010391_9198363747884884579_n.jpg",
"eligible_insights_entrypoints": "NONE",
"fbid": "18092212022452637",
"integrity_review_decision": "pending",
"original_lang_for_translations": "en",
"pk": "3945396772247229593",
"product_type": "clips",
"related_ads_pivots_media_info": "USER_NOT_IN_TEST_GROUP",
"strong_id__": "3945396772247229593_582986390",
"subtype_name_for_REST__": "XDTClipsMedia",
"video_dash_manifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd\" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\" minBufferTime=\"PT2S\" ty…",
"are_remixes_crosspostable": true,
"can_reply": false
}
]
}
POST /api/v1/scrape/instagram/post-details
One post or reel in full detail, as Instagram’s own post object.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
cache_max_age | str | no | null | Accepted and ignored — every response is a live read. |
url | str | yes | — | Instagram post or reel URL (or bare shortcode) |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/post-details \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"https://www.instagram.com/reel/Dbn-XJhk0_-/"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
data | object |
{
"success": true,
"data": {
"xdt_shortcode_media": {
"id": "3956405067326902270",
"shortcode": "Dbn-XJhk0_-",
"video_url": "https://scontent-lga3-2.cdninstagram.com/o1/v/t2/f2/m86/AQP0XWA-IZtYgM60sxQGnTcDFXB9Qr-EQhcVIY3ka_HcKhek4fKaQD2iWGdl7pTcpiDXif3z1Qlej6QLPtOZ2QpOcr5NNocP8vK3n3Y.mp4",
"video_play_count": 7270562,
"video_view_count": 1592375,
"owner": {
"full_name": "NASA",
"id": "528817151",
"username": "nasa",
"profile_pic_url": "https://scontent-lga3-1.cdninstagram.com/v/t51.2885-19/29090066_159271188110124_1152068159029641216_n.jpg",
"blocked_by_viewer": false,
"followed_by_viewer": false,
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"is_verified": true,
"pass_tiering_recommendation": true,
"requested_by_viewer": false,
"edge_followed_by": {
"count": 104254296
}
},
"__isXDTGraphMediaInterface": "XDTGraphVideo",
"__typename": "XDTGraphVideo",
"display_url": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg",
"media_preview": "ABgq5ynbTjNANOA7UAMxRU6wk+3+fSigBuwD7xx/n/P+FIXVemT7dvz/APrVEApHJOefp7c5pdq+p6e3X8+nvQBI9y54X5B7f1PX+ntRUbBR0JJ//X7+mP1ooAjooooAKKKKAP/Z",
"product_type": "clips",
"thumbnail_src": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-15/764637906_18633750226049152_4753965783588088014_n.jpg",
"can_see_insights_as_brand": false,
"caption_is_edited": false,
"commenting_disabled_for_viewer": false,
"comments_disabled": false,
"has_audio": true,
"has_ranked_comments": false,
"is_ad": false,
"is_affiliate": false,
"is_paid_partnership": false,
"is_published": true,
"is_video": true,
"like_and_view_counts_disabled": false
}
}
}
data fields:
| Field | Type | Example |
|---|---|---|
xdt_shortcode_media | object | nested: __typename, __isXDTGraphMediaInterface, id, shortcode |
Instagram · Comments
POST /api/v1/scrape/instagram/post-comments
Top-level comments on a post or reel.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
url | str | yes | — | Instagram post or reel URL |
cursor | str | no | null | Cursor from the previous response |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/post-comments \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"url":"https://www.instagram.com/reel/Dbn-XJhk0_-/"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
comments | array of comment | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
total_count | number or null |
{
"cursor": "{\"is_server_cursor_inverse\":true,\"server_cursor\":\"AQHSgJNDylBX7JeWMCj0_Tq4A65v8wkncTjfr-urvgWW36lkf6003gZfHbmypRi-wqWNss-n4eW4Nz9pjh5ff5WRXg\"}",
"has_more": true,
"success": true,
"comments": [
{
"id": "18448947958184362",
"text": "Why not go to mars instead???",
"user": {
"id": "55480619197",
"username": "barryisthegoat2009",
"pk": "55480619197",
"profile_pic_url": "https://scontent-ord5-2.cdninstagram.com/v/t51.82787-19/671753914_18010982729851198_6821777577820754483_n.jpg",
"is_verified": false
},
"comment_like_count": 0,
"created_at": 1786155504,
"has_more_replies": false
}
],
"total_count": null
}
Instagram · Discovery
POST /api/v1/scrape/instagram/search
Ranked accounts, hashtags and suggested terms for a keyword.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Keyword, hashtag or account to search for |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cars"}'
Instagram ranks results only for topics it curates; a topic it does not curate returns a clean 404.Response — the
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
data | object |
{
"success": true,
"data": {
"query": "cars",
"users": [
{
"url": "https://www.instagram.com/desharpen/",
"username": "desharpen",
"pk": "17841459401872912",
"profile_pic_url": "https://scontent-lga3-1.cdninstagram.com/v/t51.82787-19/626667495_17977952783980063_4603710452593790065_n.jpg",
"is_verified": true
}
],
"hashtags": [
{
"url": "https://www.instagram.com/explore/tags/cars/",
"name": "cars",
"post_matches": 16
}
],
"keywords": [
"cars memes pixar",
"car bow ribbon",
"bugatti car photos"
],
"rank_token": null,
"places": []
}
}
data fields:
| Field | Type | Example |
|---|---|---|
query | string | "cars" |
users | array | array |
hashtags | array | array |
places | array | array |
keywords | array | array |
rank_token | string or null |
POST /api/v1/scrape/instagram/popular-search
Instagram’s curated topic page and its posts.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Topic to look up |
cursor | str | no | null | Opaque cursor from the previous response |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/popular-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"cars"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
query | string | Echo of what you queried. |
posts | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
title | string | |
total_media_count | number | |
total_media_count_is_approximate | boolean | |
description | string | |
description_sources | array | |
suggested_terms | array |
{
"title": "Cars",
"cursor": "AQHSalwPujAUe4ikvXqVXpT7uyOab360cwTb8N86pAVWCyF0OPy8V_iCHQJMGjbLC1CC",
"description": "ET Auto reports popular 2026 models in India include the Mahindra Bolero at ₹6.98 lakh and Hyundai Creta at ₹10.44 lakh, with new launches like the Tata Nexon starting at ₹7.40 lakh. Buyers can filter by budget, fuel type, and body style for sedans, SUVs, and hatchbacks.\n\nAAA’…",
"query": "cars",
"has_more": true,
"success": true,
"total_media_count": 572000000,
"total_media_count_is_approximate": true,
"posts": [
{
"caption": "The most iconic BMW spec in the world ♦️\n.\n#ruby #diamond #luxury #cars #bmwrepost\n@bmwqatarofficial @bmwmiddleeast @bmw\nCrafted by Imed Benkolli founder of DeSharpen.",
"code": "DVCDl8qjcrj",
"id": "POLARIS_3837645634371701475",
"shortcode": "DVCDl8qjcrj",
"url": "https://www.instagram.com/reel/DVCDl8qjcrj/",
"video_url": "https://scontent-ord5-1.cdninstagram.com/o1/v/t16/f2/m69/AQNgQLtffln_zgqNE38N0BbFMoDCK9uL8vgygVPda9zsIDts7gNQzEXQwuV_dVPgE7spHZNPkrn0SlBvV18jp0nl.mp4",
"play_count": 234315924,
"user": {
"id": "17841459401872912",
"username": "desharpen",
"profile_pic_url": "https://scontent-ord5-1.cdninstagram.com/v/t51.82787-19/626667495_17977952783980063_4603710452593790065_n.jpg",
"is_verified": true
},
"display_uri": "https://scontent-ord5-1.cdninstagram.com/v/t51.82787-15/640785301_17980172048980063_7284395060205295302_n.jpg",
"is_video": true,
"video_versions": [
{
"url": "https://scontent-ord5-1.cdninstagram.com/o1/v/t16/f2/m69/AQNgQLtffln_zgqNE38N0BbFMoDCK9uL8vgygVPda9zsIDts7gNQzEXQwuV_dVPgE7spHZNPkrn0SlBvV18jp0nl.mp4"
}
]
}
],
"description_sources": [
"https://auto.economictimes.indiatimes.com/cars",
"https://www.democratandchronicle.com/story/news/2026/06/11/aaa-2026-car-guide-best-cars-suvs-trucks/90400986007/",
"https://www.usatoday.com/story/cars/shopping/2026/08/03/best-new-cars-under-30000-dollars/91120408007/"
],
"suggested_terms": [
"cars memes pixar",
"car bow ribbon",
"bugatti car photos"
]
}
POST /api/v1/scrape/instagram/hashtag-search
Public posts carrying an exact hashtag.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
hashtag | str | yes | — | Hashtag to search for, with or without the # |
date_posted | str | no | null | Restrict to a recency window: last-hour, last-day, last-week, last-month, last-year |
media_type | str | no | 'all' | ’all’ for posts and reels, or ‘reels’ |
cursor | str | no | null | Page number from the previous response (max 10) |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/hashtag-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"hashtag":"sunset"}'
Paginates by cursor up to page 10; beyond that there is no page to return and the request is rejected rather than silently clamped.
Response — the data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
hashtag | string | |
media_type | string | |
posts | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
{
"cursor": "2",
"hashtag": "sunset",
"media_type": "all",
"has_more": true,
"success": true,
"posts": [
{
"caption": "Every sunset is an opportunity to reset. #london #nature #sunset #trending #hindisongs",
"id": "3948272002575417493",
"shortcode": "DbLFHeuIMCV",
"url": "https://www.instagram.com/reel/DbLFHeuIMCV/",
"video_url": "https://instagram.fsac1-1.fna.fbcdn.net/o1/v/t2/f2/m86/AQN_xXdqGYYFBNfgA00qK2Txq9zxQGfX7_bRBKha8tp5FlddGMao-LypXweavv1SW5EHHLgm6prbpg_4V5BDJIrHjDE7NoFB6j3KrSE.mp4",
"comment_count": 2,
"like_count": 1143,
"taken_at": 1784890780,
"video_play_count": 64756,
"video_view_count": 9083,
"owner": {
"full_name": "Pretty",
"id": "26681095980",
"username": "prettylittlethings888",
"profile_pic_url": "https://instagram.fsac1-2.fna.fbcdn.net/v/t51.82787-19/670776385_18094741459895981_1699203007513562456_n.jpg",
"blocked_by_viewer": false,
"followed_by_viewer": false,
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"is_verified": true,
"pass_tiering_recommendation": true,
"requested_by_viewer": false,
"edge_followed_by": {
"count": 1396
}
},
"__typename": "XDTGraphVideo",
"display_url": "https://instagram.fsac1-2.fna.fbcdn.net/v/t51.82787-15/753648428_18114177088895981_8317931295366179729_n.jpg",
"product_type": "clips",
"thumbnail_src": "https://instagram.fsac1-2.fna.fbcdn.net/v/t51.82787-15/753648428_18114177088895981_8317931295366179729_n.jpg",
"comments_disabled": false,
"has_audio": false,
"is_ad": false,
"is_affiliate": false,
"is_paid_partnership": false,
"is_video": true,
"like_and_view_counts_disabled": false,
"video_duration": 44.1,
"clips_music_attribution_info": {
"artist_name": "Udit Narayan, Shreya Ghoshal",
"audio_id": "2342836682663706",
"song_name": "Chori Chori Chupke Chupke",
"should_mute_audio": false,
"uses_original_audio": false
}
}
]
}
POST /api/v1/scrape/instagram/profile-search
Creator discovery from bio and caption keywords.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Bio or caption keyword/phrase |
cursor | str | no | null | Page number from the previous response (max 10) |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/profile-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"travel blogger"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
query | string | Echo of what you queried. |
profiles | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
{
"cursor": "2",
"query": "travel blogger",
"has_more": true,
"success": true,
"profiles": [
{
"full_name": "Charu Goyal | Travel Blogger",
"id": "3037325678",
"url": "https://www.instagram.com/travelwithcg/",
"username": "travelwithcg",
"biography": "📍Luxury travel blogger & photographer\n🌍 Sharing beautiful places & hotels\n📸 Photoshoots in Jaipur @jaipurphototour\n📧 [email redacted]\n⤵️ Blog",
"category_name": "Blogger",
"external_url": "https://travelwithcg.com/instagram-links/",
"google_description": "43K Followers, 611 Following, 868 Posts - Charu Goyal | Travel Blogger (@travelwithcg) on Instagram: \"📍Luxury travel blogger & photographer 🌍 Sharing beautiful places & hotels 📸 Photoshoots in Jaipur @jaipurphototour 📧 [email redacted] ⤵️ Blog\"",
"google_title": "Charu Goyal | Travel Blogger (@travelwithcg) - Instagram",
"matched_from": "profile",
"profile_pic_url": "https://scontent-lax3-2.cdninstagram.com/v/t51.2885-19/455699681_498640002858990_5559399076549613325_n.jpg",
"enriched": true,
"follower_count": 43079,
"following_count": 605,
"is_business_account": false,
"is_private": false,
"is_professional_account": true,
"is_verified": true,
"media_count": 868,
"bio_links": [
{
"title": "Shop my outfits👗",
"url": "https://www.nykaafashion.com/nap/charu-goyal-fashion-store/c/70630",
"link_type": "external",
"lynx_url": "https://l.instagram.com/"
}
]
}
]
}
POST /api/v1/scrape/instagram/reels-search
Keyword reel search.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | str | yes | — | Keyword or phrase to search for |
date_posted | str | no | null | Restrict to a recency window: last-hour, last-day, last-week, last-month, last-year |
page | int | no | 1 | Result page, 1-10 |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/reels-search \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"query":"coffee"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
query | string | Echo of what you queried. |
reels | array | |
page | number | |
has_more | boolean | Whether another page exists. |
{
"query": "coffee",
"has_more": true,
"page": 1,
"success": true,
"reels": [
{
"caption": "Hyderabads most loved OG cafe Roastery Coffee House is now in Film Nagar. The 15th House is to celebrate 9 years of Roastery starting the cafe culture in Hyderabad.\n\nThe design is inspired by Taramati Baradri which is an integral part of the rich Hyderabadi history. Every corn…",
"id": "3951132394744731760",
"shortcode": "DbVPfqhTFhw",
"url": "https://www.instagram.com/reel/DbVPfqhTFhw/",
"video_url": "https://scontent-mia3-3.cdninstagram.com/o1/v/t2/f2/m86/AQOWiyTwZ7B_iQmeHF8LyJgrPMu9Z63GRzhqVwf8S6gLWnxjjbbHpfLTNFgalLfwoZ0sQsLcaan4KOgtwbIUZGx2F9m6AOcgzbyj-Xw.mp4",
"comment_count": 553,
"like_count": 94956,
"taken_at": 1785231933,
"video_play_count": 3148574,
"video_view_count": 1093767,
"owner": {
"full_name": "Shagun | Hyderabad Influencer | India Travel",
"id": "2461336121",
"username": "eattripclick",
"profile_pic_url": "https://scontent-mia5-1.cdninstagram.com/v/t51.2885-19/504823511_18345239401080122_4261955305481062097_n.jpg",
"blocked_by_viewer": false,
"followed_by_viewer": false,
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"is_verified": true,
"pass_tiering_recommendation": true,
"requested_by_viewer": false,
"edge_followed_by": {
"count": 880373
}
},
"__typename": "XDTGraphVideo",
"display_url": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-15/757909174_18402275119080122_909298503543995036_n.jpg",
"product_type": "clips",
"thumbnail_src": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-15/757909174_18402275119080122_909298503543995036_n.jpg",
"comments_disabled": false,
"has_audio": true,
"is_ad": false,
"is_affiliate": false,
"is_paid_partnership": false,
"is_video": true,
"like_and_view_counts_disabled": false,
"video_duration": 29.8,
"tagged_users": [
{
"full_name": "Roastery Coffee House",
"id": "5654906171",
"username": "roasterycoffeehouseindia",
"profile_pic_url": "https://scontent-mia3-3.cdninstagram.com/v/t51.82787-19/703398018_18437010376186172_8953949483061090555_n.jpg",
"followed_by_viewer": false,
"is_verified": true
}
]
}
]
}
POST /api/v1/scrape/instagram/trending-reels
The reels Instagram is currently featuring.
Takes no parameters.
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/trending-reels \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
data | object |
{
"success": true,
"data": {
"available_in_batch": 72,
"returned": 12,
"reels": [
{
"caption": "99-year-old Maybelle Blair, who was a pitcher in the original women’s professional baseball league, the All-American Girls Professional Baseball League, threw out one of the ceremonial first pitches for today’s @wpbl_official Opening Day.\n\n#baseball #wpbl #womenssports #aagpbl",
"id": "3954469397400812395",
"shortcode": "DbhGPcbOntr",
"url": "https://www.instagram.com/reel/DbhGPcbOntr/",
"video_url": "https://scontent-mia3-2.cdninstagram.com/o1/v/t2/f2/m86/AQNG_efF3345eqsCuvJ00VANfod2rWJBnRjKLTa5ElOfG-Q-5kfLDaXYbUuif_aWqycnEgMSfI0B70r6g6JPXJ2bX60d_cMPUBJrKhg.mp4",
"comment_count": 265,
"like_count": 30514,
"taken_at": 1785629773,
"video_play_count": 369332,
"video_view_count": 190280,
"owner": {
"full_name": "Hang Time | Women in Sports",
"id": "30496122928",
"username": "hangtimep0d",
"profile_pic_url": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-19/624149212_18088408667018929_3856000257563299825_n.jpg",
"blocked_by_viewer": false,
"followed_by_viewer": false,
"has_blocked_viewer": false,
"is_embeds_disabled": false,
"is_private": false,
"is_unpublished": false,
"is_verified": false,
"pass_tiering_recommendation": true,
"requested_by_viewer": false,
"edge_followed_by": {
"count": 1362
}
},
"__typename": "XDTGraphVideo",
"display_url": "https://scontent-mia5-1.cdninstagram.com/v/t51.82787-15/762543734_18106763825018929_4407147417639115526_n.jpg",
"product_type": "clips"
}
]
}
}
data fields:
| Field | Type | Example |
|---|---|---|
reels | array | array |
returned | number | 12 |
available_in_batch | number | 72 |
Instagram · Audio
POST /api/v1/scrape/instagram/audio-reels
The reels using one audio track.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
audio_id | str | yes | — | Audio id, or an instagram.com/reels/audio// URL |
cursor | str | no | null | Cursor from the previous response |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/audio-reels \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"audio_id":"2237221136433210"}'
data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
reels | array | |
cursor | string | Pass back on the next call. null once the list is exhausted. |
has_more | boolean | Whether another page exists. |
audio_id | string | |
audio | object |
{
"audio_id": "2237221136433210",
"cursor": "Gsbm5PnA4o7Tmmu-8KO5nNzRmmvosOWI1YL052qelsbI04uczWmyuOSAvtS6_Wii4M2wvfKK12e6mJzi1ffc92XQ7baj_IDUmWWmtNr7t46UrWS4gp7L2dbBwmLEpriDsqm2vGK-wcG7ieW88GEmrvTY8vtnFBg0AikIGAAaCDoGGQwA",
"has_more": true,
"success": true,
"reels": [
{
"code": "DKZqAPiNtto",
"id": "3646130107966741352_73305128799",
"url": "https://www.instagram.com/reel/DKZqAPiNtto/",
"comment_count": 3,
"like_count": 2994,
"play_count": 51181,
"taken_at": 1748872801,
"caption": {
"text": "You can’t watch your child every minute.\nBut you can teach them to trust who they are.\n\nThe internet will tell them how to look, how to feel, who to be.\nBut confidence? Confidence quiets all that noise.\n\nThe real shield isn’t a screen lock...\nit’s self-esteem.\n\nRaise a child w…",
"user": {
"full_name": "Luís Bevictori",
"id": "73305128799",
"username": "fatherlymind",
"pk_id": "73305128799",
"profile_pic_id": "3677405363100541878_73305128799",
"profile_pic_url": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-19/521189209_17861855391440800_7865596411657841771_n.jpg",
"strong_id__": "73305128799",
"fbid_v2": 17841473223983140,
"is_private": false,
"is_unpublished": false,
"is_verified": true,
"pk": 73305128799
},
"content_type": "comment",
"pk": "17967279293763353",
"status": "Active",
"strong_id__": "17967279293763353",
"bit_flags": 0,
"created_at": 1748872802,
"created_at_utc": 1748872802,
"did_report_as_spam": false,
"is_covered": false,
"is_ranked_comment": false,
"media_id": 3646130107966741500,
"private_reply_status": 0
},
"user": {
"full_name": "Luís Bevictori",
"id": "73305128799",
"username": "fatherlymind",
"pk_id": "73305128799",
"profile_pic_id": "3677405363100541878_73305128799",
"profile_pic_url": "https://scontent-lga3-3.cdninstagram.com/v/t51.82787-19/521189209_17861855391440800_7865596411657841771_n.jpg",
"strong_id__": "73305128799",
"account_type": 3,
"eligible_for_text_app_activation_badge": false,
"fbid_v2": 17841473223983140,
"feed_post_reshare_disabled": false,
"has_anonymous_profile_picture": false,
"interop_messaging_user_fbid": 17844543438440800,
"is_embeds_disabled": false
},
"caption_text": "You can’t watch your child every minute.\nBut you can teach them to trust who they are.\n\nThe internet will tell them how to look, how to feel, who to be.\nBut confidence? Confidence quiets all that noise.\n\nThe real shield isn’t a screen lock...\nit’s self-esteem.\n\nRaise a child w…",
"eligible_insights_entrypoints": "NONE",
"integrity_review_decision": "pending",
"inventory_source": "recommended_clips_chaining_model",
"original_lang_for_translations": "en",
"product_type": "clips",
"related_ads_pivots_media_info": "USER_NOT_IN_TEST_GROUP",
"strong_id__": "3646130107966741352_73305128799",
"subtype_name_for_REST__": "XDTClipsMedia",
"video_dash_manifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd\" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\" minBufferTime=\"PT2S\" ty…",
"are_remixes_crosspostable": true,
"can_reply": false,
"can_see_insights_as_brand": false,
"can_view_more_preview_comments": false,
"can_viewer_reshare": true
}
],
"audio": {
"music_canonical_id": "18302835427054839",
"formatted_media_count": null,
"music_info": null,
"original_sound_info": null
}
}
audio fields:
| Field | Type | Example |
|---|---|---|
music_info | object or null | |
original_sound_info | string or null | |
formatted_media_count | string or null | |
music_canonical_id | string | "18302835427054839" |
Instagram · Stories
POST /api/v1/scrape/instagram/highlight
Every story inside one highlight album.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
id | str | yes | — | Highlight album id (numeric, or ‘highlight:’) |
curl -X POST https://app.sideshift.app/api/v1/scrape/instagram/highlight \
-H 'x-api-key: $SIDESHIFT_SCRAPER_KEY' -H 'Content-Type: application/json' \
-d '{"id":"18067016518767507"}'
The album id is the last path segment of a highlight’s public URL — instagram.com/stories/highlights/{id}/.
Response — the data object:
| Key | Type | |
|---|---|---|
success | boolean | Always true on a 200. |
id | string | |
strong_id__ | string | |
latest_reel_media | number | |
seen | number or null | |
can_reply | boolean | |
can_gif_quick_reply | boolean | |
can_reshare | boolean | |
reel_type | string | |
ad_expiry_timestamp_in_millis | number or null | |
is_cta_sticker_available | boolean or null | |
should_treat_link_sticker_as_cta | boolean or null | |
pool_refresh_ttl_in_sec | number or null | |
can_react_with_avatar | boolean | |
prefetch_count | number | |
cover_media | object | |
user | object | |
items | array of post | |
is_nux | boolean | |
title | string | |
created_at | number | |
is_pinned_highlight | boolean | |
media_count | number | |
media_ids | array | |
is_cacheable | boolean | |
is_converted_to_clips | boolean | |
disabled_reply_types | array | |
highlight_reel_type | string | |
is_added_to_main_grid | boolean | |
is_archived | boolean | |
show_expiration_tray_signal | boolean | |
is_fit_green | boolean |
{
"id": "highlight:18067016518767507",
"title": "GRWM chats",
"user": {
"full_name": "Jane Williamson",
"id": "21393171",
"username": "jane",
"fifa_country_code": "US",
"pk": "21393171",
"pk_id": "21393171",
"profile_pic_id": "3828172883697465264_21393171",
"profile_pic_url": "https://instagram.fosu2-1.fna.fbcdn.net/v/t51.82787-19/629783272_18551475079017172_5737125966880342474_n.jpg",
"strong_id__": "21393171",
"interop_messaging_user_fbid": 119713162748634,
"is_private": false,
"is_screenshot_blocking_enabled": false,
"is_verified": true,
"transparency_product_enabled": false,
"account_badges": []
},
"highlight_reel_type": "DEFAULT",
"reel_type": "highlight_reel",
"strong_id__": "highlight:18067016518767507",
"can_gif_quick_reply": true,
"can_react_with_avatar": false,
"can_reply": false,
"can_reshare": true,
"created_at": 1743889595,
"is_added_to_main_grid": false,
"is_archived": false,
"is_cacheable": true,
"is_converted_to_clips": false,
"is_fit_green": true,
"is_nux": false,
"is_pinned_highlight": false,
"latest_reel_media": 1752681624,
"media_count": 31,
"prefetch_count": 0,
"show_expiration_tray_signal": false,
"success": true,
"items": [
{
"code": "DIehu_tTtnz",
"id": "3611472316234390003_21393171",
"url": "https://www.instagram.com/p/DIehu_tTtnz/",
"taken_at": 1744741057,
"owner": {
"full_name": "Jane Williamson",
"id": "21393171",
"username": "jane",
"fbid_v2": "17841400515130334",
"pk": "21393171",
"pk_id": "21393171",
"profile_pic_id": "3828172883697465264_21393171",
"profile_pic_url": "https://instagram.fosu2-1.fna.fbcdn.net/v/t51.82787-19/629783272_18551475079017172_5737125966880342474_n.jpg",
"strong_id__": "21393171",
"account_type": 3,
"eligible_for_text_app_activation_badge": false,
"is_private": false,
"is_verified": true,
"hd_profile_pic_versions": [
{
"url": "https://instagram.fosu2-1.fna.fbcdn.net/v/t51.82787-19/629783272_18551475079017172_5737125966880342474_n.jpg",
"height": 320,
"width": 320
}
]
},
"user": {
"full_name": "Jane Williamson",
"id": "21393171",
"username": "jane",
"fbid_v2": "17841400515130334",
"pk": "21393171",
"pk_id": "21393171",
"profile_pic_id": "3828172883697465264_21393171",
"profile_pic_url": "https://instagram.fosu2-1.fna.fbcdn.net/v/t51.82787-19/629783272_18551475079017172_5737125966880342474_n.jpg",
"strong_id__": "21393171",
"account_type": 3,
"eligible_for_text_app_activation_badge": false,
"is_private": false,
"is_verified": true,
"hd_profile_pic_versions": [
{
"url": "https://instagram.fosu2-1.fna.fbcdn.net/v/t51.82787-19/629783272_18551475079017172_5737125966880342474_n.jpg",
"height": 320,
"width": 320
}
]
},
"fbid": "18030827891353619",
"integrity_review_decision": "pending",
"pk": "3611472316234390003",
"product_type": "story",
"strong_id__": "3611472316234390003_21393171",
"video_dash_manifest": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<MPD xmlns=\"urn:mpeg:dash:schema:mpd:2011\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd\" profiles=\"urn:mpeg:dash:profile:isoff-on-demand:2011\" minBufferTime=\"PT2S\" ty…",
"archive_story_deletion_ts": 0,
"can_mention_back": false,
"can_play_spotify_audio": false,
"can_reply": false,
"can_reshare": true,
"can_see_insights_as_brand": false,
"can_send_prompt": false,
"can_viewer_save": false,
"caption_is_edited": false,
"deleted_reason": 0,
"device_timestamp": 1744741057177733,
"filter_type": 0
}
],
"cover_media": {
"media_id": "3574665805209826888_21393171",
"cropped_image_version": {
"url": "https://scontent-ord5-2.cdninstagram.com/v/t51.71878-15/479737232_1405856350793820_7928432152706230890_n.jpg",
"height": 150,
"width": 150
},
"crop_rect": [
0,
0.17864984273910522,
1
],
"full_image_version": null,
"upload_id": null
},
"disabled_reply_types": [
"story_remix_reply",
"story_selfie_reply",
"story_voice_reply"
],
"media_ids": [
"3573813516152622297",
"3574665805209826888",
"3575425853896904238"
],
"ad_expiry_timestamp_in_millis": null,
"is_cta_sticker_available": null,
"pool_refresh_ttl_in_sec": null,
"seen": null,
"should_treat_link_sticker_as_cta": null
}
cover_media fields:
| Field | Type | Example |
|---|---|---|
cropped_image_version | object | nested: width, height, url, scans_profile |
crop_rect | array | array |
media_id | string | "3574665805209826888_21393171" |
full_image_version | string or null | |
upload_id | string or null |
user fields:
| Field | Type | Example |
|---|---|---|
fifa_country_code | string | "US" |
pk | string | "21393171" |
pk_id | string | "21393171" |
strong_id__ | string | "21393171" |
id | string | "21393171" |
account_badges | array | array |
full_name | string | "Jane Williamson" |
interop_messaging_user_fbid | number | 119713162748634 |
is_private | boolean | false |
is_screenshot_blocking_enabled | boolean | false |
is_verified | boolean | true |
profile_pic_id | string | "3828172883697465264_21393171" |
profile_pic_url | string | "https://scontent-lax3-1.cdninstagram.… |
transparency_product_enabled | boolean | false |
username | string | "jane" |
Response objects
These shapes repeat across many endpoints. Each endpoint’s Response table names which one its items use.post
The video or photo object, used wherever a list of posts is returned (aweme_list, search_item_list, items).
| Field | Type | |
|---|---|---|
aweme_id | string | |
desc | string | |
desc_language | string or null | |
region | string | |
create_time | number | |
create_time_utc | string | |
is_ad | boolean | |
is_top | number | |
is_eligible_for_commission | boolean or null | |
is_paid_partnership | boolean or null | |
aweme_type | number | |
statistics | object | Nested — aweme_id, play_count, digg_count, comment_count, share_count, download_count, … |
video | object | Nested — play_addr, download_addr, cover, origin_cover, dynamic_cover, duration, … |
image_post_info | object or null | |
author | object | Nested — uid, short_id, unique_id, nickname, signature, avatar_thumb, … |
author_user_id | string | |
music | object | Nested — id, id_str, mid, title, author, owner_nickname, … |
item_comment_settings | number | |
is_nff_or_nr | boolean | |
commerce_info | object | Nested — adv_promotable, auction_ad_invited, branded_content_type, is_diversion_ad, with_comment_filter_words |
anchors | array or null | |
url | string | |
shop_product_url | string or null | |
media_id | string |
{
"aweme_id": "7309503813562453280",
"desc": "#fyp #foryou #fypシ #viral #foryoupage 😂😂😂😂",
"desc_language": null,
"region": "GB",
"create_time": 1701876482,
"create_time_utc": "2023-12-06T15:28:02.000Z",
"is_ad": false,
"is_top": 0,
"is_eligible_for_commission": null,
"is_paid_partnership": null,
"aweme_type": 0,
"statistics": {
"aweme_id": "7309503813562453280",
"play_count": 89580,
"digg_count": 1293,
"comment_count": 25,
"share_count": 71,
"download_count": 5,
"collect_count": 261,
"forward_count": null,
"lose_count": null,
"lose_comment_count": null,
"whatsapp_share_count": null,
"repost_count": null
},
"video": {
"play_addr": {
"uri": "https://v45.tiktokcdn-us.com/f299baa76de2dcfd24bb0b0543f0440d/6a767a…",
"url_list": [
"https://v45.tiktokcdn-us.com/f299baa76de2dcfd24bb0b0543f0440d/6a767a…"
],
"width": null,
"height": null,
"url_prefix": null
},
"download_addr": {
"uri": "https://v45.tiktokcdn-us.com/c23ca1667bbb82da546274965fc00c41/6a767a…",
"url_list": [
"https://v45.tiktokcdn-us.com/c23ca1667bbb82da546274965fc00c41/6a767a…"
],
"width": null,
"height": null,
"url_prefix": null
},
"cover": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/o…",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/o…"
],
"width": null,
"height": null,
"url_prefix": null
},
"origin_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/0…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/0…"
],
"width": null,
"height": null,
"url_prefix": null
},
"dynamic_cover": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/3…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-useast2a-p-0037-euttp/3…"
],
"width": null,
"height": null,
"url_prefix": null
},
"duration": 93,
"width": null,
"height": null,
"data_size": 11856870,
"watermark_data_size": 12000119
},
"image_post_info": null,
"author": {
"uid": "7164667182319076358",
"short_id": null,
"unique_id": "vkvsrvq",
"nickname": "user63284236732678",
"signature": null,
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-maliva-avt-0068/ffe55ee…"
],
"width": null,
"height": null,
"url_prefix": null
},
"region": "GB",
"language": null,
"sec_uid": null,
"social_info": null,
"events": null
},
"author_user_id": "7164667182319076358",
"music": {
"id": "7043672073613936641",
"id_str": "7043672073613936641",
"mid": "7043672073613936641",
"title": "snowfall",
"author": "Øneheart & reidenshi",
"owner_nickname": "Øneheart & reidenshi",
"album": "snowfall",
"duration": 60,
"is_original": false,
"is_original_sound": false,
"play_url": {
"uri": "https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/osIlcoxtOBD1ZgZb…",
"url_list": [
"https://sf19.tiktokcdn-us.com/obj/tos-alisg-ve-2774/osIlcoxtOBD1ZgZb…"
],
"width": null,
"height": null,
"url_prefix": null
},
"cover_thumb": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…"
],
"width": null,
"height": null,
"url_prefix": null
},
"cover_medium": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…"
],
"width": null,
"height": null,
"url_prefix": null
},
"cover_large": {
"uri": "https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…",
"url_list": [
"https://p16-common.tiktokcdn-us.com/tos-alisg-v-2774/owIAoUbakCMAeAz…"
],
"width": null,
"height": null,
"url_prefix": null
},
"user_count": null
},
"item_comment_settings": 0,
"is_nff_or_nr": false,
"commerce_info": {
"adv_promotable": false,
"auction_ad_invited": false,
"branded_content_type": 0,
"is_diversion_ad": 0,
"with_comment_filter_words": false
},
"anchors": null,
"url": "https://www.tiktok.com/@vkvsrvq/video/7309503813562453280",
"shop_product_url": null,
"media_id": "v0f044gc0000clo94i7og65le2e6jgmg"
}
creator
The account object, used by the follower, following and creator-search lists.
| Field | Type | |
|---|---|---|
uid | string | |
unique_id | string | |
nickname | string | |
signature | string or null | |
sec_uid | string | |
avatar_thumb | object | Nested — uri, url_list, width, height, url_prefix |
avatar_medium | object | Nested — uri, url_list, width, height, url_prefix |
avatar_larger | object | Nested — uri, url_list, width, height, url_prefix |
region | string | |
language | string or null | |
create_time | number or string or null | |
follower_count | number | |
following_count | number | |
aweme_count | number | |
favoriting_count | number | |
total_favorited | number | |
verified | boolean | |
secret | boolean |
{
"uid": "7434173029016077328",
"unique_id": "la.lalalalisa_6",
"nickname": "Медина",
"signature": null,
"sec_uid": "MS4wLjABAAAA4FFw3fafPXKtTTNwUBx7VhEKkaTUunfPjGfNpHhUX1kRt0oWY94pjLqe…",
"avatar_thumb": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_medium": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_larger": {
"uri": "https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…",
"url_list": [
"https://p16-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/b745257b…"
],
"width": null,
"height": null,
"url_prefix": null
},
"region": "TR",
"language": null,
"create_time": null,
"follower_count": 10379,
"following_count": 877,
"aweme_count": 0,
"favoriting_count": 6889,
"total_favorited": 3433,
"verified": false,
"secret": false
}
comment
One comment or reply.
| Field | Type | |
|---|---|---|
cid | string | |
aweme_id | string | |
text | string | |
create_time | number | |
digg_count | number | |
reply_id | string or null | |
reply_to_reply_id | string or null | |
status | number | |
image_list | array or null | |
user | object | Nested — uid, unique_id, nickname, signature, sec_uid, avatar_thumb, … |
comment_language | string or null | |
text_extra | array or null | |
user_digged | boolean or null | |
is_author_digged | boolean or null | |
reply_comment | object or null | |
reply_comment_total | number or null |
{
"cid": "7612967610280805138",
"aweme_id": "7612965843596479751",
"text": "Thx𓀠𓀠",
"create_time": 1772532161,
"digg_count": 38,
"reply_id": null,
"reply_to_reply_id": null,
"status": 1,
"image_list": null,
"user": {
"uid": "7093407411964986370",
"unique_id": "artchiist",
"nickname": "ちい/Chii",
"signature": "⸝⋆꙳⟡.· ⋆ 𖦹ܾ 𖥧🪵🌿 \n \n🗺ɪɴꜱᴛᴀɢʀᴀᴍ : @ artchiist\n \nꜱᴜʙ:@たいやきくん(ちい) 🚹: …",
"sec_uid": "MS4wLjABAAAANiBD2T6ao7u2cE5Xj1zRRiVjShx-oKRUIDUFgHqmbyUkUOH-bk4iehKJ…",
"avatar_thumb": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_medium": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…"
],
"width": null,
"height": null,
"url_prefix": null
},
"avatar_larger": {
"uri": "https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…",
"url_list": [
"https://p19-common-sign.tiktokcdn-us.com/tos-alisg-avt-0068/05fb1570…"
],
"width": null,
"height": null,
"url_prefix": null
},
"region": "JP",
"language": null,
"create_time": null,
"follower_count": 0,
"following_count": 0,
"aweme_count": 0,
"favoriting_count": 0,
"total_favorited": 0,
"verified": false,
"secret": false
},
"comment_language": null,
"text_extra": null,
"user_digged": null,
"is_author_digged": null,
"reply_comment": null,
"reply_comment_total": null
}
collection post
TikTok answers its collection surface in a different, web-style shape — this is the only place it appears.
| Field | Type | |
|---|---|---|
id | string | |
desc | string or null | |
createTime | number | |
AIGCDescription | string or null | |
CategoryType | number or null | |
IsHDBitrate | boolean or null | |
ShowAIGC | boolean or null | |
anchors | array or null | |
author | object | Nested — id, uniqueId, nickname |
stats | object | Nested — collectCount, commentCount, diggCount, playCount, shareCount |
video | object | Nested — duration, height, width, cover |
{
"id": "7399631056783035690",
"desc": null,
"createTime": 1722860874,
"AIGCDescription": null,
"CategoryType": null,
"IsHDBitrate": null,
"ShowAIGC": null,
"anchors": null,
"author": {
"id": "6791598551904076805",
"uniqueId": "nojo18",
"nickname": "Noah Lyles"
},
"stats": {
"collectCount": 38999,
"commentCount": 3102,
"diggCount": 500605,
"playCount": 3341424,
"shareCount": 22575
},
"video": {
"duration": 48,
"height": null,
"width": null,
"cover": "https://p16-common-sign.tiktokcdn.com/tos-useast5-p-0068-tx/oYQIDWNu…"
}
}