Google Ads Transparency Center (YouTube)

YouTube Ad Library API

Google ads that ran on YouTube, from Google's Ads Transparency Center. Ask with platform=youtube, add format=video for YouTube video ads.

Coverage
YouTube has no ad library of its own; its ads are in Google's Ads Transparency Center, which is global. platform=youtube is the same as platform=google&placement=youtube, and the ads keep google: ids. EU impressions and targeting exist for ads served in the EU and EEA.
Price
2 credits per ad. 2 credits per delivered ad, as on Google. A live search page costs at most 10 credits. Ads last shown more than 12 months ago cost double. Empty, cached and failed results are free.
Status
Same as Google: unknown with last_shown, or active when you search with status=active (served yesterday or today).

Find ads by

  • Advertiser name (advertiser=Nike)
  • Advertiser id (advertiser=google:AR…)
  • Domain (domain=nike.com)
  • Ad id (GET /v1/ads/google:AR…_CR…)
  • Our archive (source=history)

Filters

  • country: any ISO country
  • from / to: dates the ad was served
  • format=video: YouTube video ads only
  • status=active: served yesterday or today

What you get for each ad

The same fields as every other platform, in one schema. What YouTube publishes is filled in; what it does not stays null.

Ad and advertiser

id
google:AR…_CR…
advertiser.id, advertiser.name
The verified Google advertiser
first_shown, last_shown
First and last day served
placements
On the ad detail: all surfaces, youtube among them

Creative

creatives[].media
For video ads: url is the YouTube video, preview_url its thumbnail
creatives[].text, creatives[].headline
Where the ad preview shows them, on the ad detail
countries
On the ad detail: every country it was served in

Only for ads shown in the EU

Published under the Digital Services Act; see EU reach.

  • impressions_range and extra.by_country: impressions per EU country, with surfaces and served days
  • eu_data.targeting.other: targeting categories used or excluded
  • eu_data.payer and eu_data.beneficiary
  • On the ad detail (GET /v1/ads/{id}), not in search results

What YouTube does not publish

  • Spend and reach: Google publishes impressions ranges for EU ads only
  • An active flag: status is unknown unless you filter with status=active
  • Keyword search in the ad text

Try it

Nike's YouTube video ads served yesterday or today.

Media: Video ads come as a link to the YouTube video plus its thumbnail. Image ads are copied to media.adlibapi.com under stable URLs.

curl "https://api.adlibapi.com/v1/search?platform=youtube&domain=nike.com&format=video&status=active" \
  -H "X-API-Key: $ADLIB_API_KEY"

What to do with it

  • List a competitor's YouTube video ads and get the video links for review.
  • Get an alert when a brand starts a new YouTube campaign.
  • See how long each YouTube ad ran with derived.days_running.

Limits

  • No keyword search: start from an advertiser or a domain.
  • Pick one of platform=youtube, platform=play or placement per request.
  • A platform=youtube search runs only on Google, not across platforms.

Questions

Is there a YouTube ad library?
Not a separate one. YouTube ads are in Google's Ads Transparency Center with the advertiser's other Google ads. AdLib filters them with platform=youtube.
How do I see a competitor's YouTube ads?
Search with platform=youtube&domain=competitor.com&format=video. Each video ad links to the YouTube video, with first and last day served.
Can I see spend for YouTube ads?
No spend. Google publishes impressions ranges per EU country for ads served in the EU, on the ad detail.

Read more

Other platforms

Questions about YouTube data? [email protected]