Google Ads Transparency Center API avatar

Google Ads Transparency Center API

Pricing

from $0.50 / 1,000 ads

Go to Apify Store
Google Ads Transparency Center API

Google Ads Transparency Center API

Google Ads Transparency Center scraper: every Google ad of an advertiser, website or ad link, with image or video, ad text and landing page where shown, countries, dates, EU reach and targeting. Or list advertisers with ad counts. Filter by country, format, platform, dates; only new ads. No login.

Pricing

from $0.50 / 1,000 ads

Rating

0.0

(0)

Developer

DeepMine

DeepMine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

Google Ads Transparency scraper and API: type an advertiser name, a website, an advertiser ID or an ad link and get every Google ad they run, with the image or YouTube video, countries and dates, plus headline and ad text where Google shows them.

AdvertiserHeadlineAd TextFormatCountriesFirst ShownDays Shown
Nike, Inc.Shop Women's Running ShoesPut a spring in your step with latest Nike® runnin…TextUnited States2023-11-16900
Canva, Pty LtdInstall now | Canva - Photo Editor with AI - Free AI video generatorProduce more video content with Canva Pro. Remove…VideoAustralia2026-06-01122
Nike Retail BVNike NOCTA S.S.C. Cap CS - Black - Polyester - Size: L/XL–ImageSpain, Poland, United Kingdom +12021-10-251,801

$0.80 per 1,000 ads on Starter ($0.95 Free, $0.60 Scale, $0.50 Business); with ad details $1.30 per 1,000 ($1.45 Free, $1.10 Scale, $1.00 Business). The prefilled run (100 ads with details) costs about $0.13.

What you get

For each ad in the Google Ads Transparency Center:

  • Who: the verified advertiser, its ID and a link to all its ads.
  • The ad itself (with ad details, on by default): the headline, ad text and display URL of search ads, the picture of image ads, the product and photo of Shopping ads, and the YouTube link and thumbnail of video ads.
  • Where and when: the countries where it was shown, when it was first and last shown, and on how many days.
  • Reach and targeting in the EU (with ad details): for ads shown in the EU/EEA, Google publishes impressions per country and per platform (Search, YouTube, Shopping, Maps, Play) and which targeting the advertiser used; you get them as impressionsMin/impressionsMax, one regionStats line per country, and targeting. Outside the EU Google publishes only the last-shown date per country, which is in regionStats too.
  • Links: the ad's own page in the Transparency Center, and for display, video and app ads the landing page the ad leads to (clickUrl: a page of the site, an App Store or Google Play link). Google doesn't publish the landing page of Search text and Shopping ads, so it's empty there.
  • Advertisers instead of ads (Get: Advertisers): the advertiser accounts behind a name, a website or an ID, with country, whether Google verified them and how many ads each runs.

Use it to study competitors' Google ads, collect ad copy and creatives for inspiration, get alerted to a competitor's new ads (Only new ads on a schedule), see how many people an ad reached in the EU, check who advertises on your brand's domain, or find every advertiser in a niche.

How to use it

  1. Put advertisers or websites in Advertisers or websites, one per line. Each can be:
    • an advertiser name, as it shows in the Transparency Center (Nike, Canva): the run picks the advertiser account with the most ads by that name and logs the others (set Advertiser accounts per name under Advanced to get the ads of several);
    • a website domain or URL (nike.com): every ad that leads to that site, whoever runs it (a brand's resellers and agencies too);
    • an advertiser ID (AR16735076323512287233) or a link copied from adstransparency.google.com: an advertiser page, a website search or a single ad (its region, format, platform and date filters are used).
  2. Optionally pick a Country, and in Filters an ad format, a Google platform (Search, YouTube, Shopping, Maps, Play) or dates.
  3. Set Max ads per search and run. Rows come in Google's order (most recently shown first) and each has its rank.
  4. To track competitors, turn on Only new ads and schedule the run (daily, say): each run delivers only the ads earlier runs haven't, and skipped ads cost nothing. The first run delivers everything as the baseline.
  5. To find advertisers rather than ads, set Get to Advertisers: a name lists every advertiser Google finds for it (all of a brand's accounts, or all advertisers named "dentist"), a website lists the advertisers whose ads lead to it, and an ID or ad link gives that advertiser. Most ads first; Max ads per search caps the advertisers per search, and Only new ads skips advertisers earlier runs listed. Give an advertiser's ID back to the Actor to get its ads.

No login and no Google account: the Actor reads the same public pages you see in your browser.

Output

One row per ad. A sample row (text ad, with ad details):

{
"image": "https://tpc.googlesyndication.com/archive/simgad/12960423100325740031",
"advertiserName": "Nike Retail BV",
"headline": "Men's Nike ACG Shoes",
"description": "Shop Men's ACG Shoes.",
"descriptionSnippet": "Shop Men's ACG Shoes.",
"displayUrl": "nike.com",
"clickUrl": null,
"adUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201/creative/CR01931161727441829889?region=anywhere",
"videoUrl": null,
"format": "Text",
"category": null,
"regions": ["Spain", "United Kingdom", "France"],
"regionStats": [
"Spain: under 1,000 impressions (Search under 1,000), 2025-09-19 to 2026-09-30",
"United Kingdom: last shown 2026-09-30",
"France: under 1,000 impressions (Search under 1,000), 2025-12-21 to 2026-09-30"
],
"impressionsMin": 0,
"impressionsMax": 1000,
"targeting": ["Demographic info: included", "Geographic locations: included", "Contextual signals: included"],
"firstShownAt": "2025-09-19T14:02:31Z",
"lastShownAt": "2026-09-30T20:01:08Z",
"daysShown": 355,
"rank": 4,
"advertiserUrl": "https://adstransparency.google.com/advertiser/AR18378488041124659201?region=anywhere",
"detailsStatus": "OK",
"advertiserId": "AR18378488041124659201",
"creativeId": "CR01931161727441829889",
"searchInput": "nike.com",
"scrapedAt": "2026-09-30T20:27:10Z"
}

(The United Kingdom isn't in the EU/EEA, so Google publishes only its last-shown date. A Search text ad has no published landing page, so clickUrl is null.)

FieldWhat it is
imageThe ad's picture: the image of an image ad, the YouTube thumbnail of a video ad, the product photo of a Shopping ad, or Google's preview of a text ad.
advertiserNameThe verified advertiser that paid for the ad.
headlineWith ad details: the headline of a text ad, or the product title of a Shopping ad.
descriptionWith ad details: the ad text in full.
descriptionSnippetThe first 50 characters of the ad text.
displayUrlWith ad details: the website shown in the ad.
clickUrlWith ad details: the landing page of a display, video or app ad (a page of the site, an App Store or Google Play link); null for Search text and Shopping ads, whose landing page Google doesn't publish.
adUrlThe ad in the Google Ads Transparency Center.
videoUrlWith ad details: the video ad on YouTube.
formatText, Image or Video.
categoryWith ad details: the ad's category when Google names it (Furniture).
regionsWith ad details: the countries where the ad was shown.
regionStatsWith ad details: one line per country. EU/EEA: Germany: 45,000–50,000 impressions (Search 40,000–45,000; Shopping under 1,000; YouTube under 1,000), 2023-10-18 to 2026-09-30; elsewhere: United States: last shown 2026-09-01.
impressionsMin, impressionsMaxWith ad details: the ad's total EU/EEA impressions as Google's range (null for ads not shown there).
targetingWith ad details, EU/EEA ads: the targeting kinds used, e.g. Geographic locations: included and excluded, Contextual signals: included.
firstShownAt, lastShownAtWhen the ad was first and last shown (UTC). A recent last-shown time means it's still running.
daysShownOn how many days the ad was shown.
rankThe ad's place in its search, in Google's order.
advertiserUrlAll of the advertiser's ads in the Transparency Center.
detailsStatusWith ad details: OK; Failed (that row has no copy or countries and is charged as a plain ad); or Skipped (the run reached its timeout before reading them; also charged as a plain ad).
advertiserId, creativeIdGoogle's advertiser and ad IDs.
searchInputThe advertiser, website or link that found the ad.
scrapedAtWhen the run started (UTC).

The dataset has three views: 📊 Overview, 🎨 Creatives (picture, headline, full ad text, landing page, video) and 🇪🇺 EU Reach & Targeting (impressions, per-country lines, targeting). A run summary (OUTPUT in the key-value store) lists each search with Google's own ad count for it.

Advertisers mode puts one row per advertiser account in the 🏢 Advertisers dataset (the Ads dataset stays empty):

{
"advertiserName": "Nike, Inc.",
"country": "United States",
"verified": true,
"adsMin": 9000,
"adsMax": 10000,
"rank": 1,
"advertiserUrl": "https://adstransparency.google.com/advertiser/AR16735076323512287233?region=anywhere",
"advertiserId": "AR16735076323512287233",
"searchInput": "Nike",
"scrapedAt": "2026-09-30T21:10:04Z"
}

adsMin and adsMax are Google's count of the advertiser's ads, which it rounds to a range for big advertisers; country is where the advertiser's account is billed; an advertiser found by two of your searches is listed once, under the first.

Good to know:

  • Ad details always add the countries where the ad was shown. The words come only where Google keeps the ad as text: some text ads exist in the Transparency Center only as a picture of the ad, and those rows have the picture and no headline or text. Dynamic search ads have no fixed headline (Google writes it from the landing page), so headline is empty for them.
  • Image links (tpc.googlesyndication.com, i.ytimg.com) are stable. Shopping photos (encrypted-tbn*.gstatic.com) are Google's thumbnails.
  • An ad found by two of your searches is delivered once, under the first.

Pricing

Pay per ad (per advertiser in Advertisers mode); no monthly fee and no minimum.

Per 1,000FreeStarterScaleBusiness
Ad$0.95$0.80$0.60$0.50
Ad with details$1.45$1.30$1.10$1.00
Advertiser (Advertisers mode)$0.50$0.50$0.50$0.50

Ad details are on by default; turn them off for a cheaper, faster list of ads (advertiser, format, dates and a preview picture). Set a maximum cost per run in the run options and the Actor stops at or before it.

Speed

About 30 seconds per 1,000 ads without details, and about 7 minutes per 1,000 with details (each ad's details are one lookup plus its preview). A run stops 2 minutes before its timeout and keeps every ad it found, so the default 1-hour timeout fits about 8,000 ads with details; raise the timeout in the run options for more.

Google limits requests per IP; the Actor spreads them over Apify datacenter proxies and switches to residential proxies by itself when Google refuses datacenter IPs. If Google refuses a search on every IP tried, or gives no ads even for a big advertiser it checks against, the run fails with a clear message instead of returning an empty result.

Feedback

Found a problem or missing a field? Open an issue in the Issues tab and we'll look at it within 48 hours. If the data helped you, a short review on the Store helps others find it.