# Changelog of Google Ads Transparency Center & Competitor Ad Scraper (`scrapebench/google-ads-transparency-center-scraper`) Actor

- **URL**: https://apify.com/scrapebench/google-ads-transparency-center-scraper/changelog.md
- **Full Actor documentation**: https://apify.com/scrapebench/google-ads-transparency-center-scraper.md

## Changelog

### 0.1.0 — 2026-09-07

First release (#154).

- Reads the Transparency Center's internal `SearchService/SearchCreatives` RPC, whose fields are
  numbered rather than named. The map was captured from the live page's own network traffic on
  2026-09-07 and re-verified against the RPC directly; it is documented in `ads.py`.
- Advertiser resolution three ways — domain, advertiser id, or a name run through
  `SearchSuggestions` — with `matched_by` on every row saying which was used.
- Region codes are 2000 + the ISO 3166-1 numeric code, verified across 48 countries. An
  unrecognised region is refused up front, because Google answers one with an empty list rather
  than an error and that reads as "this advertiser runs no ads there".
- Google publishes an advertiser's library size as a RANGE, not a count; both bounds are carried
  on every row so a capped run can be read against the source's own figure.
- Field 13 of the creative row is deliberately NOT returned: an integer between 5 and 1,737 that
  matches neither the image area nor its dimensions, and shipping it as "impressions" or "reach"
  would be inventing a claim.
