Skip to main content
Glama

TikTok Ad Library Ad Library Search

social_tiktok_ad_library_search
Read-only

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. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. TikTok Ad Library Ad Library Search API View Pricing Search TikTok's public Ads Library by general query or advertiser name. 1 credit per request Actual supplier units are reported per request. Examples are not guaranteed prices.

Input Schema

NameRequiredDescriptionDefault
queryNoGeneral ad search. Provide either query or advertiser_name, not both.
cursorNoOpaque cursor returned from the previous response.
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. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnlyHint, openWorldHint and destructiveHint=false, and the description still adds real behavior: typeahead resolution of advertiser names, adv_biz_ids returned per ad, fallback to name search when no entity matches, global scope, latest-date ordering, and cursor pagination. The cost section undercuts this by stating both 'at least 10 Nexscope credits' and '1 credit per request', leaving the actual charge ambiguous.

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

Conciseness3/5

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

The core behavior is front-loaded in clear sentences, but the trailing block is noisy: duplicated title text ('TikTok Ad Library Ad Library Search'), repeated promotional phrasing, and mutually inconsistent credit figures. Roughly a third of the description is boilerplate that does not help an agent call the tool.

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?

For a read-only, four-parameter search with no output schema, the description covers input modes, resolution/fallback behavior, return contents (adv_biz_ids, TikTok Ads Library URL per ad), ordering, pagination, and cost. An agent has everything needed to invoke it correctly; only the pricing detail is muddled.

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 interaction semantics the schema fields only partially convey: advertiser_name is resolved through the typeahead to an entity, adv_biz_ids pins that entity, and the two must be supplied together. It still adds little about cursor semantics or query syntax beyond what the schema says.

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?

The first sentence states a specific verb and resource (searches TikTok's public Ads Library) and immediately splits the two operating modes: general query vs. advertiser-specific results. An agent can distinguish this from social_tiktok_ad_library_ad and social_facebook_ad_library_search_ads without opening any schema.

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

Usage Guidelines4/5

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

It gives an explicit selection rule for the two search modes ('provide exactly one of query or advertiser_name') and explains the adv_biz_ids + advertiser_name combination with the failure mode (ID-only returns 400). It does not route the agent to sibling tools such as the ad-detail endpoint, so there is no when-to-use-this-instead guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.