TikTok User Profile Detail API
Get a public profile from its handle: name, bio, followers, following, total likes, video count and verified status.
Sendhandle
Returnsdisplay_namehandlebiofollowersfollowinglikes
Get public TikTok profiles, videos, comments, hashtag and search results, captions and US Shop products as clean JSON. Send a handle, a video link or a keyword. No TikTok login.
| # | Caption | Plays | Likes | Comments | Shares | Posted (Unix time) | Author handle | Music title | Save count | Id |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Real conversations happen on TikTok, and protecting the integri… | 17,600 | 1263 | 173 | 67 | 1,791,209,149 | tiktok | original sound | 73 | 7693184538704416031 |
| 2 | ATEEZ on the FYF. BTS on tour. dance challenges on repeat. @rac… | 271,300 | 4295 | 1956 | 431 | 1,790,959,957 | tiktok | original sound | 402 | 7692114317151423775 |
| 3 | if your FYF had you hitting the Zara Larsson, you'll know Pop G… | 213,500 | 4887 | 1123 | 417 | 1,790,805,450 | tiktok | original sound | 444 | 7691450773619625247 |
| 4 | K-pop fans have been BUSY. @rachelszero shares how your fan cam… | 168,000 | 4578 | 874 | 309 | 1,790,703,573 | tiktok | original sound | 446 | 7691013160425327903 |
| 5 | the throwback sounds we didn’t know we were missing, given new … | 375,900 | 6825 | 1871 | 476 | 1,790,367,199 | tiktok | original sound | 567 | 7689568478570843422 |
| 6 | this group chat deserves a soundtrack 🎤 TikTok x #TheVoice, all… | 570,100 | 12,800 | 1523 | 517 | 1,790,196,319 | tiktok | original sound | 802 | 7688834577418194206 |
| 7 | trying something new can start with your DMs — @Dine with Kent … | 442,800 | 9833 | 2508 | 690 | 1,789,756,556 | tiktok | original sound | 853 | 7686945827008433439 |
| 8 | hear how @Palina La Diva 🌐 spinning tracks on LIVE brings techn… | 643,300 | 11,100 | 3367 | 960 | 1,788,883,336 | tiktok | original sound | 1183 | 7683195368279985438 |
| 9 | @Alex Warren thinks he'll never write anything better than... c… | 459,800 | 15,600 | 2431 | 1067 | 1,788,534,031 | tiktok | original sound | 1507 | 7681695065927912735 |
| 10 | when words aren't enough, Photo Comments say more @mama | our f… | 211,900 | 9483 | 1164 | 600 | 1,788,468,783 | tiktok | original sound | 895 | 7681414892942839071 |
| # | Product | Shop | Price | Was | Rating | Reviews | Sold | Currency | Product id | Url |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Trendy Road Training Sneakers - Stretch Knit Upper Athletic Foo… | Cozy The Hand | 112 | 0 | 0 | 1 | USD | 1732705185972719867 | https://shop.tiktok.com/us/pdp/1732705185972719867 | |
| 2 | Retro fashion casual anti slip shock-absorbing high top basketb… | Lapis Libby | 109 | 0 | 0 | 1 | USD | 1732719278501695619 | https://shop.tiktok.com/us/pdp/1732719278501695619 | |
| 3 | Unisex Lightweight Running Shoes | Brand New Sealed with Origin… | Royal My Glow | 108 | 0 | 0 | 2 | USD | 1732691407131611974 | https://shop.tiktok.com/us/pdp/unisex-lightweight-running-shoes… | |
| 4 | Men's Running Shoes Blade Tennis Walking Fashion Sneakers Breat… | Mevlzz | 38.99 | 51.99 | 4.3 | 8594 | 92,591 | USD | 1729416431099876154 | https://shop.tiktok.com/us/pdp/mens-running-shoes-mevlzz-breath… |
| 5 | Brand New Sealed with Original Shoe Box, Unisex All Black High-… | COMPLIANCE MATTERS INC | 135.68 | 0 | 0 | 0 | USD | 1732719363793982287 | https://shop.tiktok.com/us/pdp/1732719363793982287 | |
| 6 | White with Red Inner Hollow Cushion Running Sneakers for Men Wo… | Encompass Health Rehabilitation Hospital Of Tustin L.p. | 115 | 0 | 0 | 0 | USD | 1732719135818814118 | https://shop.tiktok.com/us/pdp/1732719135818814118 | |
| 7 | Black with Blue Accent Hollow Cushion Running Sneakers for Men … | Encompass Health Rehabilitation Hospital Of Tustin L.p. | 115 | 0 | 0 | 0 | USD | 1732719208417366694 | https://shop.tiktok.com/us/pdp/1732719208417366694 | |
| 8 | Black and Purple Mid Top Retro Sneakers for Men Women, Cushione… | Encompass Health Rehabilitation Hospital Of Tustin L.p. | 138 | 0 | 0 | 0 | USD | 1732719291308610214 | https://shop.tiktok.com/us/pdp/1732719291308610214 | |
| 9 | Suede & Mesh Retro Chunky Sneakers, Fashion Daily Footwear for … | Encompass Health Rehabilitation Hospital Of Tustin L.p. | 125 | 0 | 0 | 0 | USD | 1732719081859355302 | https://shop.tiktok.com/us/pdp/1732719081859355302 | |
| 10 | Men's Lace-Up Round Toe Sneakers, Breathable & Comfortable Casu… | TOLLYET TWO | 19.24 | 36.29 | 4.3 | 76 | 865 | USD | 1732290361127375760 | https://shop.tiktok.com/us/pdp/mens-lace-up-sneakers-casual-spo… |
What each one takes and what it returns. Open one for a real response, every input and every field.
Get a public profile from its handle: name, bio, followers, following, total likes, video count and verified status.
Sendhandle
Returnsdisplay_namehandlebiofollowersfollowinglikes
List a creator's public videos, latest or most popular first, with caption, plays, likes, comments, shares and post time.
Sendhandleorsec_uid
Returnsdescriptionplay_countlike_countcomment_countshare_countcreate_time
Get one video from its link, or its ID and handle: caption, author, plays, likes, comments, shares and post time.
Sendurlorvideo_idorhandle
Returnsvideo
Read the public comments on a video, page by page, each checked to belong to that video.
Sendurlorvideo_id
ReturnsJSON; every field is in the API reference
Read the public replies to one comment on a video.
Sendcomment_id
ReturnsJSON; every field is in the API reference
Search TikTok videos by keyword and page through the results.
Sendquery
ReturnsJSON; every field is in the API reference
Get TikTok's top results for a keyword: the mix of videos and accounts the app shows first.
Sendquery
ReturnsJSON; every field is in the API reference
List the videos that carry a hashtag, by its name or ID, page by page.
Sendhashtagorchallenge_id
ReturnsJSON; every field is in the API reference
Get a video's own captions as text with timings, in the language you choose when the video has it.
Sendurlorvideo_idorhandle
ReturnsJSON; every field is in the API reference
Get a US TikTok Shop product from its link: title, price, every variant with its own price, and stock quantities.
Sendurl
ReturnsJSON; every field is in the API reference
Search US TikTok Shop products by keyword, with price, discount, rating, review count and units sold.
Sendquery
Returnstitleshop_namesale_priceoriginal_priceratingreview_count
List the products in a US TikTok Shop store, with price, discount, rating and units sold.
Sendurl
Returnstitlesale_priceoriginal_pricediscountratingreview_count
Read a US TikTok Shop product's public reviews: rating, date, verified purchase and text.
Sendurl
Returnsis_incentivized_reviewis_verified_purchasereview_idreview_ratingreview_textreview_time
Get a sound's details from its music ID: title, author and how many videos use it.
Sendmusic_id
ReturnsJSON; every field is in the API reference
List the videos that use a sound, from its music ID.
Sendmusic_id
ReturnsJSON; every field is in the API reference
List the videos in a public collection or playlist.
Sendurlorcollection_id
ReturnsJSON; every field is in the API reference
Get a page of TikTok's US For You feed for a visitor, from many creators.
ReturnsJSON; every field is in the API referenceGet the search suggestions TikTok offers for a keyword.
Sendquery
ReturnsJSON; every field is in the API reference
Check whether an account is live now, with its LIVE room ID.
Sendhandle
ReturnsJSON; every field is in the API reference
Get a LIVE room's details from its ID: title, the account running it, whether it is on and its engagement.
Sendroom_id
ReturnsJSON; every field is in the API reference
List the public followers of an account, page by page.
Sendhandleorsec_uid
ReturnsJSON; every field is in the API reference
List the accounts a public account follows, page by page.
Sendhandleorsec_uid
ReturnsJSON; every field is in the API reference
Follow accounts you care about: followers, likes and how every new video performs.
User profile detailUser videosVideo detailSee what gets posted for a keyword, hashtag or sound, and which videos break out.
Keyword video searchHashtag videosSong videosRead the comments and replies under a brand's videos, and the captions of what was said.
Video commentsComment repliesVideo transcriptTrack prices, discounts, ratings and units sold for US Shop products and stores.
Shop product searchShop store productsShop product detailOne request shape for every TikTok endpoint: the endpoint ID and its input. No SDK needed.
curl --request POST \ --url https://data.upscrape.com/execute \ --header "Authorization: Bearer $UPSCRAPE_API_KEY" \ --header "Content-Type: application/json" \ --header "Prefer: wait=30" \ --data '{ "capability": "tiktok.profile.get", "input": { "handle": "tiktok" }}'
import jsonimport osimport requestspayload = json.loads(r'''{ "capability": "tiktok.profile.get", "input": { "handle": "tiktok" }}''')response = requests.post( "https://data.upscrape.com/execute", headers={ "Authorization": f"Bearer {os.environ['UPSCRAPE_API_KEY']}", "Content-Type": "application/json", "Prefer": "wait=30", }, json=payload,)response.raise_for_status()print(json.dumps(response.json(), indent=2))
const response = await fetch("https://data.upscrape.com/execute", { method: "POST", headers: { "Authorization": `Bearer ${process.env.UPSCRAPE_API_KEY}`, "Content-Type": "application/json", "Prefer": "wait=30", }, body: JSON.stringify({ "capability": "tiktok.profile.get", "input": { "handle": "tiktok" }}),});if (!response.ok) { throw new Error(`Upscrape request failed: ${response.status}`);}console.log(JSON.stringify(await response.json(), null, 2));
{ "display_name": "TikTok", "followers": 96100000, "likes": 465100000, "bio": "Your next discovery is waiting on TikTok.", "following": 1, "profile_url": "https://www.tiktok.com/@tiktok", "user_id": "107955", "verified": true, "video_count": 1510}
https://data.upscrape.com/mcp
Use Upscrape to look up TikTok's own account (@tiktok). How many followers, total likes and videos does it have?
With Upscrape, pull @tiktok's latest videos and make a table of caption, plays, likes and comments. Which ones got the most plays?
Using Upscrape, open tiktok.com/@tiktok/video/7680721699171601694 and tell me its plays, likes, comments and shares.
The short answers. The docs have the long ones.
TikTok's own research and business APIs need an application and approval, and cover limited data. Upscrape reads public TikTok pages, so you can get public profiles, videos, comments and Shop products with one API key.
No. You send a handle, a link or a keyword and get JSON back. Nothing runs on your account, and you share no password or cookie. Private accounts are not part of it.
Yes, for the US Shop, in US dollars as the store shows them: product details with variants and stock, search results and store listings with price, discount, rating and units sold, and product reviews.
User profile detail, user videos, video detail, video comments, comment replies, keyword video search, top search results, hashtag videos, video transcript, shop product detail, shop product search, shop store products, shop product reviews, song detail, song videos, collection videos, trending feed, suggestions search, user live status, live room detail, user followers and user following. Each is its own endpoint with a published input schema, and the response is JSON.
Every TikTok endpoint costs 1 credit per successful call. You buy credits once, with no subscription, and paid credits never expire. New accounts get free credits to try it.
Yes. Connect any MCP client to the Upscrape MCP server with OAuth or an API key. The agent finds the TikTok endpoint, checks its price and runs it with the same credits as the REST API.
Upscrape reads public pages only and needs no login. How you use the data is yours to decide under the laws that apply to you; we sign a data processing agreement for your legal review.
We fix the endpoint. Your request and the response fields stay the same.
Up to 100 free credits to start, no card needed.