YepAPI
TikTok API

Search Challenges

Search TikTok for challenges (hashtag challenges) matching a keyword query.

POST/v1/tiktok/search-challenge
$0.01/call

Usage

const res = await fetch('https://api.yepapi.com/v1/tiktok/search-challenge', {
  method: 'POST',
  headers: {
    'x-api-key': 'YOUR_API_KEY',
    'Content-Type': 'application/json',
  },
  body: JSON.stringify({ keywords: 'dance' }),
});
const { data } = await res.json();
console.log(data);
curl -X POST https://api.yepapi.com/v1/tiktok/search-challenge \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"keywords": "dance"}'

Request Body

ParameterTypeRequiredDescriptionDefault
keywordsstringYesSearch query for challenges
cursorstringNoPagination cursor from previous response
countnumberNoNumber of results to return20

Response

{
  "ok": true,
  "data": {
    "has_more": true,
    "cursor": "20",
    "challenges": [
      {
        "challenge_id": "1677534536829953",
        "challenge_name": "dancechallenge",
        "description": "Show us your best moves!",
        "video_count": 48500000,
        "view_count": 125000000000,
        "cover": "https://p16-sign.tiktokcdn.com/..."
      }
    ]
  }
}

Response Fields

FieldTypeDescription
okbooleanWhether the request succeeded
data.has_morebooleanWhether more results are available
data.cursorstringCursor for fetching the next page
data.challengesobject[]Array of challenge results
data.challenges[].challenge_idstringUnique challenge identifier
data.challenges[].challenge_namestringChallenge hashtag name
data.challenges[].descriptionstringChallenge description
data.challenges[].video_countnumberNumber of videos using this challenge
data.challenges[].view_countnumberTotal views across all challenge videos
data.challenges[].coverstringChallenge cover image URL

Use the cursor value from the response to paginate through results.

On this page