TikTok API endpoint
Returns detail for one TikTok Creative Center Top Ads material. Use `material_id`; the upstream does not accept `id` or `materialId`.
/tiktok/top-ads/detailQuery parameters:
material_id: required. Top Ads material id. The upstream does not accept id or materialId.Notable response behavior:
material_id returns an invalid-params error.| Field | In the sample | Value in the sample |
|---|---|---|
| code | Has a value | |
| msg | Has a value | |
| request_id | Has a value | |
| data.ad_title | Has a value | |
| data.brand_name | Has a value | |
| data.comment | Has a value | 21 |
| data.cost | Has a value | 1 |
| data.country_code | Has a value | |
| data.ctr | Has a value | 0.14 |
| data.favorite | Has a value | false |
| data.id | Has a value | |
| data.industry_key | Has a value | |
| data.landing_page | Has a value | |
| data.like | Has a value | 268 |
| data.objective_key | Has a value | |
| data.objectives | Has a value | 1 entry |
| data.share | Has a value | 12 |
| data.source | Has a value | |
| data.source_key | Has a value | |
| data.video_info | Has a value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required | ||
| material_id | string | Yes | Top Ads material id | 7631130810943897607 |
curl -X GET "https://api.crawlora.net/api/v1/tiktok/top-ads/detail?material_id=7631130810943897607" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"code": 0,
"msg": "OK",
"data": {
"id": "7631130810943897607",
"ad_title": "Example ad",
"like": 120,
"ctr": 0.42,
"video_info": {
"vid": "v10033g50000example",
"duration": 15.2,
"cover": "https://p16-common-sign.tiktokcdn.com/..."
}
}
}
}Request schema
No body schema
Response schema
#/definitions/populartrend.topAdsDetailResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | popularTrend.TopAdsDetailResp | No | ||||
| data.code | integer | No | ||||
| data.data | object | No | Details of the requested top ad. | |||
| data.data.ad_title | string | No | Title of the ad. | |||
| data.data.brand_name | string | No | Name of the advertiser brand. | |||
| data.data.comment | integer | No | Number of comments on the ad. | |||
| data.data.cost | integer | No | Cost figure for the ad as TikTok Creative Center reports it. | |||
| data.data.country_code | array | No | Country codes the ad runs in. | |||
| data.data.ctr | number | No | Click-through rate of the ad as TikTok Creative Center reports it. | |||
| data.data.favorite | boolean | No | Whether the ad is marked as a favorite. | |||
| data.data.has_summary | boolean | No | Whether TikTok has an ad summary available for the ad. | |||
| data.data.highlight | string | No | Highlight note TikTok attaches to the ad. | |||
| data.data.highlight_text | string | No | Text shown for the ad's highlight. | |||
| data.data.id | string | No | Top Ads material id. Use it with the detail, analysis and recommend endpoints. | |||
| data.data.industry_key | string | No | Key of the industry the ad is classified under. | |||
| data.data.is_search | boolean | No | Search flag TikTok sets on the ad. | |||
| data.data.keyword_list | array | No | Keywords associated with the ad. | |||
| data.data.landing_page | string | No | URL of the ad's landing page. | |||
| data.data.like | integer | No | Number of likes on the ad. | |||
| data.data.objective_key | string | No | Key of the campaign objective of the ad. | |||
| data.data.objectives | array | No | Campaign objectives of the ad, each with its id, value and label. | |||
| data.data.objectives[].has_conversion | boolean | No | Whether the objective is one that tracks conversions. Only set on objective options. | |||
| data.data.objectives[].id | object | No | Filter option id in TikTok's own format, a string or a number depending on the filter. | |||
| data.data.objectives[].label | string | No | Label key TikTok uses for the option. | |||
| data.data.objectives[].parent_id | object | No | Id of the parent option, for example the top-level industry of a sub-industry. | |||
| data.data.objectives[].value | string | No | Display value of the option, always returned as a string. | |||
| data.data.pattern_label | array | No | Creative pattern labels assigned to the ad. | |||
| data.data.pattern_label[].has_conversion | boolean | No | Whether the objective is one that tracks conversions. Only set on objective options. | |||
| data.data.pattern_label[].id | object | No | Filter option id in TikTok's own format, a string or a number depending on the filter. | |||
| data.data.pattern_label[].label | string | No | Label key TikTok uses for the option. | |||
| data.data.pattern_label[].parent_id | object | No | Id of the parent option, for example the top-level industry of a sub-industry. | |||
| data.data.pattern_label[].value | string | No | Display value of the option, always returned as a string. | |||
| data.data.share | integer | No | Number of shares of the ad. | |||
| data.data.source | string | No | Source label of the ad as TikTok Creative Center shows it. | |||
| data.data.source_key | integer | No | Numeric key of the ad's source. | |||
| data.data.video_info | object | No | Video file details of the ad. | |||
| data.data.video_info.cover | string | No | URL of the video cover image. | |||
| data.data.video_info.duration | number | No | Video length in seconds. | |||
| data.data.video_info.height | integer | No | Video height as TikTok reports it. | |||
| data.data.video_info.vid | string | No | TikTok video id. | |||
| data.data.video_info.video_url | object | No | Video file URLs keyed by resolution label, for example `720p`. | |||
| data.data.video_info.width | integer | No | Video width as TikTok reports it. | |||
| data.data.voice_over | boolean | No | Whether the ad video has a voice-over. | |||
| data.msg | string | No | ||||
| data.request_id | string | No | Request id returned by TikTok Creative Center. | |||
| 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/top-ads/detail?material_id=7631130810943897607" \
-H "x-api-key: $CRAWLORA_API_KEY"