
One call returns details of a TikTok challenge (hashtag) by challenge ID or name. The answer contains one challenge object with description, view count, user count, and cover image. No pagination.
3 live routes on TikTok, from $0.00002 per call. Every route below answered our last live test on 2026-10-06; the gateway re-tests them daily.
The upstream price you are metered at, cheapest first. A route without a published price says so.
| Provider | Endpoint | Price |
|---|---|---|
tiktok-scraper7RapidAPI listing | Get Challenge's DetailCHEAPESTGET challenge/info | $0.00002$0.02 / 1k calls |
tiktok-api23RapidAPI listing | Get Drama DetailGET api/drama/detail | $0.00005$0.05 / 1k calls |
tiktok-api23RapidAPI listing | Get User DramasGET api/user/dramas | $0.00005$0.05 / 1k calls |
From a real call to the cheapest route: tiktok-scraper7.
data.idChallenge IDdata.cha_nameChallenge namedata.descChallenge descriptiondata.user_countNumber of users who participateddata.view_countTotal views of challenge videosdata.coverChallenge cover image URLdata.is_commerceWhether challenge is commerce-relatedPaging: read `cursor` from the answer and send it back as `cursor=` for the next page; stop when it is empty or repeats. From MCP: call_endpoint("rapidapi-tiktok-api23.get_user_dramas", params, pages=3) follows it for you.
HTTP with your key in x-api-key, or the call_endpoint tool of our MCP server.
| Parameter | Type | Notes | |
|---|---|---|---|
| challenge_id | string · query | optional | default 33380 |
| challenge_name | string · query | optional | challenge name |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-scraper7/challenge/info?challenge_id=33380" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-scraper7.get_challenge_s_detail", {"challenge_id": "33380"}){
"msg": "success",
"code": 0,
"data": {
"id": "33380",
"desc": "#Cosplay your favorite character, and show the world your power!",
"type": 2,
"cover": "https://p16-common-sign.tiktokcdn.com/tiktok-obj/8dc87afbcc425ff89c9c68e5514ddb8e.jpeg~tplv-tiktokx-origin.image?dr=14575&refresh_token=937ec3b4&x-expires=17910…",
"cha_name": "Cosplay",
"is_pgcshow": false,
"user_count": 47986362,
"view_count": 455791706894,
"is_commerce": false,
"is_challenge": false,
"is_strong_music": false
},
"processed_time": 0.82
}| Parameter | Type | Notes | |
|---|---|---|---|
| dramaId | string · query | required | Drama ID · default 7674268460205364245 |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/drama/detail?dramaId=7674268460205364245" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_drama_detail", {"dramaId": "7674268460205364245"})| Parameter | Type | Notes | |
|---|---|---|---|
| cursor | string · query | optional | cursor parameter is used for pagination. In the first request, the default value of cursor is `0`. For subsequent requests, the value of cursor will be taken from the response of the previous request · default 0 |
| count | number · query | optional | The number of results to be returned. The default and maximum value is `20` · default 20 |
| secUid | string · query | required | User secUid · default MS4wLjABAAAA63WLj4gsA7Ad6V3caZ9l5PhxNJk7ZQTTdgEF4SZSVKmlOudPA56zl5rzl6SGCOEv |
curl "https://fetchapi.co/api/gw/rapidapi-tiktok-api23/api/user/dramas?count=20&cursor=0&secUid=MS4wLjABAAAA63WLj4gsA7Ad6V3caZ9l5PhxNJk7ZQTTdgEF4SZSVKmlOudPA56zl5rzl6SGCOEv" \ -H "x-api-key: YOUR_KEY"
call_endpoint("rapidapi-tiktok-api23.get_user_dramas", {"count": "20", "cursor": "0", "secUid": "MS4wLjABAAAA63WLj4gsA7Ad6V3caZ9l5PhxNJk7ZQTTdgEF4SZSVKmlOudPA56zl5rzl6SGCOEv"})Call it over HTTP or from any MCP client. Each key has a rate limit and a monthly cap; calls are metered at the upstream price.