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, 市场情报, 广告分析, 数据可视化, 数据提取, 数据爬虫, 竞品分析