First build, not yet published.
The input takes advertiser names, advertiser IDs, domains and Ads Transparency Center URLs (up to 100 per run, at most 1,000 lines), plus region, date range (absolute or relative), format, platform, max ads per advertiser (1-5,000), optional ad details, Apify Proxy and concurrency 1-3. The output is one row per ad (advertiser, creative ID, format, first/last shown, days shown, landing domain, image or preview URL, text-ad copy when Google puts it in the preview URL, link to the ad page). With details on, rows add regions with per-region dates and impression ranges, platforms and creative variations.
- The run report (OUTPUT) has one entry per input line with the resolved advertiser, ads saved, Google's estimate,
sameNameAlternatives and otherSuggestions for names, and errors.
- Pay per event, with
ad at $0.0012 and ad-detail at $0.002. Not-found or failed advertisers, duplicates, filtered ads and failed detail lookups aren't charged. The Actor is budget-aware and stops before a row it can't pay for in full.
- Retries use exponential backoff and jitter. Block detection (429/403/captcha redirect) rotates the proxy session, and there's a shared rate limit, a 30 s request timeout, a stop before the run timeout, and restart safety (no double saves or charges). Google's date filter covers about the last 12 months, so a range ending earlier is rejected with an explanation and a range starting earlier gets a warning.
- Verified live on 2026-11-05 (local, direct connection) with the default input, a mixed name/domain/unknown input with details, and format, platform and date filters. Parsers were checked on 5 recorded live responses. It hasn't run on the Apify platform yet.
Review fixes before release. An Ads Transparency Center ad URL (/creative/CR...) saves only that ad, and one unreadable input line no longer fails the run. Name matching also ignores accents, apostrophes, hyphens, &/and and a leading "The". nike.com:443 and Unicode domains are read as domains, relative dates are capped at 10 years, block breakers cover detail lookups and advertisers, and HTML and log scrubbing run in linear time.
Review round 2 fixes. An ad URL is looked for in at most 10 result pages (400 ads) and at most 100 such unbilled pages per run. The detail and advertiser breakers also trip on server errors, network errors and timeouts. Input is capped at 1,000 lines, with invalid lines summarized (invalidLines). The store text says "up to 5,000 per input line" instead of "every ad", and a line stopped by the budget says so in the run report.