TikTok API endpoint
Returns the details of a TikTok hashtag page by `name`, for example `christmas`. The response carries `challengeInfo` with the hashtag's metadata, such as cover images, and `shareMeta` with the share title and description. The hashtag id found here feeds `tiktok-challenge-list`.
/tiktok/hashtag/{name}Path parameters:
name: required. Hashtag name (e.g., 'christmas').| Field | In the sample | Value in the sample |
|---|---|---|
| challengeInfo.challenge | Has a value | |
| challengeInfo.challengeAnnouncement | Has a value | |
| challengeInfo.stats | Has a value | |
| challengeInfo.statsV2 | Has a value | |
| extra.fatal_item_ids | Empty | |
| extra.logid | Has a value | |
| extra.now | Has a value | 1,791,911,829,000 |
| log_pb.impr_id | Has a value | |
| shareMeta.desc | Has a value | |
| shareMeta.title | Has a value | |
| statusCode | Has a value | 0 |
| status_code | Has a value | |
| status_msg | Empty |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| name (path) | string | Yes | Hashtag name (e.g., 'christmas') | christmas |
curl -X GET "https://api.crawlora.net/api/v1/tiktok/hashtag/christmas" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"challengeInfo": {
"challenge": {
"coverLarger": "https://p16-sg.tiktokcdn.com/obj/tiktok-obj/6a1da427fdfd35e4a056bfb897709fed.jpeg?shp=81f88b70&shcp=-",
"coverMedium": "https://p16-sg.tiktokcdn.com/obj/tiktok-obj/6a1da427fdfd35e4a056bfb897709fed.jpeg?shp=81f88b70&shcp=-",
"coverThumb": "https://p16-sg.tiktokcdn.com/obj/tiktok-obj/6a1da427fdfd35e4a056bfb897709fed.jpeg?shp=81f88b70&shcp=-",
"desc": "Merry #Christmas!",
"id": "3242",
"isCommerce": false
},
"challengeAnnouncement": {
"body": "",
"title": ""
},
"stats": {
"videoCount": 0,
"viewCount": 321900000000
},
"statsV2": {
"videoCount": "33173666",
"viewCount": "321857738740"
}
},
"extra": {
"fatal_item_ids": [],
"logid": "2024121109145995D9E90EDC8E41018BB8",
"now": 1733908499000
},
"log_pb": {
"impr_id": "2024121109145995D9E90EDC8E41018BB8"
},
"shareMeta": {
"desc": "321900.0m views - Watch awesome short videos created with trending hashtag #christmas",
"title": "#christmas on TikTok"
},
"statusCode": 0,
"status_code": 0
}
}Request schema
No body schema
Response schema
#/definitions/tiktok.challengeResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tiktok.ChallengeDetailResp | No | ||||
| data.challengeInfo | unknown | No | Details of the hashtag (challenge), as TikTok returns them. | |||
| data.extra | object | No | Response metadata from TikTok, such as the request log id and server time. | |||
| data.extra.fatal_item_ids | array | No | ||||
| data.extra.logid | string | No | ||||
| data.extra.now | integer | No | ||||
| data.log_pb | object | No | Request tracking information from TikTok, holding the `impr_id` impression id. | |||
| data.log_pb.impr_id | string | No | ||||
| data.shareMeta | object | No | Title and description TikTok uses when the hashtag is shared. | |||
| data.shareMeta.desc | string | No | ||||
| data.shareMeta.title | string | No | ||||
| data.statusCode | integer | No | TikTok status code for the request. `0` on a successful response. | |||
| data.status_code | integer | No | Second copy of the TikTok status code, sent as `status_code`. `0` on a successful response. | |||
| data.status_msg | string | No | Status message that goes with the status code. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Invalid input | #/definitions/app.Response |
| 429 | Rate limit exceeded | #/definitions/app.Response |
| 500 | Internal server error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tiktok/hashtag/christmas" \
-H "x-api-key: $CRAWLORA_API_KEY"