All notable changes to this Actor will be documented in this file. The format
is loosely Keep a Changelog , and we
follow Semantic Versioning once we hit 1.0.
[0.2.0] — 2026-05-15
Fixed
Crash on Apify platform when proxy was configured. The session_id
template used a hyphen (gat-{uuid}), which Apify's proxy validator
rejects (regex ^[\w._~]+$ allows only [A-Za-z0-9_.~]). Switched
to underscore (gat_{uuid}). Local apify run never tripped this
because Actor.create_proxy_configuration() returns None without
Apify proxy credentials — the bug only surfaced in cloud runs.
Added regression test (test_proxy_session_id_matches_apify_regex)
that scans _resolve_proxy_url source for session_id=... literals
and asserts they satisfy Apify's regex.
Dataset schema validation failure on the platform. Fields
format_type, first_shown_ts, last_shown_ts, impressions,
preview_image_url, preview_content_js_url were declared as
single-type ("integer" / "string") but the parser returns
None for them when the RPC omits the value. Widened to
["integer", "null"] / ["string", "null"]. Local apify run
skipped this check; only the cloud dataset client enforces the
schema strictly.
[0.1.0] — 2026-05-15
Added
Initial release. Scrape Google Ads Transparency Center by brand domain
or advertiser ID via direct RPC replay (curl-cffi, Firefox 147
TLS+H2 fingerprint).
Batch input: multiple searchDomains + advertiserIds in a single run.
Apify Proxy integration with session-locked URLs for cookie continuity.
51 region locale labels (display-only metadata — see Limitations in README).
Pay-per-event pricing: $0.005 actor start + $0.0012 per ad scraped.
Parser tested against 4 golden fixtures (still image, rich video,
minimal, malformed) plus opt-in live smoke tests.
Known limitations
Region is metadata, not a server-side filter. Empirically verified —
see scripts/recon/FINDINGS.md.
Video / rich creatives expose only a content.js URL; rendering the
actual frame is out of scope.
No keyword / political-ad-specific modes yet — track via Apify Store
listing if you want them.