Google Ad Scraper

Hämtar en konkurrents live Google Ads per domän via en Apify-aktör; behöver en Apify-token

av gooseworks-ai · gooseworks-ai/goose-skills

Fungerar med konfiguration ★ 6.4/10

Google Ad Scraper — Hämtar en konkurrents live Google Ads per domän via en Apify-aktör; behöver en Apify-token

Vad den gör

Wrappar en Python CLI som anropar Apify `burbn/google-ads-search`-aktören för att hämta annonserna en given domän för närvarande kör på Google, returnerar annonsörs-ID, kreativt ID, annonsformat, annonstext, destinations-URL och startdatum som JSON eller en tabell. Utlöses när du ber att skrapa eller slå upp en konkurrents Google Ads, undersöka deras annonsmaterial, eller analysera budskapet bakom deras sök- och displayannonser. Kräver en APIFY_API_TOKEN (eller en Gooseworks API-nyckel) och en betald Apify-körning per domän.

Testrapport

Hittade färdigheten på skills/ads/capabilities/google-ad-scraper/ (SKILL.md, scripts/search_google_ads.py, skill.meta.json alla HTTP 200) och körde skriptet lokalt: --help, missing-args och missing-token-sökvägar beter sig alla som dokumenterat, och format_summary renderades korrekt på en mock-dataset formad enligt det dokumenterade schemat. Jag kunde inte köra en verklig skrapning (behöver APIFY_API_TOKEN plus en betald Apify-aktörskörning), så outputMeasured är false; jag verifierade att baslinjealternativet verkligen är blockerat — curl av adstransparency.google.com returnerar ett 2.5 MB JS-paket där de enda "hubspot"-träffarna är den ekade query-parametern, noll kreativa. Två konkreta defekter hittades genom exekvering, inte bara läsning: stubbing av en framgångsrik annonsörsuppslagning visar att --company-flaggan aldrig kan fungera, eftersom resolve_advertiser_id returnerar {advertiser_id, advertiser_name, url} medan main() kräver result["domain"] och avslutas med 1 ("Could not resolve company name to domain"); och den rekommenderade --output summary-tabellen släpper variantContent, annonstextfältet som skicklighetens egen "messaging analysis" användningsfall beror på. Inga farliga mönster (ingen curl|sh, ingen base64, ingen hemlig exfiltrering, ingen injektionstext), även om API-token skickas som en ?token= URL-query-parameter och skickas till api.gooseworks.ai när GOOSEWORKS_API_KEY är inställd.

Testad: 2026-07-21 · Claude Code 2.x (agent harness)

Installation

git clone --depth 1 https://github.com/gooseworks-ai/goose-skills.git /tmp/google-ad-scraper-src
mkdir -p ~/.claude/skills
cp -R /tmp/google-ad-scraper-src/skills/ads/capabilities/google-ad-scraper ~/.claude/skills/google-ad-scraper
# pip3 install requests   # undeclared dependency, no requirements.txt in the skill
# export APIFY_API_TOKEN=apify_api_...   # or GOOSEWORKS_API_KEY=... to route via api.gooseworks.ai
# Run: python3 ~/.claude/skills/google-ad-scraper/scripts/search_google_ads.py \
#        --domain hubspot.com --max-ads 30 --output summary
# Note: SKILL.md's examples use skills/google-ad-scraper/scripts/... which matches neither the repo layout nor the install dir.

Kommandon och exempelprompter

  • /google-ad-scraperHämtar en konkurrents live Google Ads per domän via en Apify-aktör; behöver en Apify-token

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Scrape our competitor's Google Ads by domain
  • Show me what ad formats this competitor is running
  • Research competitor messaging from their Google ads