Google Ads Transparency Center
Search Google Ads Transparency Center ad creative listings through Frevana.
Purpose
This skill is for finding Google Ads Transparency Center ad creative results.
Inputs:
advertiser_idortext- optional
platform - optional
region - optional
next_page_token
Output:
- validated response JSON with Google Ads Transparency Center results
- the same validated JSON saved to a local file on every successful run
This skill validates that the response is JSON, saves it to disk, and returns it unchanged on stdout. Do not rewrite or reshape the returned data unless the user explicitly asks for a transformation.
What This Skill Needs
- user-provided
advertiser_id,text, ornext_page_token - optional filters listed above
FREVANA_TOKENin the environment variables, or an explicit--tokenoverride for the current runcurlbashpython3
Execution Order
Use this flow so the request stays simple and reliable:
- Confirm the user has provided an
advertiser_id,text, ornext_page_token. - Prefer the script over ad hoc
curlcommands. - Let the script read
FREVANA_TOKENfirst. - In interactive shell usage, if
FREVANA_TOKENis missing, the script may prompt for it. - In non-interactive or agent workflows, fail fast if the token is missing and tell the user to set
FREVANA_TOKENor pass--tokenexplicitly. - Run the script once. It prints the validated JSON to stdout and saves the same JSON to a file.
- Use the saved JSON file for any follow-up parsing or summarization instead of calling the search API again.
- Return the validated response JSON, or summarize the relevant ad creatives if the user does not need the full payload.
Commands
Search by domain or text
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--text "apple.com"
--q and --query are accepted as aliases for --text.
Search by advertiser ID
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--advertiser-id "AR17828074650563772417"
--advertiser_id is accepted as an alias for --advertiser-id.
Search with filters
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--text "apple.com" \
--platform YOUTUBE \
--region 2840
Fetch the next page
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--text "apple.com" \
--region 2840 \
--next-page-token "CgoAP7zn5TAzVgIz..."
--next_page_token is accepted as an alias for --next-page-token.
Save response JSON to a specific file
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--text "apple.com" \
--region 2840 \
--output ./out/google-ads-transparency-center-result.json
Token override for the current run
bash <skill-path>/scripts/search_google_ads_transparency_center.sh \
--text "apple.com" \
--token "your bearer token"
Fixed Request Shape
The script sends this payload shape, omitting optional fields that were not provided:
{
"advertiser_id": "AR17828074650563772417",
"text": "apple.com",
"platform": "YOUTUBE",
"region": "2840",
"next_page_token": "CgoAP7zn5TAzVgIz..."
}
Provide at least one of advertiser_id, text, or next_page_token. Do not invent advertiser IDs, region codes, platforms, or pagination tokens when the user did not provide them.
Response Shape
The API returns Frevana JSON. Common fields include:
search_metadatasearch_parameterssearch_information.total_resultsad_creativespagination.next_page_token
Each ad_creatives[] item may include advertiser_id, advertiser, ad_creative_id, format, target_domain, image, link, width, height, first_shown, last_shown, details_link.
Output
- Success: the script validates that the response body is JSON, writes it to a file, prints the saved path to stderr, and prints the JSON to stdout
- Default file path:
./out/google-ads-transparency-center-<UTC timestamp>-<pid>.json - With
--output: the same JSON is written to the specified file path instead of the default path - Failure: the script prints the response body or parsing error and exits non-zero
Notes
- Require at least one of
--advertiser-id,--text, or--next-page-token. - Use
--textfor domains or free-text Google Ads Transparency Center searches. - Use
--advertiser-idonly when the user provides a Google advertiser ID such asAR17828074650563772417; do not guess it from a brand name. - Use
--next-page-tokenonly for pagination from a prior response'spagination.next_page_token. - Valid
--platformvalues arePLAY,MAPS,SEARCH,SHOPPING, andYOUTUBE. - The Frevana endpoint schema currently exposes
advertiser_id,text,platform,region, andnext_page_token. Do not pass unsupported passthrough fields such asengine,api_key,output,no_cache,async,zero_trace,political_ads,start_date,end_date,creative_format, ornum. - If
curlis missing, stop and tell the user to installcurl. - If
python3is missing, stop and tell the user to installpython3. - Do not echo the Bearer token back to the user.
- Summarize ad creatives by advertiser, advertiser ID, creative ID, format, target domain, first/last shown, and links when available unless the user asks for raw JSON.
Example Prompts
中文
- "查 Google Ads Transparency Center 里 apple.com 的广告"
- "用 advertiser_id AR17828074650563772417 查询广告素材,region 2840"
- "继续翻上一页 Google Ads Transparency Center 结果,next_page_token 是 CgoAP7..."
- "查 YouTube 平台上 apple.com 的广告,保存原始 JSON"
English
- "Search Google Ads Transparency Center for ads from apple.com."
- "Look up ad creatives for advertiser_id AR17828074650563772417 in region 2840."
- "Fetch the next page of Google Ads Transparency Center results with this next_page_token."
- "Find ads for apple.com on YouTube and save the raw JSON."