FlowExtractAPI/tiktok-ad-library-scraper
GitHub: FlowExtractAPI/tiktok-ad-library-scraper
该工具无需登录即可从 TikTok 官方广告库批量提取广告创意、展示数据和定向情报,帮助用户高效进行竞品广告研究。
Stars: 0 | Forks: 0
# 🔍 TikTok Ad Library Scraper 按关键词、广告主或 URL 导出 TikTok 广告
**[TikTok Ad Library Scraper](https://apify.com/dz_omar/tiktok-ad-library-scraper?fpr=smcx63)** 可从官方 TikTok 广告库中提取广告 —— 按关键词搜索、按广告主名称搜索,或直接粘贴广告库 URL,即可获取广告主、创意类型、展示日期、预估受众、视频和图片创意,以及(可选的)完整定向数据。无需登录,无需 Cookie,无需浏览器自动化。
非常适合需要获取 TikTok 广告创意和定向情报,而不想在广告库中手动点击的**竞争广告研究员**、**效果营销人员**和**代理商**。
https://www.youtube.com/watch?v=DUMMY_VIDEO_ID
## 为什么要抓取 TikTok 广告库?
TikTok 广告库是 TikTok 的公开 DSA 透明度门户,包含大约一年内在 EU/EEA 投放的广告。它公开了实际的创意、背后的广告主、每条广告的投放时长,以及每条广告按年龄段、性别和区域的展示细分数据。这些是你本来需要支付 SaaS 订阅费才能获得的竞争对手情报。
以下是一些最常见的用例:
- **竞争对手广告监控**:追踪竞争对手投放的每一条广告,包括首次/最近展示日期。
- **创意研究**:提取竞争对手使用的实际视频和图片创意,以作为你自己创意的参考。
- **定向情报**:查看广告主定向了哪些国家/地区、年龄段和性别(需开启 Fetch Ad Detail)。
- **市场与趋势分析**:在所有地区搜索某个关键词,以勾勒出哪些人正在某个类别中投放广告。
- **广告合规与尽职调查**:捕获品牌广告文案、审核状态和被拒绝的原因。
## TikTok Ad Library Scraper 可以提取哪些数据?
### 🏷️ 广告标识
- `id` 唯一的 TikTok 广告标识符
- `name` 广告主显示名称
- `type` 创意格式(`video` 或 `image`)
- `audit_status` TikTok 审核状态
### 📅 时间轴
- `first_shown_date` 广告首次投放日期(Unix 毫秒,UTC)
- `last_shown_date` 广告最近投放日期(Unix 毫秒,UTC)
### 📊 覆盖范围
- `estimated_audience` 分桶的受众规模(例如 `0-1K`, `1K-10K`)
### 🎬 创意
- `videos` 可播放的已签名视频 URL + 封面图
- `image_urls` 图片创意 URL
### 🎯 完整定向 *(仅在开启 Fetch Ad Detail 时可用)*
- 创意标题和广告目标
- 广告主注册地点和商业 ID
- 目标受众规模和定向的国家/地区
- 各区域展示量及年龄(13-17 … 55+)和性别细分
### 🔖 来源
- `region`, `sort`, `source_url`, `_source` 生成该记录的搜索来源
## ⚙️ 如何使用 TikTok Ad Library Scraper
你可以提供 **URL**、**关键词过滤器**,或同时提供两者。每个 URL 和每个关键词都算作一个输入项。
### 输入选项
#### 起始 URL (Array)
粘贴从浏览器复制的完整 `library.tiktok.com/ads` URL。地区、日期、排序顺序和广告主过滤器将直接从 URL 中读取 —— 无需额外配置。
| 输入值 | 提取内容 |
|---|---|
| `https://library.tiktok.com/ads?region=DE&adv_name=nike` | 在德国匹配“nike”的广告 |
| `https://library.tiktok.com/ads?region=all&adv_name=...&query_type=2&adv_biz_ids=...` | 特定广告主在所有地区的广告 |
```
{
"startUrls": [
{ "url": "https://library.tiktok.com/ads?region=DE&adv_name=nike&sort_type=last_shown_date,desc" }
]
}
```
#### Keyword Filters (Object 的 Array)
手动构建搜索。每个条目都会根据自己的地区、日期范围和排序顺序独立运行。
- **`query`** 关键词或广告主名称。
- **`searchAsAdvertiser`** *(布尔值,默认 `false`)* 关闭:将文本与广告内容进行匹配(TikTok 的“精确搜索此短语”)。开启:将文本视为广告主名称并返回该广告主的广告(TikTok 的“广告主名称”)。
- **`region`** 一个目标国家/地区(或 `all` 表示 EU/EEA)。API 每次搜索只处理一个地区。
- **`dateFrom` / `dateTo`** 日期范围。请参阅下文的日期窗口说明。
- **`sortOrder`** `newest`、`oldest`、`created`、`created-asc`、`popular`、`unpopular`。
```
{
"keywords": [
{ "query": "summer sale", "region": "DE", "sortOrder": "newest" },
{ "query": "Apify Technologies s.r.o.", "searchAsAdvertiser": true, "region": "AT" }
],
"maxResults": 10
}
```
#### `maxResults` (Integer)
- **默认值**:`10`
- 每个 URL 和每个关键词收集的最大广告数。设为 `0` 则收集 API 返回的所有内容。建议先从 `10` 开始进行测试。
#### `fetchAdDetail` (Boolean)
- **默认值**:`false`
- 开启时,抓取工具会为每条广告额外发送一次请求,以收集完整的广告主、创意和定向详情。速度较慢,并按较高的费率计费。
### 📆 日期窗口(重要)
TikTok 广告库仅保留大约**一年**的“最近展示日期”历史记录,且最早可选日期每天都会向后推移。此抓取工具会自动处理此问题:
- **未提供日期** → 默认为大约过去一年(从今天回溯至约 364 天前)。
- **开始日期过早** → 自动上调至最早可选日期,并发出警告。运行继续进行。
- **`dateFrom` 晚于 `dateTo`** → 该条目将被拒绝,并显示明确的提示信息(日期颠倒)。
- **整个范围早于约 1 年** → 该条目将被拒绝(没有可抓取的内容)。
## 💰 定价
定价未来可能会发生变化。在您运行之前,任何更改都会在此处和 Apify Store 中透明地展示。
## 📊 输出结果示例
**未开启 `fetchAdDetail`(`details` 为 null):**
```
{
"id": "1866984139925698",
"name": "nexxtstyyle",
"type": "video",
"audit_status": "1",
"first_shown_date": 1780495093000,
"last_shown_date": 1780495093000,
"estimated_audience": "0-1K",
"videos": [
{ "video_url": "https://library.tiktok.com/api/v1/cdn/.../video.mp4", "cover_img": "https://p19-common-sign.tiktokcdn.com/.../cover.jpeg" }
],
"image_urls": [],
"details": null,
"region": "DE",
"sort": "last_shown_date,desc",
"source_url": "URL: https://library.tiktok.com/ads?region=DE&adv_name=nike&sort_type=last_shown_date,desc",
"_source": "tiktok_ad_library_scraper"
}
```
**开启 `fetchAdDetail`(已填充 `details` 截断显示):**
```
{
"id": "1866984139925698",
"name": "nexxtstyyle",
"type": "video",
"estimated_audience": "0-1K",
"videos": [ { "video_url": "...", "cover_img": "..." } ],
"details": {
"ad": { "title": "Nike☀️🔝 #nike #summer", "advertising_objective": "Reach", "estimated_audience": "1K-10K" },
"advertiser": { "name": "Nextstyleee", "adv_biz_ids": "7555084503564304385", "registry_location": "Emirates" },
"targeting": {
"target_audience_size": "23.6M-28.8M",
"countries": ["ES", "FR", "IT", "DE", "BE"],
"location": {
"total_region": 5,
"data": [
{ "region": "ES", "impressions": "2K", "breakdowns": [ { "age": "18-24", "gender": "FEMALE", "impressions": "0-1K" } ] }
]
}
}
},
"region": "DE",
"source_url": "URL: https://library.tiktok.com/ads?region=DE&adv_name=nike",
"_source": "tiktok_ad_library_scraper"
}
```
## ❓ 常见问题解答
**使用此 Actor 需要拥有 TikTok 账号吗?**
不需要。TikTok 广告库是一个公开的透明度门户。此抓取工具无需登录、Cookie 或凭据。
**可以往前回溯搜索多久的数据?**
大约一年。TikTok 广告库保留大约 365 天的“最近展示日期”历史记录,并且该时间窗口每天都会向后推移。早于该时间范围的日期将被自动截断或跳过,并显示明确的提示信息。
**可以在一次运行中抓取多个关键词和 URL 吗?**
可以。提供任意混合的 URL 和关键词过滤器 —— 它们会在同一次运行中处理(先处理 URL,然后处理关键词),每一项的上限都是 `maxResults`。
**关键词搜索和广告主搜索有什么区别?**
关键词搜索会将您的文本与广告内容进行匹配。开启 `searchAsAdvertiser` 会将您的文本视为广告主名称,并返回该广告主的广告 —— 这与 TikTok 界面上“精确搜索此短语”与“广告主名称”的区分一致。
**如果运行中止或在中途遇到限制会怎样?**
结果会在抓取时实时写入,每次写入一条广告。已收集的所有内容都会被保存。失败的来源会被跳过,并继续处理下一个来源 —— 一个错误的输入永远不会导致整个运行失败。
**为什么我的某个关键词/URL 条目被跳过了?**
最有可能的原因是日期范围颠倒(`dateFrom` 晚于 `dateTo`)或完全超出了 TikTok 约 1 年的保留期。运行日志会确切说明被跳过的条目及其原因。
## ⚖️ 法律与道德使用规范
此 Actor 从 TikTok 广告库中提取**公开可见的数据** —— 这与任何人在浏览器中访问 library.tiktok.com 看到的信息相同。
**请负责任地使用此工具:**
- 仅将数据用于合法目的,例如研究、竞争分析和合规审查。
- 遵守 [TikTok 服务条款](https://www.tiktok.com/legal/terms-of-service)及适用的数据保护法规(GDPR、CCPA 等)。
- 不得将提取的数据用于发送垃圾邮件、骚扰或未经请求的主动联系。
如有关于特定用例的问题,请通过 [flowextractapi@outlook.com](mailto:flowextractapi@outlook.com) 联系我们。
## 🔄 结果保存方式
结果会**实时**流入您的数据集 —— 每条广告在抓取到的瞬间就会按顺序(先 URL,后关键词)被推送。没有运行结束时的批量转储:
| 触发条件 | 行为 |
|---|---|
| 每条广告被抓取到 | 立即推送到数据集 |
| 来源失败或被限制 | 跳过该来源;保留已推送的广告 |
| 达到预算/计费限制 | 运行正常停止;保留目前收集到的所有内容 |
| 运行被中止 | 已推送的广告仍保留在数据集中 |
## 🚫 错误处理
| 情况 | 提示信息 | 处理方法 |
|---|---|---|
| 日期颠倒 | `Date From … is after Date To …` | 交换日期,确保开始日期在前 |
| 范围过早 | `range … is entirely older than TikTok's ~1-year retention` | 选择过去一年内的日期 |
| 运行时日期超出范围 | `TikTok rejected the date range as out of its ~1-year retention window` | 将范围缩小至过去一年内 |
| 初始请求受限 | `TikTok blocked the initial request` | 稍后重试,或启用代理 |
| 无有效输入 | `No scrapeable sources` | 检查您的 URL、关键词和日期 |
## 🌟 FlowExtract API 相关 Actor
### 🏠 房地产数据
**[domain.com.au Scraper](https://apify.com/dz_omar/domain-scraper?fpr=smcx63)**
从 domain.com.au 提取澳大利亚房产列表,包含完整信息丰富、经纪人联系方式、学校和市场洞察。
**[Realtor.com Scraper](https://apify.com/dz_omar/realtor-scraper?fpr=smcx63)**
从 Realtor.com 提取美国房产列表。包含定价、经纪人联系方式、税务历史、AVM 估价、附近学校、洪水和噪音数据,以及完整列表历史。
**[PropertyFinder Scraper](https://apify.com/dz_omar/propertyfinder-scraper?fpr=smcx63)**
从 PropertyFinder 提取阿联酋、沙特阿拉伯、巴林、埃及和卡塔尔的房产列表。
**[Idealista Scraper API](https://apify.com/dz_omar/idealista-scraper-api?fpr=smcx63)**
通过 API 访问的高级 Idealista 房产数据提取工具。
**[Idealista Scraper](https://apify.com/dz_omar/idealista-scraper?fpr=smcx63)**
从 Idealista 提取西班牙房地产列表。
**[Leboncoin.fr Scraper]( )**
从 Leboncoin 提取法国分类信息列表 —— 房地产、车辆、工作等。
**[AI Contact Intelligence Extractor](https://apify.com/dz_omar/ai-contact-intelligence?fpr=smcx63)**
使用 AI 提取电子邮件、电话、联系人和自定义数据。
### 🍔 美食与外卖
**[DoorDash Scraper](https://apify.com/dz_omar/doordash-scraper?fpr=smcx63)**
抓取 DoorDash 上的商店列表、完整菜单、特色商品和顾客评论。
### 🎬 视频与媒体工具
**[YouTube Transcript & Metadata Extractor](https://apify.com/dz_omar/youtube-transcript-metadata?fpr=smcx63)**
提取带有时间戳的完整视频文字记录和全面的元数据。
**[YouTube Full Channel, Playlists, Shorts, Live](https://apify.com/dz_omar/Youtube-Scraper-Pro?fpr=smcx63)**
从任何 YouTube 播放列表中提取完整的播放列表信息及所有视频详情。
**[Zoom Scraper | Downloader & Transcript](https://apify.com/dz_omar/zoom-scraper?fpr=smcx63)**
提取 Zoom 会议录像、文字记录和元数据。
**[Loom Scraper | Downloader & Transcript](https://apify.com/dz_omar/loom-video-scraper?fpr=smcx63)**
下载 Loom 视频并提取文字记录。
### 🛠️ 开发者与安全工具
**[Screenshot](https://apify.com/dz_omar/screenshot?fpr=smcx63)**
快速、可靠的网页截图工具,提供可自定义的选项。
**[Ultimate Screenshot](https://apify.com/dz_omar/ultimate-screenshot?fpr=smcx63)**
高级截图工具,支持全页捕获、自定义视口和质量控制。
### 📱 社交媒体工具
**[Facebook Ads Scraper Pro](https://apify.com/dz_omar/facebook-ads-scraper-pro?fpr=smcx63)**
提取 Facebook 广告数据,用于竞争对手分析和市场研究。
**[LinkedIn Ad Library Scraper](https://apify.com/dz_omar/linkedin-ads-scraper?fpr=smcx63)**
从 LinkedIn Ad Library 提取全面的广告数据。
**准备好提取 TikTok 广告数据了吗?**[立即开始使用 TikTok Ad Library Scraper!](https://apify.com/dz_omar/tiktok-ad-library-scraper?fpr=smcx63)
标签:Apify, Python脚本, TikTok, 市场情报, 广告分析, 数据可视化, 数据提取, 数据爬虫, 竞品分析