Skip to content

Latest commit

 

History

History
79 lines (60 loc) · 2.21 KB

File metadata and controls

79 lines (60 loc) · 2.21 KB

Python (apify-client) — Google Ads Transparency Center Scraper

Call the Google Ads Transparency Center Scraper from Python with the official apify-client.

Install

pip install apify-client

Run and read the ads

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("logiover/google-ads-transparency-scraper").call(run_input={
    "mode": "domain",
    "domains": ["nike.com", "adidas.com", "puma.com"],
    "regions": ["US", "DE"],
    "creativeFormats": ["IMAGE", "VIDEO"],
    "maxAds": 300,
    "enrichDetails": True,
})

items = client.dataset(run["defaultDatasetId"]).list_items().items
print(f"Fetched {len(items)} ads")

for ad in items:
    print(f'{ad["advertiserName"]} · {ad["format"]}/{ad["surface"]} · '
          f'{ad.get("firstShown")}{ad.get("lastShown")}')
    print(f'  creative: {ad.get("previewUrl")}')

Load ads into a pandas DataFrame

import pandas as pd
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")

run = client.actor("logiover/google-ads-transparency-scraper").call(run_input={
    "mode": "advertiser-name",
    "advertiserNames": ["Spotify", "Netflix"],
    "regions": ["GB"],
    "maxAds": 200,
})

items = client.dataset(run["defaultDatasetId"]).list_items().items
df = pd.DataFrame(items)
print(df[["advertiserName", "format", "surface", "firstShown", "lastShown"]].head())
df.to_csv("competitor_ads.csv", index=False)

Download competitor creative images

import requests
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("logiover/google-ads-transparency-scraper").call(run_input={
    "mode": "domain",
    "domains": ["nike.com"],
    "creativeFormats": ["IMAGE"],
    "maxAds": 50,
})

for ad in client.dataset(run["defaultDatasetId"]).iterate_items():
    if ad.get("imageUrl"):
        img = requests.get(ad["imageUrl"]).content
        with open(f'swipe-{ad["adId"]}.png', "wb") as f:
            f.write(img)

📄 Documentation only. ▶️ Run it: https://apify.com/logiover/google-ads-transparency-scraper