Skip to main content
Glama
thenavidm

ScrapeCreators MCP Server

by thenavidm

Ad Library Search

tiktok_ad_library_ad_library_search

Search TikTok's public Ads Library by keyword or advertiser name to find global ads, including cursor pagination and public ad URLs.

Instructions

Searches TikTok's public Ads Library using either query for a general search or advertiser_name for advertiser-specific results. Advertiser-name searches resolve the name through TikTok's advertiser typeahead first, then search the selected advertiser entity and return adv_biz_ids on each ad. You can pass adv_biz_ids with advertiser_name to pin the exact advertiser shown in TikTok's See all ads link. TikTok requires the name with the ID and ignores an ID-only search, so provide exactly one of query or advertiser_name. If TikTok has no matching advertiser entity, the API falls back to TikTok's name search. Results are global, sorted by the latest shown date, support cursor pagination, and include a public TikTok Ads Library URL for each ad. Potentially consumes paid API credits; requires confirm=true. Read-like POST requests do not publish to social platforms.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
queryNoGeneral ad search. Provide either query or advertiser_name, not both.
cursorNoOpaque cursor returned from the previous response.
accountNoNamed private ScrapeCreators account; selects credentials, not a remote account ID.
confirmNoMust be true for the specific approved credit-consuming research call.
adv_biz_idsNoTikTok advertiser business ID from a See all ads link. Use it with advertiser_name to pin the exact advertiser. Required companion: advertiser_name; ID-only searches return 400 because TikTok ignores the ID without the name.
advertiser_nameNoAdvertiser name to resolve through TikTok's typeahead and search by advertiser entity. Falls back to TikTok's name search when no entity matches. Provide either advertiser_name or query, not both.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv2.0.0

TDQS

A4.8/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover safety (readOnlyHint=false, destructiveHint=false, openWorldHint=true, idempotentHint=false), and the description adds real context beyond them: paid credit consumption, mandatory confirm, ID-only searches returning 400, typeahead resolution, global scope, latest-shown-date sorting, cursor pagination, and per-ad return fields. The 'read-like POST does not publish' note reconciles the read-like behavior with readOnlyHint=false rather than contradicting it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Dense but front-loaded: the query-vs-advertiser_name distinction leads, with edge cases and the credit/confirm note after. A few clauses (the fallback restated in both description and schema) are slightly redundant, keeping it from a 5.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description takes on the burden of describing returns (adv_biz_ids per ad, a public Ads Library URL, cursor pagination) and covers the credit/confirm prerequisite. Nothing an agent needs to call this correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3, but the description adds cross-parameter meaning the schema does not: the required companionship of adv_biz_ids and advertiser_name, the mutual exclusivity of query and advertiser_name, and the typeahead resolution behavior. It stops short of adding format/syntax hints for cursor or account.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Searches TikTok's public Ads Library') and immediately distinguishes its two modes, general query vs advertiser_name search. An agent can tell it apart from sibling tiktok_ad_library_ad_library_ad and the Facebook/Google/LinkedIn ad-library searches from the description alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states how to choose between the two input paths ('provide exactly one of query or advertiser_name'), how to pin an advertiser by pairing adv_biz_ids with advertiser_name, and the fallback when no entity matches. It also discloses the confirm=true requirement and credit consumption, which is genuine selection guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools