# List TikTok Top Ads

Returns ranked Creative Center Top Ads for `country_codes`. Filter by `period`, `industry_ids`, `objective_ids`, `ad_format`, and `keyword`; `sort` ranks them. Page with `page` and `limit` (max 20), and send `search_id` for keyword searches.

- Platform: TikTok Ads Library
- Request: `GET https://api.toolzerhub.com/v1/tiktok-ads/top-ads/list`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/tiktok-ads-library/top-ads-dashboard/tik-tok-top-ads-list

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `country_codes` | query | yes | string | ALL or one or more comma-separated country codes returned by the Top Ads filters route. |
| `period` | query | no | integer | Ranking window in days: 7, 30, or 180. Default: 30. |
| `page` | query | no | integer | One-based page number. Default: 1. |
| `limit` | query | no | integer | Ads per page, 1 to 20. Default: 20. |
| `sort` | query | no | enum: for_you, reach, ctr, two_second_view_rate, six_second_view_rate, cvr, likes | Rank by TikTok's recommendation, reach, CTR, 2-second views, 6-second views, CVR, or likes. Default: for_you. |
| `industry_ids` | query | no | string | Comma-separated industry IDs returned by the Top Ads filters route. |
| `objective_ids` | query | no | string | Comma-separated objective IDs returned by the Top Ads filters route. |
| `ad_format` | query | no | enum: spark, non_spark | Limit results to Spark or non-Spark ads. |
| `likes_percentile` | query | no | enum: top_1_20, top_21_40, top_41_60, top_61_80, top_81_100 | Filter by the ad's Top Ads like-rank percentile bucket. |
| `ad_language` | query | no | string | Ad language ID from the Top Ads Filters response, for example en. |
| `keyword` | query | no | string | Brand or product keyword to filter Top Ads by. A keyword search returns a search_id for later pages. |
| `search_id` | query | no | string | Cursor from the previous keyword search response. Send it with page to get later pages. |
| `lang` | query | no | enum: en, ja, zh, vi, th, pt, id | Creative Center display language. Defaults to English. Default: en. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/tiktok-ads/top-ads/list?country_codes=<country_codes>" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
