# TikTok Creative Center Top Ads & Hook Analyzer Pro (`voxatools/tiktok-creative-center-scraper`) Actor

Extract winning TikTok Top Ads from TikTok Creative Center with 3-second hook retention, peak CTR seconds, landing pages, direct HD MP4 links, B2B Brand Lead-Gen mode & AI Hook Prompts — no login cookies, $0 proxy cost, $1.50/1k ads all-inclusive.

- **URL**: https://apify.com/voxatools/tiktok-creative-center-scraper.md
- **Developed by:** [VoxaTools](https://apify.com/voxatools) (community)
- **Categories:** Social media, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🏆 TikTok Creative Center Top Ads & 3-Second Hook Analyzer Pro

> **Stop filming TikTok creatives that viewers swipe past in 2 seconds — reverse-engineer the exact 3-second hooks, peak click-through moments, and landing pages of Top 1%–5% CTR ads in your niche.**
> Break past TikTok Creative Center's 20-video public wall with **zero login cookies required** — **15x faster** than headless browser scrapers, **$0 proxy cost**, and **all-inclusive base pricing** (`$1.50 / 1,000 ads` with 3-second hook retention, peak CTR second, landing pages, direct MP4 URLs, and AI script prompts included free).

> ### ⚡ Start in 10 Seconds — Zero Setup, Zero Cookies, Zero Risk
>
> - **No TikTok Login Cookies or Proxies Needed:** Unlike browser scrapers that break when cookies expire, this tool works out of the box with zero authentication.
> - **1-Click First Run (`~$0.03` from your Free Apify Credit):** Click the green **Start** button with the default `skincare` preset (or type your product keyword and target country) to get your first **Top 1%–5% Winning Hook Report** in **4 seconds**.

***

### 🎯 What You Can Do With This Tool

Whether you are producing high-converting TikTok UGC creatives, scaling a TikTok Shop / Shopify brand, or building a B2B agency prospect list, you can tailor the output to your exact workflow:

| # | Team / Workflow | Common Challenge | How This Tool Solves It | Recommended Settings |
|---|---|---|---|---|
| 1 | **Creative Strategists & UGC Directors** | Watching hundreds of TikTok ads manually without knowing which exact second viewers click to buy or swipe away. | Automatically extracts **3-second hook retention (`hookRetention3s`)**, **peak CTR second (`hookPeakSecond`)**, **steepest drop-off second (`hookDropoffSecond`)**, and a ready-to-use **AI Script Prompt**. | `resultType: "ads"`, `includeHookRetention: true`, `onlyWinners: true` |
| 2 | **D2C Brands, TikTok Shop & Dropshippers** | Public TikTok Creative Center pages lock scrolling after ~20 videos, and existing scrapers require manual login cookies that expire daily. | Breaks past the 20-video public cap automatically with **zero login cookies required**, mapping any niche keyword to 258 official TikTok industries & sub-industries. | `keywords: ["skincare", "supplements"]`, `objective: "PRODUCT_SALES"`, `maxResults: 80` |
| 3 | **B2B Sales Teams, MCNs & TikTok Shop Partners** | Need a qualified list of brands actively spending budget on TikTok Ads along with their landing page domains and ad volume. | Aggregates top ads into **one enriched B2B Brand Profile per advertiser** with total active ads, average 3s hook retention, dominant campaign objective, and cold outreach angle. | `resultType: "advertisers"`, `country: "US"`, `period: "30"` |
| 4 | **Creative Libraries & Notion / Airtable Workflows** | Raw TikTok CDN video links (`tiktokcdn.com`) contain temporary `x-expires` signatures that break after a few hours. | Downloads and archives **permanent `.mp4` video and `.jpg` cover files** directly into your Apify Key-Value Store (`savedAssetUrl`, `savedPreviewUrl`). | `downloadAssets: true`, `downloadPreviews: true`, `maxAssetSizeKb: 20480` |
| 5 | **AI Marketing Engineers & MCP Automations** | Re-scraping the same niche every morning wastes budget on old videos, and Spark Ad clones inflate dataset costs. | Deduplicates identical Spark/campaign clones (`campaignScaleCount`) and remembers seen `adId`s so scheduled runs **only output newly discovered winning ads**. | `onlyNewAds: true`, `deduplicateSparkClones: true` |

***

### ⚡ Why Performance Marketing Teams Switch To This Scraper

#### 1. Zero Login Cookies Required & Beyond the 20-Video Public Wall

Most TikTok Creative Center scrapers force you to manually copy browser cookies from a logged-in TikTok Business account — and break down or return only 3–19 results as soon as those cookies expire. This tool requires **zero cookies** and automatically retrieves **80 to 200+ unique winning ads per niche** in a single run.

#### 2. 3-Second Hook Retention, Peak CTR Second & Landing Pages Included Free

Other scrapers force you to run 4 separate jobs (search results, ad details, retention curves, and industry benchmarks) or charge `$4.00 to $20.99 per 1,000 ads` when you want landing pages and analytics. Here, the **`$1.50 / 1,000 ads` base rate** includes:

- **3-Second Hook Retention (`hookRetention3s`)**, **2-Second Hold (`play2sRate`)**, and **6-Second Hold (`play6sRate`)**
- **Peak Click-Through Second (`hookPeakSecond`)** and **Steepest Viewer Drop-Off Second (`hookDropoffSecond`)**
- **Landing Page URL (`landingPageUrl`)** and **Root Brand Domain (`landingDomain`)**
- **Direct HD `.mp4` Video URL (`videoUrl`)** and **Winner Classification (`winnerTier`)**
- **1-Click AI Script Teardown Prompt (`ai_analysis_prompt`)** for Claude, ChatGPT, and MCP Agents

#### 3. Smart Spark & Campaign Clone Deduplication (Zero Duplicate Billing)

When brands scale a winning TikTok video across multiple ad groups or Spark creator posts, legacy scrapers charge you multiple times for the exact same video. With `deduplicateSparkClones: true` (enabled by default), duplicate clones are merged into one master record while preserving **`campaignScaleCount`** and **`clonedMaterialIds`** so you can see which creatives are being scaled hardest.

#### 4. Browserless Speed & $0.00 Proxy Overhead

Because this Actor communicates via lightweight HTTP requests rather than launching heavy Chromium browsers, a typical 25-ad niche audit finishes in **2 to 5 seconds**, uses minimal memory (`512 MB`), and requires **$0.00 in residential proxy bandwidth**.

***

### 📊 Feature & Total Cost Comparison

| # | Capability | Cookie-Dependent Scrapers | High-Fee Add-On Scrapers | 🏆 **VoxaTools Top Ads & Hook Analyzer Pro** |
|---|---|---|---|---|
| 1 | **Effective Cost for 1,000 Enriched Ads** | `$6.00 – $8.00 / 1k` (4 separate runs) | `$4.00 – $20.99 / 1k` | **`$1.50 / 1,000 Ads` (`$0.0015 / ad` All-Inclusive)** |
| 2 | **Login Cookie Requirement** | ❌ Mandatory manual cookies | ⚠️ Browser / Residential Proxy tax | ✅ **Zero Cookies & Zero Browser Required** |
| 3 | **3-Second Hook Retention & Peak CTR Second** | ⚠️ Separate manual run | ❌ Not extracted | ✅ **Included Free in Base Price** |
| 4 | **Landing Page URL & Brand Domain** | ⚠️ Separate manual run | ⚠️ `+$1.50 – $5.00 / 1k` extra fee | ✅ **Included Free in Base Price** |
| 5 | **258 Official Industries & Sub-Industries** | ⚠️ Manual 11-digit ID lookup | ❌ Broken or top-level only | ✅ **Automatic Semantic Niche Resolver** |
| 6 | **Spark & Campaign Clone Deduplication** | ❌ Bills for every clone | ❌ Bills for every clone | ✅ **Auto-Deduplicates + `campaignScaleCount`** |
| 7 | **B2B Brand Lead-Gen Mode (1 Row / Brand)** | ❌ None | ⚠️ `$10.00+ / 1k` | ✅ **Supported (`resultType: "advertisers"`, `$2.50 / 1k`)** |
| 8 | **Permanent Cloud MP4/JPG Archiving** | ❌ Expiring CDN links | ⚠️ `$20.00 / 1k` videos | ✅ **Optional `downloadAssets` (`+$1.00 / 1k files`)** |
| 9 | **Scheduled New-Ad Delta Radar (`onlyNewAds`)** | ❌ None | ❌ Returns stale duplicates | ✅ **Supported (`onlyNewAds` + Named KV Store)** |
| 10 | **AI Hook Teardown Prompt & MCP Ready** | ❌ None | ❌ None | ✅ **Included in Every Record (`ai_analysis_prompt`)** |

***

### 🚀 Key Operating Modes & Workflows

#### Mode 1 — 🪝 Winning Video Ads & 3-Second Hook Spy (`resultType: "ads"`)

Extract top-performing TikTok video ads for any niche, product category, or industry. Every record is automatically scored and badged:

- `🏆 VIRAL_CONVERSION_WINNER` (Top-percentile CTR + strong conversion/sales objective & hook retention)
- `🔥 PROVEN_HOOK_WINNER` (High 3-second hook retention & above-benchmark CTR)
- `📈 SCALING_CREATIVE` (Active scaling campaign)
- `🧪 TESTING_CREATIVE` (Early-stage creative test)

#### Mode 2 — 🏢 B2B Brand & TikTok Shop Lead-Gen (`resultType: "advertisers"`)

Looking for D2C brands and TikTok Shop merchants actively spending on TikTok Ads? Set `resultType: "advertisers"` (or `"brands"`) to aggregate ads into **one B2B profile per brand** including `brandName`, `brandCountry`, `primaryLandingDomain`, `totalAdsFound`, `viralWinnerCount`, `avgHookRetention3s`, `dominantObjective`, `topVideoUrl`, and a ready-to-send `b2bOutreachAngle`.

#### Mode 3 — 💾 Permanent Cloud Video (`.mp4`) & Cover (`.jpg`) Archiving (`downloadAssets: true`)

TikTok's raw `tiktokcdn.com` links expire after a few hours (`x-expires=`). Enable `downloadAssets: true` and/or `downloadPreviews: true` to save permanent `.mp4` and `.jpg` files directly into your Apify Key-Value Store (`savedAssetUrl`, `savedPreviewUrl`) so your Notion boards, Slack alerts, and creative swipe files never break.

#### Mode 4 — 📡 Scheduled New-Ad Delta Radar (`onlyNewAds: true`)

Monitor your niche daily or weekly without paying for yesterday's ads. When `onlyNewAds: true` is enabled, the Actor stores seen `adId`s in `monitorStoreName` and **only outputs and bills for newly discovered winning ads** (`$0.0000` when 0 new ads appear).

#### Mode 5 — 📊 Deep 5-Curve Keyframes, Industry Percentiles & Similar Ads (`includeDetails: true`)

Need all 5 full second-by-second retention, CTR, CVR, click, and conversion curves, all 5 industry percentile benchmarks, and up to 6 recommended similar winning ads? Enable `includeDetails: true` (`+$2.50 / 1,000 ads`).

***

### 📖 Quick-Start Guide & Copy-Paste Input Examples (Paste Into "Input → JSON")

To start a run, open the **Input** tab on Apify Console, switch from **Form** to **JSON**, and copy-paste any of the 5 ready-to-run configurations below:

#### Input Example 1 — Extract Top Converting Skincare & Beauty Ads With 3s Hook Retention

```json
{
  "resultType": "ads",
  "keywords": ["skincare", "beauty"],
  "country": "US",
  "objective": "PRODUCT_SALES",
  "period": "30",
  "orderBy": "ctr",
  "includeHookRetention": true,
  "onlyWinners": true,
  "deduplicateSparkClones": true,
  "maxResults": 30
}
```

#### Input Example 2 — B2B Brand & TikTok Shop Lead-Gen (1 Summary Row per Brand)

```json
{
  "resultType": "advertisers",
  "keywords": ["supplements", "fitness", "fashion"],
  "country": "US",
  "period": "30",
  "orderBy": "for_you",
  "maxResults": 40
}
```

#### Input Example 3 — Archive Permanent `.mp4` Videos & `.jpg` Covers to Cloud Storage

```json
{
  "resultType": "ads",
  "keyword": "gaming",
  "country": "US",
  "period": "7",
  "orderBy": "play_2s_rate",
  "downloadAssets": true,
  "downloadPreviews": true,
  "maxAssetSizeKb": 20480,
  "maxResults": 10
}
```

#### Input Example 4 — Scheduled Weekly New-Ad Radar (Only Output Newly Discovered Winners)

```json
{
  "resultType": "ads",
  "keywords": ["ecommerce", "tech"],
  "country": "GB",
  "period": "7",
  "orderBy": "ctr",
  "onlyNewAds": true,
  "monitorStoreName": "tiktok-creative-center-monitor",
  "maxResults": 25
}
```

#### Input Example 5 — Deep Second-by-Second Keyframe Curves, Percentiles & Similar Ads

```json
{
  "resultType": "ads",
  "keyword": "finance",
  "industry": "13000000000",
  "country": "US",
  "objective": "LEAD_GENERATION",
  "period": "30",
  "orderBy": "ctr",
  "adLanguage": "en",
  "includeDetails": true,
  "maxResults": 15
}
```

***

### 🛠️ Input Parameters Reference

Below is the complete reference for all 20 configuration options available in the Input tab:

| # | Parameter | Type & Default | Description |
|---|---|---|---|
| 1 | `resultType` | `string` (`"ads"`) | Select `"ads"` for individual video ads + 3s hook retention (`$1.50/1k`), or `"advertisers"` / `"brands"` for B2B brand lead profiles (`$2.50/1k`). |
| 2 | `keywords` | `array` (`["skincare", ...]`) | Niche keywords, sub-industries, brand names, or 19-digit TikTok ad IDs (`"skincare"`, `"beauty"`, `"gaming"`, `"fitness"`, `"supplements"`, `"ecommerce"`). |
| 3 | `keyword` | `string` (Optional) | Single keyword or 19-digit ad ID alias merged automatically with `keywords` for quick API/MCP calls. |
| 4 | `country` | `string` (`"US"`) | Target country code (`US`, `GB`, `CA`, `AU`, `DE`, `FR`, `SG`, `VN`, `JP`, `KR`, `ID`, `TH`, `BR`...) or `"ALL"` for global ads. |
| 5 | `industry` | `string` (`""`) | Optional TikTok industry name or 11-digit industry ID (e.g., `"14103000000"` for Skincare). Auto-resolved from `keywords` when left empty. |
| 6 | `objective` | `string` (`"ALL"`) | Campaign objective filter: `"ALL"`, `"CONVERSIONS"`, `"PRODUCT_SALES"`, `"LEAD_GENERATION"`, `"TRAFFIC"`, `"APP_INSTALLS"`, `"VIDEO_VIEWS"`, `"REACH"`. |
| 7 | `period` | `string` (`"30"`) | Performance window: `"7"` (Last 7 days), `"30"` (Last 30 days), or `"180"` (Last 180 days). |
| 8 | `orderBy` | `string` (`"ctr"`) | Primary sort metric: `"for_you"`, `"ctr"`, `"like"`, `"play_2s_rate"`, or `"play_6s_rate"`. |
| 9 | `adLanguage` | `string` (`""`) | Optional spoken/caption ISO language filter (e.g., `"en"`, `"es"`, `"vi"`, `"ja"`). |
| 10 | `maxResults` | `integer` (`25`) | Maximum unique ads to extract per keyword query (`1` to `1000`). Strictly enforced. |
| 11 | `includeHookRetention` | `boolean` (`true`) | Computes 3s hook retention (`hookRetention3s`), 2s/6s hold rates, peak CTR second, and steepest drop-off second at `$0` extra cost. |
| 12 | `onlyWinners` | `boolean` (`false`) | Filters output strictly to `"🏆 VIRAL_CONVERSION_WINNER"` and `"🔥 PROVEN_HOOK_WINNER"` creatives. |
| 13 | `deduplicateSparkClones` | `boolean` (`true`) | Merges duplicate ads sharing the same video or landing page into 1 record with `campaignScaleCount` and `clonedMaterialIds`. |
| 14 | `includeDetails` | `boolean` (`false`) | Optional add-on (`+$2.50/1k`): Adds all 5 full second-by-second keyframe curves, 5 industry percentiles, and 6 similar winning ads. |
| 15 | `downloadAssets` | `boolean` (`false`) | Optional add-on (`+$1.00/1k files`): Downloads and archives permanent `.mp4` video files into your Apify Key-Value Store (`savedAssetUrl`). |
| 16 | `downloadPreviews` | `boolean` (`false`) | Downloads and archives permanent `.jpg` cover thumbnails into your Apify Key-Value Store (`savedPreviewUrl`). |
| 17 | `maxAssetSizeKb` | `integer` (`20480`) | Maximum file size in KB (`20480` KB = 20 MB default) per downloaded video or image when `downloadAssets` is enabled. |
| 18 | `onlyNewAds` | `boolean` (`false`) | Remembers previously seen `adId`s in `monitorStoreName` and outputs only newly discovered ads on scheduled runs. |
| 19 | `monitorStoreName` | `string` (`"tiktok-creative-center-monitor"`) | Persistent Apify Key-Value Store name used by `onlyNewAds` across scheduled runs. |
| 20 | `proxyConfiguration` | `object` (Optional) | Direct engine works with `$0` proxy cost by default. Optional Apify Proxy fallback for large bulk workloads. |

***

### 📦 Sample Dataset Output

#### A. Extracted Winning Video Ad Record (`resultType: "ads"`)

```json
{
  "resultType": "ads",
  "query": "skincare",
  "adId": "7626204707086696466",
  "brandName": "YUNJAC",
  "adTitle": "YUNJAC's bestseller, SKIN PERFECTING BASE PREP Tutorials are here to help you achieve glass skin",
  "targetRegion": "US",
  "countryCode": "US",
  "brandCountry": "KR",
  "activeCountries": ["US", "KR"],
  "industryKey": "label_14104000000",
  "industryName": "Cosmetics & Makeup",
  "objectiveName": "Product Sales (TikTok Shop)",
  "costTier": 2,
  "ctrTopPercentile": "Top 5%",
  "likes": 480,
  "comments": 24,
  "shares": 39,
  "durationSeconds": 31.67,
  "videoUrl": "https://v16m-default.tiktokcdn.com/video/tos/alisg/tos-alisg-ve-37c799-sg/sample.mp4",
  "coverImageUrl": "https://p16-common-sign.tiktokcdn.com/tos-maliva-p-0068c799-us/sample.image",
  "landingPageUrl": "https://www.yunjac.com/products/skin-perfecting-base-prep",
  "landingDomain": "yunjac.com",
  "hookRetention3s": 44.8,
  "play2sRate": 58.2,
  "play6sRate": 31.4,
  "hookPeakSecond": 3,
  "hookDropoffSecond": 1,
  "hookVelocityScore": 84,
  "winnerTier": "🏆 VIRAL_CONVERSION_WINNER",
  "campaignScaleCount": 2,
  "clonedMaterialIds": ["7626204707086696466", "7626204707086696999"],
  "retentionCurve": [
    { "second": 0, "retentionPct": 100, "ctrIndex": 22 },
    { "second": 1, "retentionPct": 78.5, "ctrIndex": 48 },
    { "second": 2, "retentionPct": 58.2, "ctrIndex": 76 },
    { "second": 3, "retentionPct": 44.8, "ctrIndex": 95 }
  ],
  "ai_analysis_prompt": "Act as an elite TikTok Direct-Response Creative Director...",
  "creativeCenterUrl": "https://ads.tiktok.com/business/creativecenter/topads/7626204707086696466/pc/en?country=US&period=30"
}
```

#### B. Aggregated B2B Brand Profile Record (`resultType: "advertisers"`)

```json
{
  "resultType": "advertisers",
  "query": "skincare",
  "brandName": "YUNJAC",
  "brandCountry": "KR",
  "targetRegion": "US",
  "primaryLandingDomain": "yunjac.com",
  "landingPageUrl": "https://www.yunjac.com/products/skin-perfecting-base-prep",
  "industryName": "Cosmetics & Makeup",
  "totalAdsFound": 4,
  "viralWinnerCount": 3,
  "avgHookRetention3s": 43.6,
  "avgHookVelocityScore": 82,
  "bestCtrTopPercentile": "Top 5%",
  "dominantObjective": "Product Sales (TikTok Shop)",
  "avgCostTier": 2,
  "totalLikes": 1820,
  "totalShares": 145,
  "activeMarkets": ["US", "KR"],
  "topVideoUrl": "https://v16m-default.tiktokcdn.com/video/tos/alisg/tos-alisg-ve-37c799-sg/sample.mp4",
  "sampleAdTitles": [
    "YUNJAC's bestseller, SKIN PERFECTING BASE PREP Tutorials are here to help you achieve glass skin"
  ],
  "b2bOutreachAngle": "Pitch YUNJAC (Cosmetics & Makeup) on scaling their Product Sales (TikTok Shop) TikTok campaigns in US, KR: they have 4 active top ads averaging 43.6% 3-second hook retention.",
  "ai_analysis_prompt": "Act as a B2B Agency Growth Strategist..."
}
```

***

### 💰 Simple, Transparent Modular Pricing

Every Apify account includes **$5.00 in free monthly usage credit** — enough to extract **~3,330 full winning TikTok ads (with 3-second hook retention, landing pages, direct MP4 URLs, and AI script prompts)** every month at zero cost.

| # | Event Name | Price | What Is Included |
|---|---|---|---|
| 1 | **`Ad Result` (`apify-default-dataset-item`)** | **`$0.0015 / ad` (`$1.50 / 1,000 ads`)** | **All-Inclusive Base Tier:** Full Top Ad record + Direct MP4 Video URL + Cover Image + Landing Page URL & Domain + CTR Top % + Likes/Comments/Shares + 3-Second Hook Retention & Peak CTR Second + Winner Tier + AI Script Prompt (`$0` Actor Start fee, `$0` Proxy cost). |
| 2 | **`Brand Summary` (`advertiser`)** | **`$0.0025 / brand` (`$2.50 / 1,000 brands`)** | Triggered only when `resultType: "advertisers"` (or `"brands"`): 1 aggregated B2B Brand Lead-Gen profile per advertiser (`$0.0015` dataset item + `$0.0010` advertiser delta). |
| 3 | **`Deep Keyframe & Similar Ads` (`detail`)** | **`+$0.0025 / ad` (`+$2.50 / 1,000 ads`)** | Triggered only when you explicitly enable `includeDetails: true`: Adds all 5 full second-by-second keyframe arrays, 5 industry percentile benchmarks, and up to 6 recommended similar winning ads. |
| 4 | **`Cloud Media Archive` (`asset`)** | **`+$0.0010 / file` (`+$1.00 / 1,000 files`)** | Triggered only when you enable `downloadAssets: true` or `downloadPreviews: true` and a permanent `.mp4` or `.jpg` file is saved to your Apify Key-Value Store. |

***

### ❓ Frequently Asked Questions & Release Notes

#### Why doesn't a tiny brand appear in TikTok Creative Center?

TikTok Creative Center showcases **top-performing and trending ads** across 258 industries and 28+ countries. If a micro-brand has never opted into Creative Center showcase or has zero ad traction, it will not appear in Creative Center rankings.

#### Can I preview a niche for free before running a bulk job?

Yes — you can test single keywords interactively on our free web utility at **[VoxaTools — TikTok Creative Center Top Ads & Hook Analyzer](https://voxatools.com/tools/tiktok-creative-center-top-ads-analyzer)**.

#### Recent Updates (`v1.0`)

- **Zero-Cookie Deep Niche Extraction (`80–200+` unique ads per query):** Breaks past the 20-video public scroll wall automatically with zero TikTok login cookies required.
- **3-Second Hook Retention & Peak CTR Decoder:** Computes `hookRetention3s`, `play2sRate`, `play6sRate`, `hookPeakSecond`, and `hookDropoffSecond` at no extra cost in the `$1.50/1k` base tier.
- **Spark & Campaign Clone Deduplication (`deduplicateSparkClones`):** Merges identical videos scaled across multiple ad groups and outputs `campaignScaleCount` and `clonedMaterialIds`.
- **B2B Brand Lead-Gen (`resultType: "advertisers"`), New-Ad Radar (`onlyNewAds`) & Permanent Cloud Archiving (`downloadAssets`):** Complete enterprise workflow support.

# Actor input Schema

## `resultType` (type: `string`):

Select 'ads' (default) to extract individual winning TikTok video ads with 3-second hook retention, CTR percentile, landing pages, direct MP4 links, and AI script prompts ($1.50/1k all-inclusive). Select 'advertisers' (or 'brands') to aggregate results into 1 B2B lead summary row per brand/domain ($2.50/1k brands).

## `keywords` (type: `array`):

List of niche keywords, product categories, brand names, or 19-digit TikTok material IDs to analyze (e.g., 'skincare', 'beauty', 'gaming', 'fitness', 'supplements', 'fashion', 'ecommerce'). Automatically maps to all 258 official TikTok industries & sub-industries.

## `keyword` (type: `string`):

Optional single niche keyword, brand name, or 19-digit TikTok Ad ID (e.g., 'skincare') merged automatically with 'keywords' for convenient single-query API and MCP calls.

## `country` (type: `string`):

Filter TikTok Top Ads served in a specific country (ISO-2 country code such as US, GB, CA, AU, DE, FR, VN, SG, ID, TH, JP, KR, BR) or select 'ALL' for global campaigns.

## `industry` (type: `string`):

Optional industry name or 11-digit TikTok industry code (e.g., 'Beauty & Personal Care', 'Skincare', 'E-Commerce', 'Games', 'Health', or '14000000000'). Leave empty to auto-resolve from your keywords.

## `objective` (type: `string`):

Filter ads by their TikTok Ad Manager campaign objective: All Objectives, Conversions, Product Sales (TikTok Shop), Lead Generation, Traffic, App Installs, Video Views, or Reach.

## `period` (type: `string`):

Timeframe for TikTok Creative Center performance metrics: '7' (Last 7 days breakout trends), '30' (Last 30 days proven winners), or '180' (Last 180 days evergreen scaling ads).

## `orderBy` (type: `string`):

Primary metric used to rank top ads: 'for_you' (TikTok Relevance Score), 'ctr' (Highest Click-Through Rate), 'like' (Most Likes), 'play_2s_rate' (2-Second Hook Rate), or 'play_6s_rate' (6-Second Hold Rate).

## `adLanguage` (type: `string`):

Optional ISO language code filter for the video ad's spoken audio or captions (e.g., 'en', 'es', 'vi', 'ja', 'de', 'fr', 'pt'). Leave empty for all languages.

## `maxResults` (type: `integer`):

Maximum number of unique TikTok ads to extract per keyword or industry query (supports breaking past the 20-video public limit up to 200+ unique ads per query without cookies).

## `includeHookRetention` (type: `boolean`):

When enabled (default true), automatically computes 3-second hook retention (hookRetention3s), 2s/6s hold rates, peak click-through second (hookPeakSecond), and steepest viewer drop-off second (hookDropoffSecond) at $0 extra add-on cost.

## `onlyWinners` (type: `boolean`):

When enabled, filters out testing creatives and only outputs top-tier ads classified as '🏆 VIRAL_CONVERSION_WINNER' or '🔥 PROVEN_HOOK_WINNER' based on CTR percentile and hook velocity.

## `deduplicateSparkClones` (type: `boolean`):

When enabled (recommended), merges duplicate ads running the same video or landing page across multiple ad groups into 1 unique record while outputting 'campaignScaleCount' and 'clonedMaterialIds'.

## `includeDetails` (type: `boolean`):

Note: 3s Hook Retention, Peak CTR Second, Landing Pages & MP4 URLs are ALREADY included FREE in the base tier! Enable this only when you need all 5 full second-by-second keyframe arrays, all 5 industry percentile benchmarks, and up to 6 recommended similar winning ads.

## `downloadAssets` (type: `boolean`):

Because TikTok CDN video links (tiktokcdn.com) contain 'x-expires' signatures that expire after a few hours, enable 'downloadAssets' to save permanent .mp4 video files into your Apify Key-Value Store ('savedAssetUrl').

## `downloadPreviews` (type: `boolean`):

When enabled, downloads and archives permanent high-resolution cover thumbnail images (.jpg) into your Apify Key-Value Store ('savedPreviewUrl') so thumbnails never expire inside Notion or Airtable.

## `maxAssetSizeKb` (type: `integer`):

Maximum allowed file size in Kilobytes (KB) per downloaded MP4 video or JPG cover when 'downloadAssets' or 'downloadPreviews' is enabled (Default: 20480 KB = 20 MB).

## `onlyNewAds` (type: `boolean`):

When enabled on scheduled daily or weekly runs, remembers previously seen adIds in a persistent Key-Value Store ('monitorStoreName') and only outputs and bills for brand-new winning ads ($0.00 cost when 0 new ads appear).

## `monitorStoreName` (type: `string`):

Named Apify Key-Value Store used to persist seen ad material IDs across scheduled runs when 'onlyNewAds' is enabled.

## `proxyConfiguration` (type: `object`):

Our Zero-Browser engine runs directly at <400ms latency with $0 proxy cost. Optional Apify Proxy configuration is available as a fallback for high-volume bulk runs.

## Actor input object example

```json
{
  "resultType": "ads",
  "keywords": [
    "skincare",
    "beauty",
    "gaming"
  ],
  "country": "US",
  "industry": "",
  "objective": "ALL",
  "period": "30",
  "orderBy": "ctr",
  "adLanguage": "",
  "maxResults": 25,
  "includeHookRetention": true,
  "onlyWinners": false,
  "deduplicateSparkClones": true,
  "includeDetails": false,
  "downloadAssets": false,
  "downloadPreviews": false,
  "maxAssetSizeKb": 20480,
  "onlyNewAds": false,
  "monitorStoreName": "tiktok-creative-center-monitor"
}
```

# Actor output Schema

## `adsDataset` (type: `string`):

Full dataset of extracted TikTok Top Ads with 3-second hook retention rates, peak CTR seconds, direct MP4 video links, landing pages, Winner Tiers, and AI script teardown prompts.

## `competitorSummary` (type: `string`):

Aggregated TikTok creative intelligence report (top hooks, average 3s retention, winning objectives, top brands, and AI creative director recommendations) ready for AI Agents & LLMs.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "skincare",
        "beauty",
        "gaming"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("voxatools/tiktok-creative-center-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "keywords": [
        "skincare",
        "beauty",
        "gaming",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("voxatools/tiktok-creative-center-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "skincare",
    "beauty",
    "gaming"
  ]
}' |
apify call voxatools/tiktok-creative-center-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,voxatools/tiktok-creative-center-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/5JDnAPkUqFpCmlZbe/builds/hMDH8mLuM9mtu2thO/openapi.json
